首页 > 代码库 > Java cxf 调用.net编写的webservice接口

Java cxf 调用.net编写的webservice接口

新到的公司第一份工作就是在java环境下调用前人编写的.net程序编写的webservice接口

接口返回的是JSON格式的数据

因为都说webservice跨语言,本来以为是个简单粗暴的工作,结果发现不是那么回事,.net生成的wsdl文件格式一些标签是java环境下不认识的,需要重新编辑下wsdl文件才行

首先,解压下载的CXF最新版的压缩包,DOS窗口下到bin目录,然后执行

wsdl2java -p ws http://192.168.1.137:8007/CIS_Server.asmx?wsdl

发现报错 WSDLToJava Error: Thrown by JAXB: undefined element declaration ‘s:schema‘

原因是java解析WSDL不认识<s:element ref="s:schema" /><s:any />

解决方法是将在浏览器上打开http://192.168.1.137:8007/CIS_Server.asmx?wsdl

然后ctrl+s保存到本地,将本地的wsdl中的<s:element ref="s:schema" /><s:any /> 替换成 <s:any minOccurs="2" maxOccurs="2"/>

执行wsdl2java指向的是本地保存的wsdl文件,即可生成对应的程序文件

Java cxf 调用.net编写的webservice接口