Как обращаться с ответом на сообщение SOAP, как показано ниже?Тело ответа SOAP имеет простой текст без каких-либо узлов
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" xmlns:new="http://foo/bar"> <S:Header/> <S:Body>OK</S:Body> </S:Envelope>
вот мои определения в WSDL:
<wsdl:operation name="MyRequest">
<wsdl:input message="tns:MyRequest" name="MyRequest">
</wsdl:input>
<wsdl:output message="tns:MyRequestResponse" name="MyRequestResponse">
</wsdl:output>
</wsdl:operation>
<xs:element name="MyRequestResponse" type="xs:string"/>
Услуги:
@WebMethod(operationName = "MyRequest")
@WebResult(name = "MyRequestResponse", targetNamespace = "http://foo/bar", partName = "parameters")
@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
public String MyRequest(
@WebParam(name = "MyRequest", targetNamespace = "http://foo/bar", partName = "parameters")
MyRequest parameters);
Я пытался использовать перехватчик и обернуть ответ 'OK' с узлами. Но, интересно, есть ли более чистый способ сделать это, обратившись к самому слою JAXB/WSDL.
Вы пытаетесь произвести или использовать ответ OK? – approxiblue
Я пытаюсь уничтожить его у Mule ESB. – HanuAthena
Этот ответ SOAP ** не действителен ** в соответствии с вашим WSDL. Вы должны иметь что-то вроде: <новый: MyRequestResponse XMLNS: новый = "HTTP: // Foo/бар"> OK новый: MyRequestResponse> \t ли вы на самом деле использовать реализацию JAX-WS для создания этого ответа? –
cdan