title: The endpoint reference (EPR) for the Operation not found
body: <p>I started learning Web Services. I wrote my first piece of code from the example that was given in the book. But when i run it, it does not behanve the way its supposed to! I see the wsdl file generated and see the error: </p>
  
  <p>My WSDL file is:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;  
  &lt;wsdl:definitions targetNamespace="http://ts.ch01" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://ts.ch01" xmlns:intf="http://ts.ch01" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"&gt;  
  &lt;!--WSDL created by Apache Axis version: 1.4  
  Built on Apr 22, 2006 (06:55:48 PDT)--&gt;  
   &lt;wsdl:types&gt;  
    &lt;schema elementFormDefault="qualified" targetNamespace="http://ts.ch01" xmlns="http://www.w3.org/2001/XMLSchema"&gt;  
     &lt;element name="getTimeAsString"&gt;  
      &lt;complexType/&gt;  
     &lt;/element&gt;  
     &lt;element name="getTimeAsStringResponse"&gt;  
      &lt;complexType&gt;  
       &lt;sequence&gt;  
        &lt;element name="getTimeAsStringReturn" type="xsd:string"/&gt;  
       &lt;/sequence&gt;  
      &lt;/complexType&gt;  
     &lt;/element&gt;  
     &lt;element name="getTimeAsElapsed"&gt;  
      &lt;complexType/&gt;  
     &lt;/element&gt;  
     &lt;element name="getTimeAsElapsedResponse"&gt;  
      &lt;complexType&gt;  
       &lt;sequence&gt;  
        &lt;element name="getTimeAsElapsedReturn" type="xsd:long"/&gt;  
       &lt;/sequence&gt;  
      &lt;/complexType&gt;  
     &lt;/element&gt;  
    &lt;/schema&gt;  
   &lt;/wsdl:types&gt;  
  
     &lt;wsdl:message name="getTimeAsStringResponse"&gt;  
  
        &lt;wsdl:part element="impl:getTimeAsStringResponse" name="parameters"&gt;  
  
        &lt;/wsdl:part&gt;  
  
     &lt;/wsdl:message&gt;  
  
     &lt;wsdl:message name="getTimeAsElapsedResponse"&gt;  
  
        &lt;wsdl:part element="impl:getTimeAsElapsedResponse" name="parameters"&gt;  
  
        &lt;/wsdl:part&gt;  
  
     &lt;/wsdl:message&gt;  
  
     &lt;wsdl:message name="getTimeAsElapsedRequest"&gt;  
  
        &lt;wsdl:part element="impl:getTimeAsElapsed" name="parameters"&gt;  
  
        &lt;/wsdl:part&gt;  
  
     &lt;/wsdl:message&gt;  
  
     &lt;wsdl:message name="getTimeAsStringRequest"&gt;  
  
        &lt;wsdl:part element="impl:getTimeAsString" name="parameters"&gt;  
  
        &lt;/wsdl:part&gt;  
  
     &lt;/wsdl:message&gt;  
  
     &lt;wsdl:portType name="WSNewTestImpl"&gt;  
  
        &lt;wsdl:operation name="getTimeAsString"&gt;  
  
           &lt;wsdl:input message="impl:getTimeAsStringRequest" name="getTimeAsStringRequest"&gt;  
  
         &lt;/wsdl:input&gt;  
  
           &lt;wsdl:output message="impl:getTimeAsStringResponse" name="getTimeAsStringResponse"&gt;  
  
         &lt;/wsdl:output&gt;  
  
        &lt;/wsdl:operation&gt;  
  
        &lt;wsdl:operation name="getTimeAsElapsed"&gt;  
  
           &lt;wsdl:input message="impl:getTimeAsElapsedRequest" name="getTimeAsElapsedRequest"&gt;  
  
         &lt;/wsdl:input&gt;  
  
           &lt;wsdl:output message="impl:getTimeAsElapsedResponse" name="getTimeAsElapsedResponse"&gt;  
  
         &lt;/wsdl:output&gt;  
  
        &lt;/wsdl:operation&gt;  
  
     &lt;/wsdl:portType&gt;  
  
     &lt;wsdl:binding name="WSNewTestImplSoapBinding" type="impl:WSNewTestImpl"&gt;  
  
        &lt;wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/&gt;  
  
        &lt;wsdl:operation name="getTimeAsString"&gt;  
  
           &lt;wsdlsoap:operation soapAction=""/&gt;  
  
           &lt;wsdl:input name="getTimeAsStringRequest"&gt;  
  
              &lt;wsdlsoap:body use="literal"/&gt;  
  
           &lt;/wsdl:input&gt;  
  
           &lt;wsdl:output name="getTimeAsStringResponse"&gt;  
  
              &lt;wsdlsoap:body use="literal"/&gt;  
  
           &lt;/wsdl:output&gt;  
  
        &lt;/wsdl:operation&gt;  
  
        &lt;wsdl:operation name="getTimeAsElapsed"&gt;  
  
           &lt;wsdlsoap:operation soapAction=""/&gt;  
  
           &lt;wsdl:input name="getTimeAsElapsedRequest"&gt;  
  
              &lt;wsdlsoap:body use="literal"/&gt;  
  
           &lt;/wsdl:input&gt;  
  
           &lt;wsdl:output name="getTimeAsElapsedResponse"&gt;  
  
              &lt;wsdlsoap:body use="literal"/&gt;  
  
           &lt;/wsdl:output&gt;  
  
        &lt;/wsdl:operation&gt;  
  
     &lt;/wsdl:binding&gt;  
  
     &lt;wsdl:service name="WSNewTestImplService"&gt;  
  
        &lt;wsdl:port binding="impl:WSNewTestImplSoapBinding" name="WSNewTestImpl"&gt;  
  
           &lt;wsdlsoap:address location="http://localhost:9090/WSTestOther/services/WSNewTestImpl"/&gt;  
  
        &lt;/wsdl:port&gt;  
  
     &lt;/wsdl:service&gt;  
  
  &lt;/wsdl:definitions&gt;  
  </code></pre>
  
  <p>I am not sure what other information to provide, if you need anything just ask. I am using Tomcat 7.0</p>
  
  <p>Also I see the error in console:</p>
  
  <pre><code>[ERROR] The endpoint reference (EPR) for the Operation not found is /WSTestOther/services/WSNewTestImplService and the WSA Action = null. If this EPR was previously reachable, please contact the server administrator.  
  org.apache.axis2.AxisFault: The endpoint reference (EPR) for the Operation not found is /WSTestOther/services/WSNewTestImplService and the WSA Action = null. If this EPR was previously reachable, please contact the server administrator.  
      at org.apache.axis2.engine.DispatchPhase.checkPostConditions(DispatchPhase.java:102)  
      at org.apache.axis2.engine.Phase.invoke(Phase.java:329)  
      at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:262)  
      at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:168)  
      at org.apache.axis2.transport.http.util.RESTUtil.invokeAxisEngine(RESTUtil.java:144)  
      at org.apache.axis2.transport.http.util.RESTUtil.processURLRequest(RESTUtil.java:139)  
      at org.apache.axis2.transport.http.AxisServlet$RestRequestProcessor.processURLRequest(AxisServlet.java:837)  
      at org.apache.axis2.transport.http.AxisServlet.doGet(AxisServlet.java:273)  
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)  
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)  
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)  
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)  
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)  
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)  
      at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)  
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)  
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)  
      at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)  
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)  
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)  
      at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)  
      at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)  
      at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)  
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)  
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)  
      at java.lang.Thread.run(Thread.java:662)  
  [WARN] Deprecated usage of OMElement#declareNamespace(String,String) with empty prefix  
  </code></pre>