一.新建server的maven项目
2. pox.xml文件添加jar包
<dependencies>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-core</artifactId>
<version>3.1.5</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>3.1.5</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http-jetty</artifactId>
<version>3.1.5</version>
</dependency>
</dependencies>
3. 主方法: 然后启动服务
package com.java1234.webservice.impl;
import javax.xml.ws.Endpoint;
import org.apache.cxf.jaxws.JaxWsServerFactoryBean;
import com.java1234.webservice.HelloWorld;
public class Server {
public static void main(String[] args) {
System.out.println("web service start");
HelloWorld implementor=new HelloWorldImpl();
String address="http://192.168.244.1/helloWorld";
// Endpoint.publish(address, implementor); // jdk实现 暴露webservice接口
JaxWsServerFactoryBean factoryBean=new JaxWsServerFactoryBean();
factoryBean.setAddress(address); // 设置暴露地址
factoryBean.setServiceClass(HelloWorld.class); // 接口类
factoryBean.setServiceBean(implementor); // 设置实现类
factoryBean.create(); // 创建webservice接口
System.out.println("web service started");
}
}
二.新建ws_Client
2. 下载文件 apache-cxf-3.1.5.zip,并且解压
新建一个文件夹:
运行命令如下:
F:\apache-cxf-3.1.5\bin\wsdl2java http://192.168.244.1/helloWorld?wsdl
会生成树结构文件: 如下
3.编写client.java
package com.java1234.webservice;
import java.util.List;
public class Client {
public static void main(String[] args) {
HelloWorldService service=new HelloWorldService();
HelloWorld helloWorld=service.getHelloWorldPort();
System.out.println(helloWorld.say("java1234_小峰"));
User user=new User();
user.setUserName("java1234");
user.setPassword("123456");
List<Role> roleList=helloWorld.getRoleByUser(user);
for(Role role:roleList){
System.out.println(role.getId()+","+role.getRoleName());
}
}
}
程序运行结果:
Hello:java1234_小峰 1,技术总监 2,架构师 |