新到的公司第一份工作就是在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文件,即可生成对应的程序文件
时间: 2024-09-29 01:08:11