The endpoint reference (EPR) for the Operation not found using glassfish n wso2esb

20,200

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:

  1. ESB level

Set the property before the send mediator

<property name="SOAPAction" value="urn:SOAPAction" scope="transport"/>
  1. Client level

You can specify the SOAPAction in the client side code. Specify it in the options as shown below.

options.setAction("urn:SOAPAction");
Share:
20,200
user3834140
Author by

user3834140

Updated on July 09, 2022

Comments

  • user3834140
    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.