因项目需要,将之前使用过的webservice重新捡了起来,并且这次选择了使用不需要jar包的Java原生Jaxws。首先是wsimport的用法,先分享我的用法:cmd下先转到工程所在路径,然后运行以下命令
wsimport -keep -extension -s ./src -p com.jaxws.test http://192.168.1.1:8080/service?wsdl
在com.jaxws.test的包下就能找到自动生成的各种客户端相关辅助类。这些类怎么用就不细说了,网上很多资料。然后就是自己编写调用类(我这里只是一个方法,会被调用到就行)
public String jaxws(Object[] opArgs)
{
ServicesService service=new ServicesService();
//向SOAP添加表头
service.setHandlerResolver(new HandlerResolver(){
public List getHandlerChain(PortInfo portInfo) {
List handlerList = new ArrayList();
//添加认证信息
handlerList.add(new ClientHandler());
return handlerList;
}
});
String result =service.getServicesPort().getResults(opArgs.toString());
//得到结果
System.out.println(result);
return result;
<