刚知道自己要对接个webservice的接口 各种查资料 最终定了一个适合的
1. 根据甲方提供的接口地址 查看了一下xml格式
重点看以下节点: targetNamespace wsdl:service name="IntegratedWebServiceService" 这里代表你要调用的方法在哪个接口下
地址:http://ip地址/sys/webservice/flowWebService?wsdl
2. 由于之前百度的各种远程调用webservice的方法,有很多 基本都试了一下 还是感觉最后一种最方便
根据命令解析webservice地址 生成对应的java类到本地 然后拷贝到项目中
解析命令: Wsimport -d 本地地址 -keep -verbose http://ip地址/sys/webservice/sysSynchroGetOrgWebService?wsdl
对应解析出一堆java类 只需要拷贝对应的接口类到项目中即可 如果不知道需要哪些类 可以全部拷贝到项目中 等接通接口后在把不需要的类删除掉
3. 调用webservice接口
webserviceUrl: 调用的webservice地址
QName参数:wsdl文档中的targetNamespace的值,wsdl文档中服务名称也就是wsdl:service name="IntegratedWebServiceService"的值
代码如下:
String webserviceUrl = PropertiesFileUtil.getInstance("config").get("oa.webservice.url"); URL url = new URL(webserviceUrl); //创建服务名称 QName qname = new QName("http://interfaces.lbpmdocking.sys.kmss.landray.com/", "IntegratedWebServiceService"); //创建服务视图 javax.xml.ws.Service service = javax.xml.ws.Service.create(url, qname); // 获取service类 IntegratedWebService integratedWebServiceService = service.getPort(IntegratedWebService.class); // 调用方法 integratedWebServiceService.createProcess(flowTemplateId, formId, creator, exParam, "");
到此 webservice接口就对接完成
欢迎其他小伙伴一起来讨论研究问题 或者有更好的方法可以私信我