今天在使用axis2调用一个Axis1的webservice时出现了一个如下类型的数据
<wsdl:types>
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="xxxxxxx">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
<complexType name="ArrayOf_xsd_string">
<complexContent>
<restriction base="soapenc:Array">
<attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:string[]"/>
</restriction>
</complexContent>
</complexType>
</schema>
</wsdl:types>
这个类型的数据在,服务端也就是一个string数组,在客户端写的调用代码自然而然的想到也是映射成一个string数组,调用时出现:
Found character data inside an array element while deserializing
在网上搜索了半天,无果,也没有找到解决办法。关键时刻还是要靠自己。
在使用eclipse里面的web Service Explorer调用时看到请求的SOAP信息如下:
<phone q0:arrayType="xsd:string[1]" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="q0:Array">
<string xsi:type="xsd:string">1592523xxxx</string>
</phone>
在使用HttpAnalyzer监控java代码的调时发现传递的这样的信息:
<item0 xmlns="">1592823xxxx</item0>
<item0 xmlns="">1338333xxxx</item0>
感觉这个不像是数组,所以我就将java代码中,原先的一维数组变成二维数组试一下
String[] phones = {"1592823xxxx","1338333xxxx"};
String[][] phones = {{"15925232137","1837393xxxx"}};
重新调用测试,发现调用成功
分享到:
相关推荐
axis2客户端调用axis1服务接口 调用方式 使用RPC方式调用WebService,为了防止冲突可以增加 // 与weblogic的lib冲突配置 System.setProperty("javax.xml.stream.XMLInputFactory", ...
axis2客户端调用服务端,带用户身份认证
axis2客户端,调用带ntlm认证的web service的代码例子和所需jar和java
AXIS2客户端调用实例 AXIS2客户端调用实例 AXIS2客户端调用实例 AXIS2客户端调用实例
axis2客户端调用工程代码
axis2客户端调用webService接口需要用的jar包,在一次调接口中遇到的问题,亲测可用(整理成了比较精简的jar包)
之前webservice客户端调用,使用RPC客戶端接口调用方法,但发现此种调用方式针对携参方式并不适用。最后经过多种方式测试选择了OMFactory......调用。经测试好用
Axis客户端调用代码,使用WSDL2JAVA生成的客户端,可以直接进行调用
用AXIS2作为客户端调用webService的demo:本人亲测可用,eclipse工程java项目包含完整代码和完整jar包, 只要用eclipse导入项目即可,运行控制台显示success或者false字符串,说明OK。
cxf客户端调用axis服务端流程
java axis客户端调用webservice,可应用于ofbiz框架。 解决网络上共享代码两次调用后会出现timeout的BUG
用AXIS2作为客户端调用webService的demo:亲测可用,eclipse工程java项目包含完整代码和完整jar包, 只要用eclipse导入项目即可,运行控制台显示success或者false字符串,说明OK。
一个简单的axis2客户端调用WebService的代码,分辨调用了一个部署在axis2上的java WebService和IIS6上部署的.NET WebService,用了OM方式和Object[]方式,可供初学axis2的同学参考
使用axis2生成客户端,调用服务端,测试服务端的接口所需要的最少的jar包。
cxf_axis_xfire客户端调用的几种方法[收集].pdf
Axis2_Codegen_Wizard_1.4.0( eclipse中Webservice客户端生成插件), 方便各位需要调用Webservice,生成客户端程序的同学
NULL 博文链接:https://fireflylover.iteye.com/blog/1211393
本方法是用axis1.4技术,实现java客户端调用webservice。已经可实现过可行的,如果不行可加我QQ号302633进行详细解析。
axis2客户端需要的jar包总结,包含axis2客户端搭建需要的全部jar包。