一、创建提供远程服务
1.UserService提供对应服务的接口
package com.facai.service;
import javax.jws.WebService;
/*
* 需要发布的服务对应的接口
* @WebService发布远程的web服务,默认情况下此接口的所有public方法都会被发布
*/
@WebService
public interface UserService {
public String sayHello(String name);
}
UserServiceImpl
package com.facai.service.impl;
import javax.jws.WebService;
import com.facai.service.UserService;
@WebService
public class UserServiceImpl implements UserService {
@Override
public String sayHello(String name) {
// TODO Auto-generated method stub
return "hello"+ name;
}
}
WebProviderApp远程服务发布类
package com.facai.app;
import javax.xml.ws.Endpoint;
import com.facai.service.UserService;
import com.facai.service.impl.UserServiceImpl;
public class WsProviderApp {
public static void main(String[] args) {
/*
* 完成web远程服务的发布
*/
//发布服务的地址
String address="http://localhost:999/ws";
UserService userService=new UserServiceImpl();
//发布具体的webService服务
Endpoint.publish(address,userService);
System.out.println("=======发布webService服务=======");
}
}
二、创建远程服务接收
cmd输入:
在这里插入代码片
接受服务
package com.facai.app;
import com.facai.client.UserService;
import com.facai.client.UserServiceImpl;
import com.facai.client.UserServiceImplService;
public class WsConsumerApp {
public static void main(String[] args) {
/*
* 完成webService远程服务的消费
*/
//创建服务类对象
UserServiceImplService service=new UserServiceImplService();
//获取远程服务的代理对象
UserServiceImpl userService=service.getUserServiceImplPort();
System.out.println(userService.getClass().getName());
//调用远程对象方法
System.out.println(userService.sayHello("张三"));
}
}
三、使用API
@WebService发布远程的web服务,默认情况下此接口的所有public方法都会被发布