axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Upul Godage" <upulg....@gmail.com>
Subject Re: Embedded axis2 (SimpleHTTPServer)
Date Thu, 06 Dec 2007 06:52:23 GMT
Try it with,

    mrMap.put("http://www.w3.org/ns/wsdl/in-only",
        RPCInOnlyMessageReceiver.class.newInstance());
    mrMap.put("http://www.w3.org/ns/wsdl/in-out", RPCMessageReceiver.class
        .newInstance());

Upul

On Dec 5, 2007 1:32 PM, Bastiaan <Bastiaan@cj-multisoft.nl> wrote:

> Hello,
>
> I'd like to run axis2 embedded in a java program, and decided to do some
> tests.
>
> Running this application gives me the following log4j messages:
>  Required MessageReceiver couldn't be found, thus, default MessageReceiver
> has
> been used
> Listening on port 8080
>
> sending a soap request gives (without much surprise) an exception,
> stating:
> Message Receiver not found for AxisOperation: echo
>
> Browsing through the various api's (seems like the syntax of
> 'createservice'
> is changed recently, lots of outdated docs on the net) doesn't give me
> much
> options.
>
> I found out that the exception is thrown if there is no entry in the
> 'mrMap'
> (see code below) for the right mep.
>
> messageReceiverClassMap.get(mep) == null
>
> so my guess is, i dont use the right key in the Map, the docs give me
> exactly
> these values, and i couldn't find any more information.
>
> Thanks in advance,
>  Bas
>
>
> Here is some code:
>
> package test;
>
> import java.util.HashMap;
> import java.util.Map;
>
> import org.apache.axis2.context.ConfigurationContext;
> import org.apache.axis2.context.ConfigurationContextFactory;
> import org.apache.axis2.description.AxisService;
> import org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver;
> import org.apache.axis2.rpc.receivers.RPCMessageReceiver;
> import org.apache.axis2.transport.http.SimpleHTTPServer;
>
> public class Test {
>         public static void main(String[] args) throws Exception {
>                ConfigurationContext context = ConfigurationContextFactory.
>                createConfigurationContextFromFileSystem(null, null);
>                Map mrMap = new HashMap();
>                mrMap.put("http://www.w3.org/2006/01/wsdl/in-only",
> RPCInOnlyMessageReceiver.class.newInstance());
>                mrMap.put("http://www.w3.org/2006/01/wsdl/in-out",
> RPCMessageReceiver.class.newInstance());
>                AxisService service =
>                AxisService.createService(Echo.class.getName(),
> context.getAxisConfiguration(),
>
> mrMap, "http://test.com", "http://test2.com",
> ClassLoader.getSystemClassLoader());
>                context.getAxisConfiguration().addService(service);
>                SimpleHTTPServer server = new SimpleHTTPServer(context,
> 8080);
>                server.start();
>            }
> }
>
>
> =======================
> package test;
>
> public class Echo {
>    public String echo(String in) {
>        return in;
>    }
> }
> =======================
>
> the wsdl generated:
> <wsdl:definitions targetNamespace="http://test.com">
> ?
>        <wsdl:types>
> ?
>        <xs:schema attributeFormDefault="qualified"
> elementFormDefault="unqualified"
> targetNamespace="http://test2.com">
> ?
>        <xs:element name="echo">
> ?
>        <xs:complexType>
> ?
>        <xs:sequence>
> <xs:element minOccurs="0" name="in" nillable="true" type="xs:string"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> ?
>        <xs:element name="echoResponse">
> ?
>        <xs:complexType>
> ?
>        <xs:sequence>
> <xs:element minOccurs="0" name="return" nillable="true" type="xs:string"/>
> </xs:sequence>
> </xs:complexType>
> </xs:element>
> </xs:schema>
> </wsdl:types>
> ?
>        <wsdl:message name="echoRequest">
> <wsdl:part name="parameters" element="ns0:echo"/>
> </wsdl:message>
> ?
>        <wsdl:message name="echoResponse">
> <wsdl:part name="parameters" element="ns0:echoResponse"/>
> </wsdl:message>
> ?
>        <wsdl:portType name="EchoPortType">
> ?
>        <wsdl:operation name="echo">
> <wsdl:input message="axis2:echoRequest" wsaw:Action="urn:echo"/>
> <wsdl:output message="axis2:echoResponse" wsaw:Action="urn:echoResponse"/>
> </wsdl:operation>
> </wsdl:portType>
> ?
>        <wsdl:binding name="EchoSOAP11Binding" type="axis2:EchoPortType">
> <soap:binding transport="http://schemas.xmlsoap.org/soap/http"
> style="document"/>
> ?
>        <wsdl:operation name="echo">
> <soap:operation soapAction="urn:echo" 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="EchoSOAP12Binding" type="axis2:EchoPortType">
> <soap12:binding transport="http://schemas.xmlsoap.org/soap/http"
> style="document"/>
> ?
>        <wsdl:operation name="echo">
> <soap12:operation soapAction="urn:echo" style="document"/>
> ?
>        <wsdl:input>
> <soap12:body use="literal"/>
> </wsdl:input>
> ?
>        <wsdl:output>
> <soap12:body use="literal"/>
> </wsdl:output>
> </wsdl:operation>
> </wsdl:binding>
> ?
>        <wsdl:binding name="EchoHttpBinding" type="axis2:EchoPortType">
> <http:binding verb="POST"/>
> ?
>        <wsdl:operation name="echo">
> <http:operation location="Echo/echo"/>
> ?
>        <wsdl:input>
> <mime:content type="text/xml" part="echo"/>
> </wsdl:input>
> ?
>        <wsdl:output>
> <mime:content type="text/xml" part="echo"/>
> </wsdl:output>
> </wsdl:operation>
> </wsdl:binding>
> ?
>        <wsdl:service name="Echo">
> ?
>        <wsdl:port name="EchoSOAP11port_http"
> binding="axis2:EchoSOAP11Binding">
> <soap:address location="http://localhost:8080/axis2/services/Echo"/>
> </wsdl:port>
> ?
>        <wsdl:port name="EchoSOAP12port_http"
> binding="axis2:EchoSOAP12Binding">
> <soap12:address location="http://localhost:8080/axis2/services/Echo"/>
> </wsdl:port>
> ?
>        <wsdl:port name="EchoHttpport" binding="axis2:EchoHttpBinding">
> <http:address location="http://localhost:8080/axis2/services/Echo"/>
> </wsdl:port>
> </wsdl:service>
> </wsdl:definitions>
>
> ======================
> request:
> <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
>   <soap:Header/>
>   <soap:Body>
>      <test:echo>
>         <!--Optional:-->
>         <in>?</in>
>      </test:echo>
>   </soap:Body>
> </soap:Envelope>
>
>
> response:
> <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
>   <soapenv:Body>
>      <soapenv:Fault>
>         <soapenv:Code>
>            <soapenv:Value>soapenv:Receiver</soapenv:Value>
>         </soapenv:Code>
>         <soapenv:Reason>
>            <soapenv:Text xml:lang="en-US">Message Receiver not found for
> AxisOperation: echo</soapenv:Text>
>         </soapenv:Reason>
>         <soapenv:Detail>
>            <Exception>org.apache.axis2.AxisFault: Message Receiver not
> found
> for AxisOperation: echo
>        at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:141)
>        at
> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(
> HTTPTransportUtils.java:275)
>        at
> org.apache.axis2.transport.http.HTTPWorker.service(HTTPWorker.java:256)
>        at
> org.apache.axis2.transport.http.server.AxisHttpService.doService(
> AxisHttpService.java:259)
>        at
> org.apache.axis2.transport.http.server.AxisHttpService.handleRequest(
> AxisHttpService.java:166)
>        at
> org.apache.axis2.transport.http.server.HttpServiceProcessor.run(
> HttpServiceProcessor.java:85)
>        at
>
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask
> (ThreadPoolExecutor.java:665)
>        at
>
> edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run
> (ThreadPoolExecutor.java:690)
>        at java.lang.Thread.run(Thread.java:595)</Exception>
>         </soapenv:Detail>
>      </soapenv:Fault>
>   </soapenv:Body>
> </soapenv:Envelope>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-user-help@ws.apache.org
>
>

Mime
View raw message