OK - Appending the operation name to the URL does work, but I am not sure if .Net does this (I do not have .Net, just some recorded messages). From what I can read on the web, routing is supposed to occur via the first tag in the SOAP body (in this case a confirmCustomerReq message).

I realise this is a bit more complex, but it seems to be how it is supposed to be done, although the documentation is extremely vague on this point...

-justin

Amila Suriarachchi wrote:
It seems that the Axis2 Client generating an dummy soap action when the soapaction is empty.

In following lines of code in CommonsHttpTransportSender.java

if ((soapActionString == null) || (soapActionString.length () == 0)) {
                    // now let's try to get WSA action
                    soapActionString = messageContext.getWSAAction();
if (messageContext.getAxisOperation() != null && ((soapActionString == null) || ( soapActionString.length() == 0))) {
                        // last option is to get it from the axis operation
soapActionString = messageContext.getAxisOperation().getInputAction();
                    }
                }

 sets a soap action.
I think this is wrong and Please log a jira.

Actually if the soapbindig style is document/literal and the soapaction is empty. then only possible way of dispatching is to use the URL dispatching.
Use the EPR as follows
http://localhost:8081/axis2/services/XMLVendService2.0/ConfirmCustomerRequest



--
Amila Suriarachchi,
WSO2 Inc.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to