- 搭建目录结构
- 编写创建服务接口
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
@WebService(name = "Login",
serviceName = "MyService",
targetNamespace = "http://com.jhb.webService"
)
public interface MyService {
@WebMethod(operationName = "authorization")
String authorization(@WebParam(name = "userId") String userId,
@WebParam(name = "password") String password);
@WebMethod(operationName = "authorization1")
String authorization1(@WebParam(name = "userId") String userId);
}
- 实现服务接口
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
@WebService(endpointInterface = "com.jhb.webService.MyService",
name = "Login",
serviceName = "MyService",
targetNamespace = "http://com.jhb.webService"
)
public class MyServiceImpl implements MyService {
@WebMethod(operationName = "authorization"
)
@Override
public String authorization(@WebParam(name = "userId") String userId,
@WebParam(name = "password") String password) {
if ("admin".equals(userId) && "123456".equals(password)) {
return "success";
}
return "error";
}
@Override
public String authorization1(@WebParam(name = "userId") String userId) {
return null;
}
}
- 运行main方法发布服务,看到控制台打印出 :发布服务成功
- 在浏览器上输入地址查看服务接口
- 编写原生客户端
import javax.xml.namespace.QName;
import javax.xml.ws.Service;
import java.net.URL;
public class WsClient {
public static void main(String[] args) throws Exception {
URL url = new URL("http://localhost:8089/myservice?wsdl");
QName qName = new QName("http://com.jhb.webService", "MyService");
Service service = Service.create(url, qName);
MyService myServer = service.getPort(new QName("http://com.jhb.webService",
"LoginPort"), MyService.class);
String result = myServer.authorization("admin", "123456");
System.out.println(result);
}
}
- 运行客户端main方法 返回 success 表示调用成功