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: [email protected]; [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: [email protected]
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/[email protected]/msg21464.html
2)
https://issues.apache.org/jira/browse/AXIS2-1488
Regards,
Ali
Sadik Kumlali
-----
Original Message ----
From: Ted Jones <[EMAIL PROTECTED]>
To:
[email protected]; [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: [email protected]
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:
[email protected]
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