You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Ramesh Vishwanatham <rv...@dtcc.com> on 2009/04/15 18:02:58 UTC

Message Receiver not found for AxisOperation error with Axis2 1.4.1 and service built using JAX-WS

Hi All

I am getting below error when a client calls a web service operation built 
using Axis2 1.4.1, Java 1.6, JAX-WS 
and Tomcat 6.0.18:

[ERROR] Message Receiver not found for AxisOperation: 
{http://service/}getQuote
org.apache.axis2.AxisFault: Message Receiver not found for AxisOperation: 
{http:
//service/}getQuote

Here are the steps followed:

1) Axis2 war file is deployed in Tomcat 6.0.18. 

2) Using top-down model with existing wsdl. Generated server and client 
side code using wsimport tool part of 
Java 1.6. Added Java implementation class for interface and deployed the 
service under services folder in axis2 
WEB-INF.The service is deployed and it is active. 

3) When I run the client I get an exception with above exception message

4) I also built service using axis2 WSDL2Java tool (adb as data binding) 
and deployed it. When I ran the 
client (which is built using JAX-WS api) it works fine.

So the error is in service side with JAX-WS. Is it a bug in axis2 1.4.1 
implememtation or some thing I am missing?

Please help me resolve this issue. 

Below are the service implementation class, services.xml and wsdl files:

Prj71Impl.java
---------------
package service;
import javax.jws.WebService;
import javax.xml.ws.BindingType;
import javax.xml.ws.soap.SOAPBinding;


@WebService(endpointInterface = "service.Prj71",
        serviceName = "Prj71Service", 
wsdlLocation="META-INF/Prj71Service.wsdl", portName= "Prj71Port")
public class Prj71Impl implements Prj71 {

        public  GetQuoteResponse
        getQuote(GetQuoteRequest req) {
                GetQuoteResponse res = new GetQuoteResponse();
                res.setReturn(100);
                return res;
        }

}

services.xml
------------
<?xml version="1.0" encoding="UTF-8"?>
<serviceGroup>
    <service name="Prj71Service" scope="application">
        <messageReceiver>
            <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" 
 class="org.apache.axis2.jaxws.server.JAXWSMessageReceiver"/>
        </messageReceiver>
        <parameter name="ServiceClass">service.Prj71Impl</parameter>
        <parameter name="useOriginalwsdl">true</parameter>
        <!-- Below entries are added but no difference in resolving the 
problem -->
        <parameter name="modifyUserWSDLPortAddress">true</parameter>
        <operation name="getQuote" 
mep="http://www.w3.org/2004/08/wsdl/in-out" namespace="http://service/">
            <actionMapping>tns:getQuote</actionMapping>
 
<outputActionMapping>http://service/Prj71/getQuoteResponse</outputActionMapping>
        </operation>
    </service>
</serviceGroup>


Prj7Service.wsdl
-----------------

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<wsdl:definitions  name="Prj71Service" targetNamespace="http://service/"
        xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
xmlns:tns="http://service/" 
        xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
        xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
  <wsdl:types>
    <xsd:schema>
      <xsd:import namespace="http://service/" 
schemaLocation="Prj71Service_schema1.xsd"/>
    </xsd:schema>
  </wsdl:types>
  <wsdl:message name="getQuoteRequest">
    <wsdl:part name="parameters" element="tns:GetQuoteRequest"/>
  </wsdl:message>
  <wsdl:message name="getQuoteResponse">
    <wsdl:part name="parameters" element="tns:GetQuoteResponse"/>
  </wsdl:message>
  <wsdl:portType name="Prj71">
    <wsdl:operation name="getQuote">
      <wsdl:input message="tns:getQuoteRequest"/>
      <wsdl:output message="tns:getQuoteResponse"/>
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="Prj71PortBinding" type="tns:Prj71">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" 
style="document"/>
    <wsdl:operation name="getQuote">
      <soap:operation soapAction="tns:getQuote"/>
      <wsdl:input>
        <soap:body use="literal"/>
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="Prj71Service">
    <wsdl:port name="Prj71Port" binding="tns:Prj71PortBinding">
      <soap:address 
location="http://localhost:8080/axis2/services/Prj71Service"/>
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>
 
Thanks
Ramesh


________________________________________________________
DTCC DISCLAIMER: This email and any files transmitted with it are
confidential and intended solely for the use of the individual or
entity to whom they are addressed. If you have received this email
in error, please notify us immediately and delete the email and any
attachments from your system. The recipient should check this email
and any attachments for the presence of viruses.  The company
accepts no liability for any damage caused by any virus transmitted
by this email.