Hi all, I have to deploy processes automatically to ODE (I am using v1.2) instead of copying the zip file manually into the right folder. Therefore, I tried to use ODE`s DeploymentService and its "deploy" operation, but both the Axis and JAX-WS client stubs are not able to process the service response correctly (using the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter and Metro with JAX-WS RI 2.1.4.1). At first, here is the SOAP response returned by the DeploymentService:
<?xml version="1.0" encoding="utf-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <response> <name> test-1 </name> <id xmlns:axis2ns1="http://example.com/inside/pm"> axis2ns1:CalculatorInvokeProcess-1 </id> </response> </soapenv:Body> </soapenv:Envelope> So the client stubs should take this response and transform it into a DeployUnit with the given name and id. Unfortunately, the thing is not that simple. The Axis client stub processes the request without error, but the response is empty (e. g. the stub returns a DeployUnit whose name and id property are null). The JAX-WS client stub throws an exception as the service response does not match the expectations of the client: Exception in thread "main" com.sun.xml.ws.streaming.XMLStreamReaderException: unexpected XML tag. expected: {http://www.apache.org/ode/pmapi}deployResponse but found: {null}response at com.sun.xml.ws.streaming.XMLStreamReaderUtil.verifyTag(XMLStreamReaderUt il.java:214) at com.sun.xml.ws.streaming.XMLStreamReaderUtil.verifyTag(XMLStreamReaderUt il.java:222) at com.sun.xml.ws.client.sei.ResponseBuilder$DocLit.readResponse(ResponseBu ilder.java:524) at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.jav a:121) at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.jav a:89) at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:118) at $Proxy38.deploy(Unknown Source) at odetest.executor.ExecutorTestImpl.execute(ExecutorTestImpl.java:60) at odetest.executor.ExecutorTestImpl.main(ExecutorTestImpl.java:97) What caught my eye first: Where is the XML namespace for the response tag? Should it not be declared explicitly? This would explain JAX-WS` behavior (the found namespace is null). Additionally, JAX-WS seems to expect a "deployResponse" but finds a "response" tag instead. I am not sure, whether JAX-WS or the service response is right according to the WSDL of the DeploymentService. This problem can be solved by making a small change in the client stub JAX-WS annotations. However, the namespace problem remains. Could someone check if the service response is valid XML and correct according to the WSDL? Shouldn`t the namespace for the response tag (http://www.apache.org/ode/pmapi) be included? Anything that gets me a client stub working against ODE would help. Thanks in advance, Matthias