Hi, folks,

I found something strange about the mechanism how axis2 service
identifies the operation corresponding to a request message.

When I used the following code to invoke a service:
...
OMElement result = call.invokeBlocking("operationName", payload);
...

If the SOAP body is *not* something like
      <soapenv:Body>
         <ns:operationName xmlns:ns="http://www.example.org/ns";>
            ...
         </ns:operationName>
      </soapenv:Body>
I would get the fault message like

<faultstring>Operation Not found EPR is http://the targetEPR and WSA
Action = </faultstring>

However, if I hardcode the SOAPAction part and send it to the
targetEPR, the service works fine.

I checked the HTTP content of the requests in all the cases, and found
that the SOAPAction part in the HTTP head is always *empty*.

I am not sure if this behavior is by design. And I would like to know
how to specify the SOAPAction part when I use Call client.

Thanks,

Don

Reply via email to