You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Kevin Wang <kw...@farelogix.com> on 2002/11/20 16:21:02 UTC

JMS sample

Hi Jaime,

Actually, the sample is showing a proxy instead of a webservice.

Is it possible to deploy a JMS based webservices?

Can I wrap an Axis engine in SimpleJMSListener or whatever jms consumer, and
deploy my services to this engine, and in the OnMessage method, dispatch the
request message to those services?

Thanks,
Kevin



RE: JMS sample

Posted by Jaime Meritt <jm...@sonicsoftware.com>.
Inline...

Thanks,
Jaime 

-----Original Message-----
From: Kevin Wang [mailto:kwang@farelogix.com] 
Sent: Thursday, November 21, 2002 3:47 PM
To: axis-user@xml.apache.org
Subject: RE: JMS sample


Hi Jaime,

Can I archieve this using AXIS API:
VM1 --(request)--> VM2 --(forward request)--> VM3 --(response)--> VM1?
(do we need change the code to allow user set replyTo to a nontemporary
wellknown destination?)

<JAIME> This wouldn't work in the current Axis code base.  Basically
what would happen is VM2 would realize that a replyTo destination exists
and send the response back to the sender immediately.  Also, as you
noticed, since you currently have no control over the ReplyTo
destination, the VM3 service would be able to send back to VM2, but not
to VM1.  In the short term, you are best off using the approach you
describe below.


or I have to use this way:
VM1 <--(request/response)--> VM2 <--(request/response)--> VM3?

Thanks,
Kevin




RE: JMS sample

Posted by Kevin Wang <kw...@farelogix.com>.
Hi Jaime,

Can I archieve this using AXIS API:
VM1 --(request)--> VM2 --(forward request)--> VM3 --(response)--> VM1?
(do we need change the code to allow user set replyTo to a nontemporary
wellknown destination?)


or I have to use this way:
VM1 <--(request/response)--> VM2 <--(request/response)--> VM3?

Thanks,
Kevin



RE: JMS sample

Posted by Jaime Meritt <jm...@sonicsoftware.com>.
Great, let me know if you have any other issues.

Thanks,
Jaime 
-----Original Message-----
From: Kevin Wang [mailto:kwang@farelogix.com] 
Sent: Wednesday, November 20, 2002 4:51 PM
To: axis-user@xml.apache.org
Subject: RE: JMS sample


Jaime,

Thank you for your reply.

I have modified SimpleJMSListener.java (just for testing), wrap a Axis
engine,deploy a service to the engine and in the onMessage method I use
the
invoke method of the AXIS engine to call the service, it works fine.

Thanks,
Kevin



-----Original Message-----
From: Jaime Meritt [mailto:jmeritt@sonicsoftware.com]
Sent: Wednesday, November 20, 2002 4:22 PM
To: axis-user@xml.apache.org
Subject: RE: JMS sample


Kevin,

The stock sample is both a web service and a proxy to another web
service.  If you pass in XXX as the symbol it returns the hard coded
value.  If it is any other ticker symbol it goes to another web service
to get the actual value.  The proxy behavior is just an implementation
detail.  It is still a web service for all intents and purposes in that
it is deployed in an AxisServer and responds to client requests.

So in essence, the answer to your question is that it is possible to
deploy a web service over JMS.  The stock sample is an example of such a
web service that happens to have some proxy behavior that the client
knows nothing about.  The SimpleJMSListener does have an AxisServer that
it passes requests to when messages are received.  No code is required
on your part to get this type of behavior.  Simply use
SimpleJMSListener.  Does that explain it a bit?

Thanks,
Jaime

-----Original Message-----
From: Kevin Wang [mailto:kwang@farelogix.com]
Sent: Wednesday, November 20, 2002 10:21 AM
To: axis-user@xml.apache.org
Subject: JMS sample


Hi Jaime,

Actually, the sample is showing a proxy instead of a webservice.

Is it possible to deploy a JMS based webservices?

Can I wrap an Axis engine in SimpleJMSListener or whatever jms consumer,
and
deploy my services to this engine, and in the OnMessage method, dispatch
the
request message to those services?

Thanks,
Kevin







RE: JMS sample

Posted by Kevin Wang <kw...@farelogix.com>.
Jaime,

Thank you for your reply.

I have modified SimpleJMSListener.java (just for testing), wrap a Axis
engine,deploy a service to the engine and in the onMessage method I use the
invoke method of the AXIS engine to call the service, it works fine.

Thanks,
Kevin



-----Original Message-----
From: Jaime Meritt [mailto:jmeritt@sonicsoftware.com]
Sent: Wednesday, November 20, 2002 4:22 PM
To: axis-user@xml.apache.org
Subject: RE: JMS sample


Kevin,

The stock sample is both a web service and a proxy to another web
service.  If you pass in XXX as the symbol it returns the hard coded
value.  If it is any other ticker symbol it goes to another web service
to get the actual value.  The proxy behavior is just an implementation
detail.  It is still a web service for all intents and purposes in that
it is deployed in an AxisServer and responds to client requests.

So in essence, the answer to your question is that it is possible to
deploy a web service over JMS.  The stock sample is an example of such a
web service that happens to have some proxy behavior that the client
knows nothing about.  The SimpleJMSListener does have an AxisServer that
it passes requests to when messages are received.  No code is required
on your part to get this type of behavior.  Simply use
SimpleJMSListener.  Does that explain it a bit?

Thanks,
Jaime

-----Original Message-----
From: Kevin Wang [mailto:kwang@farelogix.com]
Sent: Wednesday, November 20, 2002 10:21 AM
To: axis-user@xml.apache.org
Subject: JMS sample


Hi Jaime,

Actually, the sample is showing a proxy instead of a webservice.

Is it possible to deploy a JMS based webservices?

Can I wrap an Axis engine in SimpleJMSListener or whatever jms consumer,
and
deploy my services to this engine, and in the OnMessage method, dispatch
the
request message to those services?

Thanks,
Kevin






RE: JMS sample

Posted by Jaime Meritt <jm...@sonicsoftware.com>.
Kevin,

The stock sample is both a web service and a proxy to another web
service.  If you pass in XXX as the symbol it returns the hard coded
value.  If it is any other ticker symbol it goes to another web service
to get the actual value.  The proxy behavior is just an implementation
detail.  It is still a web service for all intents and purposes in that
it is deployed in an AxisServer and responds to client requests.  

So in essence, the answer to your question is that it is possible to
deploy a web service over JMS.  The stock sample is an example of such a
web service that happens to have some proxy behavior that the client
knows nothing about.  The SimpleJMSListener does have an AxisServer that
it passes requests to when messages are received.  No code is required
on your part to get this type of behavior.  Simply use
SimpleJMSListener.  Does that explain it a bit?

Thanks,
Jaime 

-----Original Message-----
From: Kevin Wang [mailto:kwang@farelogix.com] 
Sent: Wednesday, November 20, 2002 10:21 AM
To: axis-user@xml.apache.org
Subject: JMS sample


Hi Jaime,

Actually, the sample is showing a proxy instead of a webservice.

Is it possible to deploy a JMS based webservices?

Can I wrap an Axis engine in SimpleJMSListener or whatever jms consumer,
and
deploy my services to this engine, and in the OnMessage method, dispatch
the
request message to those services?

Thanks,
Kevin