Я получаю следующее сообщение об ошибке:JAXBWrapperException: объект JAXB не имеет свойство XXXX XML
[8/13/13 12:36:14:261 CAT] 00000024 SystemOut O /com/acme/integration/Verify Error calling VerifyService
javax.xml.ws.WebServiceException: org.apache.axis2.jaxws.wrapper.impl.JAXBWrapperException: An internal assertion error occurred. The com.acme.services.VerifyFault JAXB object does not have a VerifyResult xml property.
at org.apache.axis2.jaxws.wrapper.impl.JAXBWrapperToolImpl.unWrap(JAXBWrapperToolImpl.java:84)
at org.apache.axis2.jaxws.marshaller.impl.alt.DocLitWrappedMethodMarshaller.demarshalResponse(DocLitWrappedMethodMarshaller.java:144)
at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.createResponse(JAXWSProxyHandler.java:440)
at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invokeSEIMethod(JAXWSProxyHandler.java:351)
at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invoke(JAXWSProxyHandler.java:159)
at $Proxy46.verify(Unknown Source)
A (вырублены) экстракт из WSDL:
<xsd:element name="verify">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="1" name="Type" type="xsd:int" />
<xsd:element minOccurs="1" name="Number" nillable="true" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="verifyResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" name="VerifyResult" type="xsd:int" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="verify_fault">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" name="Code" nillable="true" type="xsd:string" />
<xsd:element minOccurs="0" name="Message" nillable="true" type="xsd:string" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
Ответ я получаю от услуг (в SoapUI), что приводит к ошибке:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<NS1:verify_fault xmlns:NS1="http://www.acme.com">
<Code>RecordNotFound</Code>
<Message>No Records Found.</Message>
</NS1:verify_fault>
</soapenv:Body>
</soapenv:Envelope>
Любая помощь в понимании того, почему я получаю JAXBWrapperException
, когда, логически, не должно быть узла VerifyResult
в ответе будет оценено.
Я попытался переименовать различные элементы, используя файл привязок, поскольку я полагал, что ошибка связана с проблемой, зарегистрированной here, но это оказалось не связанным.