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]

Reply via email to