On Thu, May 15, 2008 at 2:04 PM, Altaf, Muneer  IN BLR SISL
<[EMAIL PROTECTED]> wrote:
> Hi,
>
> I have a SCA java service which exposes a method and I am trying to use
> JMS binding.
>
> My composite file looks like this
>
>        <dbsdo:import.sdo
> factory="com.siemens.hintegration.sdo.MotionReactorFactory" />
>
>        <component name="MotionReactorServiceComponent">
>                <implementation.java
> class="com.siemens.hintegration.MotionReactorImpl" />
>
>                <service name="MotionReactorService">
>                <interface.wsdl
> interface="http://com.siemens.hintegration#wsdl.interface(MotionReactor)
> " />
>                        <!--interface.java
> interface="com.siemens.hintegration.MotionReactorService"/-->
>
>                <!--Webservice Binding-->
>                        <binding.ws
> uri="http://localhost:8088/MotionReactorService"/>
>
>                <!--JMS Binding-->
>                        <binding.jms
> initialContextFactory="org.apache.activemq.jndi.ActiveMQInitialContextFa
> ctory"
>                                        jndiURL="tcp://localhost:61616">
>
>                            <destination name="activemq/queue/sendQueue"
> create="always"/>
>                        </binding.jms>
>                </service>
>        </component>
>
> The  java service method has the following signature
> void onMotionDetected(MotionSensor motionSensor);
>
> I have a small java application which posts messages to an ActiveMQ
> queue.
> I am using a TextMessage object to post the message to the queue.
>
> The TextMessage object contains the following XML...
>
> <soapenv:Envelope
> xmlns:q0="http://com.siemens.hintegration";
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";
> xmlns:xsd="http://www.w3.org/2001/XMLSchema";
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
> <soapenv:Header>
> </soapenv:Header>
> <soapenv:Body>
> <q0:onMotionDetected>
> <q0:motionSensor>
> <q0:id>1</q0:id>
> <q0:name>Elevator</q0:name>
> </q0:motionSensor>
> </q0:onMotionDetected>
> </soapenv:Body>
> </soapenv:Envelope>
>
>
> When the message is posted to the queue the appropriate method on the
> java side is called but the argument has null values.
> I tried to invoke the service through a web service explorer with the
> same XML and that works fine.
> Is there anything wrong with what I am doing? Any help would be greatly
> appreciated.
>
> Regards,
> Altaf
>

I think the problem will be the XML contains SOAP body and envelope
tags. The JMS binding is not a SOAP over JMS binding (although the
Tuscany WS binding does support SOAP over JMS if thats what you need).
What happens if you send just the following the the queue:

<q0:onMotionDetected xmlns:q0="http://com.siemens.hintegration";>
   <q0:motionSensor>
      <q0:id>1</q0:id>
      <q0:name>Elevator</q0:name>
   </q0:motionSensor>
</q0:onMotionDetected>

   ...ant

Reply via email to