That did the trick! Thanks.
Bas PS,time for an update : http://ws.apache.org/axis2/1_3/api/org/apache/axis2/description/AxisService.html#createService(java.lang.String, org.apache.axis2.engine.AxisConfiguration, java.util.Map, java.lang.String, java.lang.String, java.lang.ClassLoader) Upul Godage wrote: > 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 <[EMAIL PROTECTED]> 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: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]