I am trying to get an understanding of the soap/jms using the quickstart sample as a start and modifying it to try to run it as soap/jms. I am running Axis2 1.1.1 war on JBoss4.0.5 and am trying to use the messaging that comes with jboss as the jms implementation.
I have followed the JMS transport doc (http://people.apache.org/~thilina/axis2/docs/jms-transport.html) and modified the services.xml of the stockquoteservice as follows ==== ... <transports> <transport>jms</transport> </transports> <messageReceivers> class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/> class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/> </messageReceivers> http://quickstart.samples/xsd"/> <parameter name="ServiceClass">samples.quickstart.service.pojo.StockQuoteService</parameter> <parameter name="transport.jms.Destination" locked="true">queue/requestQ</parameter> <parameter name="transport.jms.ConnectionFactory" locked="true">QueueConnectionFactory</parameter> ... ==== I have also modified axis2.xml with the relevant JBoss configurations: === ... <transportReceiver name="jms" class="org.apache.axis2.transport.jms.JMSListener"> <parameter name="myQueueConnectionFactory" locked="false"> <parameter name="java.naming.factory.initial" locked="false">org.jnp.interfaces.NamingContextFactory</parameter> <parameter name="java.naming.provider.url" locked="false">jnp://localhost:1099</parameter> <parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">ConnectionFactory</parameter> </parameter> .. === Firstly, once I deployed this I did not see any indication that the JMSListener has been started. I saw that there was an issue with starting of non-http transports for the embedded axis as described in https://issues.apache.org/jira/browse/AXIS2-1488, which is now resolved. Did this fix make it's way to the 1.1.1 version? If the above bug is still not resolved in the 1.1.1 version, are there any workarounds to start the JMSListener for an embedded axis2 instance? Secondly, once I deployed the service (stockquoteservice.aar), I obtained a strange WSDL from http://localhost:8080/axis2/services/StockQuoteService?wsdl. A part of the WSDL is shown below. Note that the transport is still http and the service ports are not generated. Note that in the services.xml I have specifically mentioned only the jms transport. So, why are the soap bindings still generated in the wsdl? Looks like a bug to me. === <wsdl:binding name="StockQuoteServiceHttpBinding" type="axis2:StockQuoteServicePortType"> <http:binding verb="POST" /> - <wsdl:operation name="update"> <http:operation location="update" /> + <wsdl:input> <mime:content type="text/xml" /> </wsdl:input> </wsdl:operation> - <wsdl:operation name="getPrice"> <http:operation location="getPrice" /> - <wsdl:input> <mime:content type="text/xml" /> </wsdl:input> - <wsdl:output> <mime:content type="text/xml" /> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="StockQuoteService" /> </wsdl:definitions> ==== Thirdly, the WSDL that the jms client will be using - do we need to generate is manually? I understand the jms destination URLwill need to be added manually to the stub, but I was hoping to get a partial WSDL generated. When I try to do a wsdl2java on the generated wsdl from the above service, it throws an NPE. Any pointers regarding the basic steps of running soap/jms on an embedded axis2 installation will be of great help. Thanks, Shantanu Sen --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
