Hi everyone,
I'm looking for some help with an axis web service that I invoke using a JAX-WS client. The client uses a wsdl - see the attached file "consult2.wsdl". I Generated the client top-down from the wsdl file. BAsically there is the operation defined in the wsdl file (I have attached the whole wsdl):
[i]
<wsdl:operation name="processEnvelope">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="processEnvelopeRequest">
<wsdlsoap:body encodingStyle="
http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:publicid:-:DGTAXUD:EOS:EORI:WEBSERVICE:1.0" use="encoded"/>
</wsdl:input>
<wsdl:output name="processEnvelopeResponse">
<wsdlsoap:body encodingStyle="
http://schemas.xmlsoap.org/soap/encoding/" namespace="urn:publicid:-:DGTAXUD:EOS:EORI:WEBSERVICE:1.0" use="encoded"/>
</wsdl:output>
</wsdl:operation>[/i]
The generated classes consist of the client:
[i]@WebServiceClient(name = "WSMessageHandlerService", targetNamespace = "urn:publicid:-:DGTAXUD:EOS:EORI:WEBSERVICE:1.0", wsdlLocation = "wsdl/EORI.wsdl")
public class WSMessageHandlerService extends Service {
private final static URL WSMESSAGEHANDLERSERVICE_WSDL_LOCATION;
static{//............... WSMESSAGEHANDLERSERVICE_WSDL_LOCATION is instantiated here}
/**
* Constructor
*
* @param wsdlLocation
* the location of the WSDL
* @param serviceName
* The name of the service
*/
public WSMessageHandlerService(URL wsdlLocation, QName serviceName) {
super(wsdlLocation, serviceName);
}
/**
* default constructor
*/
public WSMessageHandlerService() {
super(WSMESSAGEHANDLERSERVICE_WSDL_LOCATION, new QName(
"urn:publicid:-:DGTAXUD:EOS:EORI:WEBSERVICE:1.0",
"WSMessageHandlerService"));
}
/**
*
* @return returns WSMessageHandler Instance of the web service endpoint
*/
@WebEndpoint(name = "consult")
public WSMessageHandler getConsult() {
return super.getPort(new QName(
"urn:publicid:-:DGTAXUD:EOS:EORI:WEBSERVICE:1.0", "consult"),
WSMessageHandler.class);
}
}[/i]
And also the interface declaring the web service and its method:
[i]@WebService(name = "WSMessageHandler", targetNamespace = "urn:publicid:-:DGTAXUD:EOS:EORI:WEBSERVICE:1.0")
@SOAPBinding(style = SOAPBinding.Style.RPC)
public interface WSMessageHandler {
/**
*
* @param in0
* input paramether
* @return returns byte[]
*/
@WebMethod
@WebResult(name = "processEnvelopeReturn", partName = "processEnvelopeReturn")
public byte[] processEnvelope(
@WebParam(name = "in0", partName = "in0") byte[] in0);[/i]
The problem is - if I invoke the method WSMessageHandler.processEnvelop trough the stub returned from my WS client, I get the following error:
[i]
javax.xml.ws.WebServiceException: Unexpected response
element {
http://schemas.xmlsoap.org/soap/envelope/}Body expected: {urn:publicid
:-:DGTAXUD:EOS:EORI:WEBSERVICE:1.0}processEnvelopeResponse[/i]
The response is wrapped in a <soap:Body> element, where the soap: namespace is "
http://schemas.xmlsoap.org/soap/envelope/".
Is there a way to specify in my client to unwrap the soap envelope automatically? Any help is greatly appreciated!
[Message sent by forum member 'swapper' (swapper)]
http://forums.java.net/jive/thread.jspa?messageID=354993---------------------------------------------------------------------
To unsubscribe, e-mail:
users-unsubscribe@...
For additional commands, e-mail:
users-help@...