最近一直在做web Service的调试,发现在我本地系统调用服务端那边的doCommand方法老是报下面的错误, Caused by: javax.xml.bind.UnmarshalException: 意外的元素 (uri:"", local:"OContent")。所需元素为{}
最近一直在做web Service的调试,发现在我本地系统 调用服务端那边的doCommand方法老是报下面的错误,
Caused by: javax.xml.bind.UnmarshalException: 意外的元素 (uri:"", local:"OContent")。所需元素为<{}return>。
但是我又没调用 Unmarshal 解析xml这个方法,我把自己的wsdl文件贴出来
<wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://hxgroup.cn" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://hxgroup.cn" name="MDMService"> <wsdl:types> <xsd:schema targetNamespace="http://hxgroup.cn"> <xsd:element name="DoCommand"> <xsd:complexType> <xsd:sequence> <xsd:element name="FileFormat" type="xsd:string"/> <xsd:element name="IsSync" type="xsd:string"/> <xsd:element name="IContent" type="xsd:string"/> <xsd:element name="ITimeout" type="xsd:int"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="DoCommandResponse"> <xsd:complexType> <xsd:sequence> <xsd:element name="OContent" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:element>
查了很多资料都没找到解决方案,后来我把上面的wsdl文件中的OContent 改为return,然后重新生成下代码,居然好了。 不知道是啥原因,只是按报错信息的字面意思去改。先写到这,有进一步发现再说明