Reputation: 1592
I have a WSO2 ESB (4.8.1) proxy PA which calls another ESB proxy PB (which has a published WSDL). When I call the SomeOperation operation in the PB proxy from SoapUI, it just works: I get the expected response and it validates against the WSDL schema.
I need to call PB from PA, so I build the corresponding message body with payload factory, set Action header with the SomeOperation value (as the action is defined in the WSDL), and use call mediator with the corresponding endpoint. What I get is a fault body, with the following error message:
The endpoint reference (EPR) for the Operation not found is /services/SomeOperation and the WSA Action = urn:mediate. If this EPR was previously reachable, please contact the server administrator.
However, it happens that if I simply edit the endpoint defined in PA, so that I concat /SomeOperation at the end of the service url, then it works.
Is it possible to address this issue without this workaround? Why could this be happening? I now some posts with similar errors suggest setting the Action header, but I am actually setting it.
EDIT: It seems solved, based on the first answer by Jean-Michel.
Further details: I observe there is only SOAP12 binding in the PB wsdl... Anyway, PB performs an operation switch based on the Action property.
Case: PB (unmodified), PA with soap11 format EP
It works!
Case: PB (unmodified), PA with soap12 format EP
The endpoint reference (EPR) for the Operation not found is /services/PBService and the WSA Action = null.
Case: PB (disableOperationValidation), PA with soap11 format EP
It works!
Case: PB (disableOperationValidation), PA with soap12 format EP
org.apache.axis2.AxisFault: The input stream for an incoming message is null.
I don't completely get what is going on, but I guess I'll try to stick to soap 1.1.
Upvotes: 0
Views: 1825
Reputation: 5946
Try to set this parameter inside your proxy def (PB) :
<parameter name="disableOperationValidation" locked="false">true</parameter>
Edit your endpoint and set the appropriate format (soap11 or soap12)
Upvotes: 2