Я написал сервер для связи веб-службы SAOP, который возвращает этот ответ моему клиенту:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header>
<ns3:responseInfo xmlns:ns3="http:/xxxxxxxxxxxxxxxx/wsdl/message/">
<externalSessionId>?</externalSessionId>
<externalReferenceNumber>?</externalReferenceNumber>
<referenceNumber>12hslkhmku</referenceNumber>
<executionTime>PT0.066S</executionTime>
</ns3:responseInfo>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>SOAP-ENV:Client</faultcode>
<faultstring>EchoFault</faultstring>
<detail>
<echoFault xmlns="http://xxxxxxxxxxxxxxxx/wsdl/message/"/>
</detail>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
вот мой клиентский порт:
@WebMethod(operationName = "Echo", action = "http://xxxxxxxxxxx/soap/service/Echo")
@WebResult(name = "echoResponse", targetNamespace = "http://xxxxxxxxxxx/wsdl/message/", partName = "echoResponse")
public EchoResponse echo(
@WebParam(name = "echoRequest", targetNamespace = "http://xxxxxxxxxxx/wsdl/message/", partName = "echoRequest")
EchoRequest echoRequest,
@WebParam(name = "requestInfo", targetNamespace = "http://xxxxxxxxxxx/wsdl/message/", header = true, partName = "requestInfoPart")
RequestInfo requestInfoPart,
@WebParam(name = "responseInfo", targetNamespace = "http://xxxxxxxxxxx/wsdl/message/", header = true, mode = WebParam.Mode.OUT, partName = "responseInfoPart")
Holder<ResponseInfo> responseInfoPart)
throws EchoFault_Exception
;
В этом случае возвращается responseInfoPartкак ноль.Если ответ не является ошибкой, то responseInfoPart заполняется.Можете ли вы помочь мне понять, почему в случае сбоя заголовок не отображается?