createFault的faultCode参数传递为NULL

时间:2014-10-27 14:46:57

标签: java jax-ws wsimport

我使用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>

1 个答案:

答案 0 :(得分:0)

问题已解决

这是因为合同不匹配,这意味着Web服务发送的响应XML与WSDL创建的合同不匹配。

为了解决这个问题,请检查您收到的响应XML是否与Java代码创建的契约的名称空间相同,并且响应XML元素是否与Java代码中的属性匹配。