Hallo.
Ich verwende einen Websphere 8.5 und einen Java-Soap-Webservice.
Der Webservice hat mehrere Schnittstellen.
Nun brauche ich bei jeder Schnittstelle den Request, welcher am Webservice ankommt.
Der Request sieht ungefaehr so aus
[CODE lang="java" title="Request"]<soap:envelope>
<soap:header/>
<soap:body>
<c1>
</c1>
<c2>
</c2>
<c3>
</c3>
</soap:body>
</soap:envelope>[/CODE]
.
Die Schnittstelle sieht ungefaehr so aus
[CODE lang="java" title="Schnittstellenbeispiel"]public void method(Class1 c1, Class2 c2, Class3 c2)[/CODE]
.
Dazu hatte ich folgenden Code geschrieben.
[CODE lang="java" title="Code zum Abfangen des Requests"]SOAPMessageContext jaxwsContext = (SOAPMessageContext)wsContext.getMessageContext();
jaxwsContext.getMessage();[/CODE]
. Leider liefert dieser immer den Fehler.
[CODE lang="java" title="Exception bei getMessage()"]javax.xml.ws.WebServiceException: An internal error occurred. The org.apache.axis2.jaxws.message.databinding.impl.JAXBBlockImpl block object is already consumed. Processing cannot continue. Run with the debug option to determine where the block was first consumed.[/CODE]
.
Wie implementiere ich es richtig?
Ich verwende einen Websphere 8.5 und einen Java-Soap-Webservice.
Der Webservice hat mehrere Schnittstellen.
Nun brauche ich bei jeder Schnittstelle den Request, welcher am Webservice ankommt.
Der Request sieht ungefaehr so aus
[CODE lang="java" title="Request"]<soap:envelope>
<soap:header/>
<soap:body>
<c1>
</c1>
<c2>
</c2>
<c3>
</c3>
</soap:body>
</soap:envelope>[/CODE]
.
Die Schnittstelle sieht ungefaehr so aus
[CODE lang="java" title="Schnittstellenbeispiel"]public void method(Class1 c1, Class2 c2, Class3 c2)[/CODE]
.
Dazu hatte ich folgenden Code geschrieben.
[CODE lang="java" title="Code zum Abfangen des Requests"]SOAPMessageContext jaxwsContext = (SOAPMessageContext)wsContext.getMessageContext();
jaxwsContext.getMessage();[/CODE]
. Leider liefert dieser immer den Fehler.
[CODE lang="java" title="Exception bei getMessage()"]javax.xml.ws.WebServiceException: An internal error occurred. The org.apache.axis2.jaxws.message.databinding.impl.JAXBBlockImpl block object is already consumed. Processing cannot continue. Run with the debug option to determine where the block was first consumed.[/CODE]
.
Wie implementiere ich es richtig?