使用cxf工具自动生成

来源:互联网 发布:233什么意思网络用语 编辑:程序博客网 时间:2024/05/17 09:48

客户端client


public class Client {


public static void main(String[] args) {
HelloWorldService service = new HelloWorldService();
HelloWorld helloWorld = service.getHelloWorldPort();
System.out.println(helloWorld.say("001"));

User user = new User();
user.setUsername("java");
user.setPassword("123456");

  List<Role> list= helloWorld.getRoleByUser(user);
  for(Role role :list){
  System.out.println(role.getId()+" "+role.getRolename());
  }
}


}

服务器端



@WebService
public interface HelloWorld {
public String say(String str);
public List<Role> getRoleByUser(User user);
}


@WebService
public class HelloWorldImpl implements HelloWorld {


public String say(String str) {
return "你好!"+str;
}


public List<Role> getRoleByUser(User user) {
List<Role> roleList=new ArrayList<Role>();
// 模拟  直接写死
if(user!=null){
if(user.getUsername().equals("java") && user.getPassword().equals("123456")){
roleList.add(new Role(1,"技术总监"));
roleList.add(new Role(2,"架构师"));
}else if(user.getUsername().equals("jack") && user.getPassword().equals("123456")){
roleList.add(new Role(3,"程序员"));
}
return roleList;
}else{
return null;
}
}


}



发布暴露地址


public class Server {


public static void main(String[] args) {
System.out.println("web service 启动...");
String address = "http://192.168.1.102/helloworld";
//Endpoint.publish(address, new HelloWorldImpl());  // jdk实现 暴露webservice接口

JaxWsServerFactoryBean factoryBean=new JaxWsServerFactoryBean();
factoryBean.setAddress(address); // 设置暴露地址
factoryBean.setServiceClass(HelloWorld.class); // 接口类
factoryBean.setServiceBean(new HelloWorldImpl()); // 设置实现类
factoryBean.create(); // 创建webservice接口


System.out.println("web service started");

// http://192.168.1.102/helloworld?wsdl
}


}

0 0