Hi Ted, I'm needing the following information: - Do you successfully send the message? - Does the listener get the message successfully? - Do you call an in-only service? - Is it possible that you call an in-only service with sendReceive()?
Regards, Ali Sadik Kumlali ----- Original Message ---- From: Ted Jones <[EMAIL PROTECTED]> To: axis-user@ws.apache.org; [EMAIL PROTECTED] Sent: Wednesday, January 3, 2007 11:14:03 PM Subject: RE: Soap Over JMS using Embedded Axis2 Engine DIV { MARGIN:0px;} Thanks again Ali. After applying the changes you recommended, I am still getting the same "org.apache.axis2.AxisFault: Incoming message input stream is null" exception. Stepping through debug, the JMSSender is getting a null reply back from the Message reply = consumer.receive(timeout) call and the reply value is used for the input stream (thus the fault). Does that make any sense to you? Thanks, Ted From: Ali Sadik Kumlali [mailto:[EMAIL PROTECTED] Sent: Wednesday, January 03, 2007 1:13 PM To: axis-user@ws.apache.org Subject: Re: Soap Over JMS using Embedded Axis2 Engine Hi Ted, It seems that you have problems with MEP (message exchange pattern). According to the "Writing Web Services Using Axis2's Primary APIs" tutorial[1], "every operation must map to a corresponding MessageReceiver class.". But in JMS tutorial[2], services.xml doesn't map a particular operation to a corresponding MessageReceiver. I'm not sure whether it works in this way. Therefore could you please try the following structure: <service name="service"> <description> My Web Service </description> <transports> <transport>jms</transport> </transports> <parameter name="ServiceClass" locked="false">com.test.soap.lds.service.DataServiceWebService</parameter> <parameter name="allowedMethods" locked="false">executeDataservice</parameter> <parameter name="transport.jms.ConnectionFactory" locked="true">QueueConnectionFactory</parameter> <parameter name="transport.jms.Destination" locked="true">myservice</parameter> <operation name="yourInOutMethodName"> <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/> <actionMapping>urn:yourInOutMethodName</actionMapping> </operation> <operation name="yourInOnlyMethodName"> <messageReceiver class="org.apache.axis2.receivers.RawXMLINOnlyMessageReceiver"/> <actionMapping>urn:yourInOnlyMethodName</actionMapping> </operation> </service> You should select RawXMLINOutMessageReceiver or RawXMLINOnlyMessageReceiver according to your operation(method) type. If your operation returns a result, then you should use RawXMLINOutMessageReceiver. Otherwise use RawXMLINOnlyMessageReceiver. Please also consider that RawXML*MessageReceiver expects your operation accepts OMElement and optionally returns and OMElement. Regards, Ali Sadik Kumlali [1] http://ws.apache.org/axis2/1_1/xmlbased-server.html [2] http://ws.apache.org/axis2/1_1/jms-transport.html ----- Original Message ---- From: Ted Jones <[EMAIL PROTECTED]> To: axis-user@ws.apache.org; [EMAIL PROTECTED] Sent: Wednesday, January 3, 2007 5:22:13 PM Subject: RE: Soap Over JMS using Embedded Axis2 Engine DIV { MARGIN:0px;} (email with exception included, sorry about that) Thanks very much Ali. That seems to be the issue with the timeout. I started the JMSListener from my test client and it is picking up the message now. I am now getting the following exception: org.apache.axis2.AxisFault: Incoming message input stream is null at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:64) at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:381) at org.apache.axis2.description.OutInAxisOperationClient.execute(OutInAxisOperation.java:295) at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:579) at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:508) Any thoughts? Thanks, Ted From: Ali Sadik Kumlali [mailto:[EMAIL PROTECTED] Sent: Tuesday, January 02, 2007 4:57 PM To: axis-user@ws.apache.org Subject: Re: Soap Over JMS using Embedded Axis2 Engine Hi Ted, War distribution(AxisServlet actually) doesn't initialize JMS listener. Please look at followings: 1) http://www.mail-archive.com/axis-user@ws.apache.org/msg21464.html 2) https://issues.apache.org/jira/browse/AXIS2-1488 Regards, Ali Sadik Kumlali ----- Original Message ---- From: Ted Jones <[EMAIL PROTECTED]> To: axis-user@ws.apache.org; [EMAIL PROTECTED] Sent: Tuesday, January 2, 2007 9:35:14 PM Subject: RE: Soap Over JMS using Embedded Axis2 Engine UNKNOWN { FONT-FAMILY:Tahoma;} UNKNOWN { MARGIN:1in 1.25in;} P.MsoNormal { FONT-SIZE:12pt;MARGIN:0in 0in 0pt;FONT-FAMILY:"Times New Roman";} LI.MsoNormal { FONT-SIZE:12pt;MARGIN:0in 0in 0pt;FONT-FAMILY:"Times New Roman";} DIV.MsoNormal { FONT-SIZE:12pt;MARGIN:0in 0in 0pt;FONT-FAMILY:"Times New Roman";} A:link { COLOR:blue;TEXT-DECORATION:underline;} SPAN.MsoHyperlink { COLOR:blue;TEXT-DECORATION:underline;} A:visited { COLOR:purple;TEXT-DECORATION:underline;} SPAN.MsoHyperlinkFollowed { COLOR:purple;TEXT-DECORATION:underline;} SPAN.EmailStyle17 { COLOR:navy;FONT-FAMILY:Arial;} DIV.Section1 { } Thanks for the reply Brennan. I believe I have everything configured as per the link below, but I keep timing out while "waiting for the server to send the response". I am seeing this in my ActiveMQ console: myservice - No subscriptions registered, will not dispatch message at this time. "myservice" is the destination I am dynamically adding in my client code and that matches with the destination in my services.xml. Here is my services.xml: <service name="service"> <description> My Web Service </description> <transports> <transport>jms</transport> </transports> <parameter name="ServiceClass" locked="false">com.test.soap.lds.service.DataServiceWebService</parameter> <parameter name="allowedMethods" locked="false">executeDataservice</parameter> <parameter name="transport.jms.ConnectionFactory" locked="true">QueueConnectionFactory</parameter> <parameter name="transport.jms.Destination" locked="true">myservice</parameter> <messageReceivers> <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/> <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/> </messageReceivers> </service> Thanks for your help, Ted From: Brennan Spies [mailto:[EMAIL PROTECTED] Sent: Friday, December 29, 2006 10:19 PM To: axis-user@ws.apache.org Subject: RE: Soap Over JMS using Embedded Axis2 Engine Ted, Did you uncomment/configure the appropriate entries in your axis2.xml as well as your .aar’s service.xml? http://ws.apache.org/axis2/1_1/jms-transport.html From: Ted Jones [mailto:[EMAIL PROTECTED] Sent: Friday, December 29, 2006 3:36 PM To: axis-user@ws.apache.org Subject: Soap Over JMS using Embedded Axis2 Engine I am attempting to execute a web service via ActiveMQ. The web service is deployed to an Axis2 engine that is embedded in a web app running on Tomcat 5.5. Are there any known *gotchas* here? I cannot seem to communicate with the service via JMS as it keeps timing out. When I change my endpoint in the client call from the JMS endpoint to the web service endpoint, it finds it. Thanks, Ted __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com