The endpoint reference (EPR) for the Operation not found using glassfish n wso2esb
Solution 1
in web interface from WSO2 ESB click "Source View" for your proxy and put this lines:
...
<parameter name="serviceType">proxy</parameter>
<parameter name="disableOperationValidation">true</parameter>
...
before the tag:<description/>
Solution 2
When you send the request check if the SOAPAction is set. If not, you can specify it in two ways:
- ESB level
Set the property before the send mediator
<property name="SOAPAction" value="urn:SOAPAction" scope="transport"/>
- Client level
You can specify the SOAPAction in the client side code. Specify it in the options as shown below.
options.setAction("urn:SOAPAction");
user3834140
Updated on July 09, 2022Comments
-
user3834140 almost 2 years
I am new to wso2 esb. I am trying a simple web service program.
package testmart; import javax.jws.WebService; @WebService public class testone { public String testMethod() { return "success"; } }
I am using glassfish server, created a proxy on wso2 esb by giving following details:
web service url:
http://localhost:8080/testmart/testoneService
wsdl url :
http://localhost:8080/testmart/testoneService?wsdl
After creating its showing "success" msg. But when I test it, the following error comes up:
<soapenv:Fault xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope" xmlns:axis2ns7="http://www.w3.org/2003/05/soap-envelope"> <soapenv:Code> <soapenv:Value>axis2ns7:Client</soapenv:Value> </soapenv:Code> <soapenv:Reason> <soapenv:Text xml:lang="en-US" xmlns:xml="http://www.w3.org/XML/1998/namespace"> The endpoint reference (EPR) for the Operation not found is /services/testmart1.testmart1HttpSoap12Endpoint and the WSA Action = null. If this EPR was previously reachable, please contact the server administrator. </soapenv:Text> </soapenv:Reason> <soapenv:Detail/> </soapenv:Fault>
Below is my esb source view code:
<?xml version="1.0" encoding="UTF-8"?> <definitions xmlns="http://ws.apache.org/ns/synapse"> <registry provider="org.wso2.carbon.mediation.registry.WSO2Registry"> <parameter name="cachableDuration">15000</parameter> </registry> <proxy name="testmart1" transports="https http local" startOnLoad="true" trace="disable"> <description/> <target> <endpoint> <address uri="http://localhost:8080/testmart/testoneService"/> </endpoint> <outSequence> <send/> </outSequence> </target> <publishWSDL uri="http://localhost:8080/testmart/testoneService?wsdl"/> </proxy> <sequence name="fault"> <log level="full"> <property name="MESSAGE" value="Executing default 'fault' sequence"/> <property name="ERROR_CODE" expression="get-property('ERROR_CODE')"/> <property name="ERROR_MESSAGE" expression="get-property('ERROR_MESSAGE')"/> </log> <drop/> </sequence> <sequence name="main"> <in> <log level="full"/> <filter source="get-property('To')" regex="http://localhost:9000.*"> <send/> </filter> </in> <out> <send/> </out> <description>The main sequence for the message mediation</description> </sequence> </definitions>
I read all post about this error but could not solve this problem. Any sort of help would be highly appreciated as this was the first example I tried and stuck from hours. Thanks in advance.