我使用WSImport工具生成了WSDL代理。
现在,当我使用生成的端口调用webservice方法时,我得到以下异常。
java.lang.IllegalArgumentException: faultCode argument for createFault was passed NULL
有没有人注意到这个例外,因为我无法在SO上找到任何其他问题。
SOAP响应
<soapenv:Fault>
<soapenv:faultcode>soap:Client</soapenv:faultcode>
<soapenv:faultstring>Given name with Parent ID is existing.Hence same cant be used again - Trans : TransName</soapenv:faultstring>
<soapenv:detail>
<NS1:Error xmlns:NS1="http://com.example.com/schemas/XYZ_error">
<Error_type_code>11</Error_type_code>
<Error_Type>Database Error</Error_Type>
<Error_code/>
<Error_text>Given name with Parent ID is existing.Hence same cant be used again</Error_text>
<Backend_applid/>
<Payload><![CDATA[]]></Payload>
</NS1:Error>
</soapenv:detail>
</soapenv:Fault>
答案 0 :(得分:0)
问题已解决
这是因为合同不匹配,这意味着Web服务发送的响应XML与WSDL创建的合同不匹配。
为了解决这个问题,请检查您收到的响应XML是否与Java代码创建的契约的名称空间相同,并且响应XML元素是否与Java代码中的属性匹配。