Message Receiver not found for AxisOperation
--------------------------------------------

                 Key: AXIS2-2765
                 URL: https://issues.apache.org/jira/browse/AXIS2-2765
             Project: Axis 2.0 (Axis2)
          Issue Type: Bug
    Affects Versions: 1.2
         Environment: RAD 6.0, Axis 2 Version 1.2
            Reporter: Satish Ghanekar


I am trying to migrate my code from Axis 1.1.1 to Axis 1.2. So I wanted to 
perform some testing. I downloaded Axis1.2 WAR file and and also the eclpise 
plugins and installed them in RAD. I wrote the following POJO java class.

/*
 * Created on Jun 4, 2007
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package com.nationwide.marketlink.ws;


/**
 * @author GHANEKS1
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
public class TestHandler {
    /**
     * @param param
     * @return
     */
    public String method1(String param) {
        String ret = "Method 1 invoked with - " + param;
        System.out.println("Param = " + param);

        return ret;
    }

    /**
     * @param param
     * @return
     */
    public String method2(String param) {
        String ret = "Method 2 invoked with - " + param;
        System.out.println("Param = " + param);

        return ret;
    }
}


Using the plugin Axis2 generated the following WSDL file

<wsdl:definitions xmlns:agm="http://ws.marketlink.nationwide.com";
        xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/";
        xmlns:http="http://schemas.xmlsoap.org/wsdl/http/";
        xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/";
        xmlns:xsd="http://ws.marketlink.nationwide.com/xsd";
        xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";
        xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
        targetNamespace="http://ws.marketlink.nationwide.com";>
        <wsdl:types>
                <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema";
                        attributeFormDefault="qualified" 
elementFormDefault="qualified"
                        
targetNamespace="http://ws.marketlink.nationwide.com/xsd";>
                        <xs:element name="method1">
                                <xs:complexType>
                                        <xs:sequence>
                                                <xs:element name="param" 
nillable="true"
                                                        type="xs:string" />
                                        </xs:sequence>
                                </xs:complexType>
                        </xs:element>
                        <xs:element name="method1Response">
                                <xs:complexType>
                                        <xs:sequence>
                                                <xs:element name="return" 
nillable="true"
                                                        type="xs:string" />
                                        </xs:sequence>
                                </xs:complexType>
                        </xs:element>
                        <xs:element name="method2">
                                <xs:complexType>
                                        <xs:sequence>
                                                <xs:element name="param" 
nillable="true"
                                                        type="xs:string" />
                                        </xs:sequence>
                                </xs:complexType>
                        </xs:element>
                        <xs:element name="method2Response">
                                <xs:complexType>
                                        <xs:sequence>
                                                <xs:element name="return" 
nillable="true"
                                                        type="xs:string" />
                                        </xs:sequence>
                                </xs:complexType>
                        </xs:element>
                </xs:schema>
        </wsdl:types>
        <wsdl:message name="method1Message">
                <wsdl:part name="part1" element="xsd:method1" />
        </wsdl:message>
        <wsdl:message name="method1ResponseMessage">
                <wsdl:part name="part1" element="xsd:method1Response" />
        </wsdl:message>
        <wsdl:message name="method2Message">
                <wsdl:part name="part1" element="xsd:method2" />
        </wsdl:message>
        <wsdl:message name="method2ResponseMessage">
                <wsdl:part name="part1" element="xsd:method2Response" />
        </wsdl:message>
        <wsdl:portType name="TestHandlerPortType">
                <wsdl:operation name="method1">
                        <wsdl:input
                                
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl";
                                wsaw:Action="urn:method1" 
message="agm:method1Message" />
                        <wsdl:output
                                
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl";
                                message="agm:method1ResponseMessage" 
wsaw:Action="urn:method1" />
                </wsdl:operation>
                <wsdl:operation name="method2">
                        <wsdl:input
                                
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl";
                                wsaw:Action="urn:method2" 
message="agm:method2Message" />
                        <wsdl:output
                                
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl";
                                message="agm:method2ResponseMessage" 
wsaw:Action="urn:method2" />
                </wsdl:operation>
        </wsdl:portType>
        <wsdl:binding name="TestHandlerSOAP11Binding"
                type="agm:TestHandlerPortType">
                <soap:binding transport="http://schemas.xmlsoap.org/soap/http";
                        style="document" />
                <wsdl:operation name="method1">
                        <soap:operation soapAction="urn:method1" 
style="document" />
                        <wsdl:input>
                                <soap:body use="literal" />
                        </wsdl:input>
                        <wsdl:output>
                                <soap:body use="literal" />
                        </wsdl:output>
                </wsdl:operation>
                <wsdl:operation name="method2">
                        <soap:operation soapAction="urn:method2" 
style="document" />
                        <wsdl:input>
                                <soap:body use="literal" />
                        </wsdl:input>
                        <wsdl:output>
                                <soap:body use="literal" />
                        </wsdl:output>
                </wsdl:operation>
        </wsdl:binding>
        <wsdl:binding name="TestHandlerSOAP12Binding"
                type="agm:TestHandlerPortType">
                <soap12:binding transport="http://schemas.xmlsoap.org/soap/http";
                        style="document" />
                <wsdl:operation name="method1">
                        <soap12:operation soapAction="urn:method1" 
style="document" />
                        <wsdl:input>
                                <soap12:body use="literal" />
                        </wsdl:input>
                        <wsdl:output>
                                <soap12:body use="literal" />
                        </wsdl:output>
                </wsdl:operation>
                <wsdl:operation name="method2">
                        <soap12:operation soapAction="urn:method2" 
style="document" />
                        <wsdl:input>
                                <soap12:body use="literal" />
                        </wsdl:input>
                        <wsdl:output>
                                <soap12:body use="literal" />
                        </wsdl:output>
                </wsdl:operation>
        </wsdl:binding>
        <wsdl:service name="TestHandler">
                <wsdl:port name="TestHandlerSOAP11port"
                        binding="agm:TestHandlerSOAP11Binding">
                        <soap:address
                                
location="http://localhost:8080/axis2/services/TestHandler"; />
                </wsdl:port>
                <wsdl:port name="TestHandlerSOAP12port"
                        binding="agm:TestHandlerSOAP12Binding">
                        <soap12:address
                                
location="http://localhost:8080/axis2/services/TestHandler"; />
                </wsdl:port>
        </wsdl:service>
</wsdl:definitions>

Axis2 generated the following services.xml file:

<!-- This file was auto-generated from WSDL -->
<!-- by the Apache Axis2 version: #axisVersion# #today# -->
<serviceGroup>
        <service name="TestHandler">
                <messageReceivers>
                        <messageReceiver mep="http://www.w3.org/ns/wsdl/in-out";
                                
class="com.nationwide.marketlink.ws.generated.TestHandlerMessageReceiverInOut" 
/>
                </messageReceivers>
                <parameter locked="false" name="ServiceClass">
                        
com.nationwide.marketlink.ws.generated.TestHandlerSkeleton
                </parameter>
                <parameter locked="false" name="useOriginalwsdl">
                        true
                </parameter>
                <parameter locked="false" name="modifyUserWSDLPortAddress">
                        true
                </parameter>
                <operation name="method1"
                        mep="http://www.w3.org/ns/wsdl/in-out";>
                        <actionMapping>urn:method1</actionMapping>
                        <outputActionMapping>urn:method1</outputActionMapping>
                </operation>
                <operation name="method2"
                        mep="http://www.w3.org/ns/wsdl/in-out";>
                        <actionMapping>urn:method2</actionMapping>
                        <outputActionMapping>urn:method2</outputActionMapping>
                </operation>
        </service>
</serviceGroup>

I created the AAR file and copied it under the services folder in the Axis2 WAR 
project.
I generated the client code using the plugin. But Now when I invoke the service 
I get the following Error:


org.apache.axis2.AxisFault: Message Receiver not found for AxisOperation: 
method2
        at 
org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:434)
        at 
org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:373)
        at 
org.apache.axis2.description.OutInAxisOperationClient.execute(OutInAxisOperation.java:294)
        at 
com.nationwide.marketlink.ws.testhandler.client.TestHandlerTestHandlerSOAP11PortStub.method2(TestHandlerTestHandlerSOAP11PortStub.java:357)
        at 
com.nationwide.marketlink.ws.testhandler.client.TestHandlerTest.executeService(TestHandlerTest.java:51)
        at 
com.nationwide.marketlink.ws.testhandler.client.TestHandlerTest.main(TestHandlerTest.java:28)



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to