You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@synapse.apache.org by Gerald Loeffler <ge...@googlemail.com> on 2007/03/14 17:20:34 UTC
HTTP->JMS proxy for one-way messages (JMSSender bug?)
hi,
Has anyone successfully used JMSSender for one-way messages?
My set-up is really simple:
-----------------------
<proxy name="proxy" transports="http">
<target endpoint="jms_endpoint" />
<wsdl key="wsdl_with_one_way_op" />
</proxy>
-----------------------
The only special thing is that the operation defined in the WSDL and
invoked by the client is one-way (an in-only MEP).
I experience that a one-way message (to an in-only MEP) that is sent
to a JMS destination via JMSSender causes JMSSender to wait for a
response message on a reply
queue. Of course this does not make sense, and indeed the blocking JMS
receive of that reply message ultimately times out with this error:
-----------------------
DEBUG [13 Mar 20:33:13] JMSSender - JMSSender invoke()
DEBUG [13 Mar 20:33:13] JMSSender - [Client]Sending message to
destination : TOPIC.T_INT_CLIENT_EVT
DEBUG [13 Mar 20:33:13] JMSSender - Waiting for a maximum of 30000ms
for a response message to destination : QUEUE.JMS_TQ3
WARN [13 Mar 20:33:43] JMSSender - Did not receive a JMS response
within 30000 ms to destination : TOPIC.T_INT_CLIENT_EVT
-----------------------
Very briefly looking at the code for
org.apache.axis2.transport.jms.JMSSender in the trunk it indeed seems
that JMSSender sets the flag "waitForResponse" to true regardless of
whether the messages is one-way (to an in-only MEP) or not.
Can anybody confirm my understanding of the behaviour of JMSSender?
(this is for Synapse 0.91/Axis 1.1.1)
(sorry for the cross-posting - i've also sent this to the axis user list.)
thanks in advance,
kind regards,
gerald
--
http://www.gerald-loeffler.net
---------------------------------------------------------------------
To unsubscribe, e-mail: synapse-user-unsubscribe@ws.apache.org
For additional commands, e-mail: synapse-user-help@ws.apache.org
Re: HTTP->JMS proxy for one-way messages (JMSSender bug?)
Posted by Gerald Loeffler <ge...@googlemail.com>.
i've raised a JIRA bug
(https://issues.apache.org/jira/browse/SYNAPSE-68) against the Synapse
project (although the code for JMSSender lives in the Axis2 project;
not sure what's correct here).
cheers,
gerald
On 14/03/07, Paul Fremantle <pz...@gmail.com> wrote:
> Asankha
>
> As a post 1.0 we need to be able to read the WSDL definition and use
> that. In the meantime, I suggest we add an explicit marker to endpoint
> to indicate not to expect a response.
>
> I don't go for the none approach.... it seems counter-intuitive to me.
> That seems to be telling the target what to do, not Synapse.
>
> Paul
>
> On 3/14/07, Asankha C. Perera <as...@wso2.com> wrote:
> > Hi Gerald
> > > Has anyone successfully used JMSSender for one-way messages?
> > >
> > > My set-up is really simple:
> > > -----------------------
> > > <proxy name="proxy" transports="http">
> > > <target endpoint="jms_endpoint" />
> > > <wsdl key="wsdl_with_one_way_op" />
> > > </proxy>
> > > -----------------------
> > >
> > > The only special thing is that the operation defined in the WSDL and
> > > invoked by the client is one-way (an in-only MEP).
> > The problem here is that you do not define to Synapse which operation to
> > invoke with the WSDL, or if its IN only or IN-OUT. I guess we could
> > specify this within the endpoint definition, or maybe even set the
> > replyTo header to none to indicate that the message is not expecting a
> > reply?
> > > I experience that a one-way message (to an in-only MEP) that is sent
> > > to a JMS destination via JMSSender causes JMSSender to wait for a
> > > response message on a reply
> > > queue. Of course this does not make sense, and indeed the blocking JMS
> > > receive of that reply message ultimately times out with this error:
> > >
> > > -----------------------
> > > DEBUG [13 Mar 20:33:13] JMSSender - JMSSender invoke()
> > > DEBUG [13 Mar 20:33:13] JMSSender - [Client]Sending message to
> > > destination : TOPIC.T_INT_CLIENT_EVT
> > > DEBUG [13 Mar 20:33:13] JMSSender - Waiting for a maximum of 30000ms
> > > for a response message to destination : QUEUE.JMS_TQ3
> > > WARN [13 Mar 20:33:43] JMSSender - Did not receive a JMS response
> > > within 30000 ms to destination : TOPIC.T_INT_CLIENT_EVT
> > > -----------------------
> > >
> > > Very briefly looking at the code for
> > > org.apache.axis2.transport.jms.JMSSender in the trunk it indeed seems
> > > that JMSSender sets the flag "waitForResponse" to true regardless of
> > > whether the messages is one-way (to an in-only MEP) or not.
> > >
> > > Can anybody confirm my understanding of the behaviour of JMSSender?
> > Yes, you are correct. It is time we updated the JMS transport with the
> > current open issues.
> >
> > asankha
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: synapse-user-unsubscribe@ws.apache.org
> > For additional commands, e-mail: synapse-user-help@ws.apache.org
> >
> >
>
>
> --
> Paul Fremantle
> VP/Technology, WSO2 and OASIS WS-RX TC Co-chair
>
> http://bloglines.com/blog/paulfremantle
> paul@wso2.com
>
> "Oxygenating the Web Service Platform", www.wso2.com
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: synapse-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: synapse-user-help@ws.apache.org
>
>
--
http://www.gerald-loeffler.net
---------------------------------------------------------------------
To unsubscribe, e-mail: synapse-user-unsubscribe@ws.apache.org
For additional commands, e-mail: synapse-user-help@ws.apache.org
Re: HTTP->JMS proxy for one-way messages (JMSSender bug?)
Posted by Paul Fremantle <pz...@gmail.com>.
Asankha
As a post 1.0 we need to be able to read the WSDL definition and use
that. In the meantime, I suggest we add an explicit marker to endpoint
to indicate not to expect a response.
I don't go for the none approach.... it seems counter-intuitive to me.
That seems to be telling the target what to do, not Synapse.
Paul
On 3/14/07, Asankha C. Perera <as...@wso2.com> wrote:
> Hi Gerald
> > Has anyone successfully used JMSSender for one-way messages?
> >
> > My set-up is really simple:
> > -----------------------
> > <proxy name="proxy" transports="http">
> > <target endpoint="jms_endpoint" />
> > <wsdl key="wsdl_with_one_way_op" />
> > </proxy>
> > -----------------------
> >
> > The only special thing is that the operation defined in the WSDL and
> > invoked by the client is one-way (an in-only MEP).
> The problem here is that you do not define to Synapse which operation to
> invoke with the WSDL, or if its IN only or IN-OUT. I guess we could
> specify this within the endpoint definition, or maybe even set the
> replyTo header to none to indicate that the message is not expecting a
> reply?
> > I experience that a one-way message (to an in-only MEP) that is sent
> > to a JMS destination via JMSSender causes JMSSender to wait for a
> > response message on a reply
> > queue. Of course this does not make sense, and indeed the blocking JMS
> > receive of that reply message ultimately times out with this error:
> >
> > -----------------------
> > DEBUG [13 Mar 20:33:13] JMSSender - JMSSender invoke()
> > DEBUG [13 Mar 20:33:13] JMSSender - [Client]Sending message to
> > destination : TOPIC.T_INT_CLIENT_EVT
> > DEBUG [13 Mar 20:33:13] JMSSender - Waiting for a maximum of 30000ms
> > for a response message to destination : QUEUE.JMS_TQ3
> > WARN [13 Mar 20:33:43] JMSSender - Did not receive a JMS response
> > within 30000 ms to destination : TOPIC.T_INT_CLIENT_EVT
> > -----------------------
> >
> > Very briefly looking at the code for
> > org.apache.axis2.transport.jms.JMSSender in the trunk it indeed seems
> > that JMSSender sets the flag "waitForResponse" to true regardless of
> > whether the messages is one-way (to an in-only MEP) or not.
> >
> > Can anybody confirm my understanding of the behaviour of JMSSender?
> Yes, you are correct. It is time we updated the JMS transport with the
> current open issues.
>
> asankha
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: synapse-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: synapse-user-help@ws.apache.org
>
>
--
Paul Fremantle
VP/Technology, WSO2 and OASIS WS-RX TC Co-chair
http://bloglines.com/blog/paulfremantle
paul@wso2.com
"Oxygenating the Web Service Platform", www.wso2.com
---------------------------------------------------------------------
To unsubscribe, e-mail: synapse-user-unsubscribe@ws.apache.org
For additional commands, e-mail: synapse-user-help@ws.apache.org
Re: HTTP->JMS proxy for one-way messages (JMSSender bug?)
Posted by "Asankha C. Perera" <as...@wso2.com>.
Hi Gerald
> Has anyone successfully used JMSSender for one-way messages?
>
> My set-up is really simple:
> -----------------------
> <proxy name="proxy" transports="http">
> <target endpoint="jms_endpoint" />
> <wsdl key="wsdl_with_one_way_op" />
> </proxy>
> -----------------------
>
> The only special thing is that the operation defined in the WSDL and
> invoked by the client is one-way (an in-only MEP).
The problem here is that you do not define to Synapse which operation to
invoke with the WSDL, or if its IN only or IN-OUT. I guess we could
specify this within the endpoint definition, or maybe even set the
replyTo header to none to indicate that the message is not expecting a
reply?
> I experience that a one-way message (to an in-only MEP) that is sent
> to a JMS destination via JMSSender causes JMSSender to wait for a
> response message on a reply
> queue. Of course this does not make sense, and indeed the blocking JMS
> receive of that reply message ultimately times out with this error:
>
> -----------------------
> DEBUG [13 Mar 20:33:13] JMSSender - JMSSender invoke()
> DEBUG [13 Mar 20:33:13] JMSSender - [Client]Sending message to
> destination : TOPIC.T_INT_CLIENT_EVT
> DEBUG [13 Mar 20:33:13] JMSSender - Waiting for a maximum of 30000ms
> for a response message to destination : QUEUE.JMS_TQ3
> WARN [13 Mar 20:33:43] JMSSender - Did not receive a JMS response
> within 30000 ms to destination : TOPIC.T_INT_CLIENT_EVT
> -----------------------
>
> Very briefly looking at the code for
> org.apache.axis2.transport.jms.JMSSender in the trunk it indeed seems
> that JMSSender sets the flag "waitForResponse" to true regardless of
> whether the messages is one-way (to an in-only MEP) or not.
>
> Can anybody confirm my understanding of the behaviour of JMSSender?
Yes, you are correct. It is time we updated the JMS transport with the
current open issues.
asankha
---------------------------------------------------------------------
To unsubscribe, e-mail: synapse-user-unsubscribe@ws.apache.org
For additional commands, e-mail: synapse-user-help@ws.apache.org
Re: HTTP->JMS proxy for one-way messages (JMSSender bug?)
Posted by "Asankha C. Perera" <as...@wso2.com>.
Hi Gerald
> Has anyone successfully used JMSSender for one-way messages?
>
> My set-up is really simple:
> -----------------------
> <proxy name="proxy" transports="http">
> <target endpoint="jms_endpoint" />
> <wsdl key="wsdl_with_one_way_op" />
> </proxy>
> -----------------------
>
> The only special thing is that the operation defined in the WSDL and
> invoked by the client is one-way (an in-only MEP).
The problem here is that you do not define to Synapse which operation to
invoke with the WSDL, or if its IN only or IN-OUT. I guess we could
specify this within the endpoint definition, or maybe even set the
replyTo header to none to indicate that the message is not expecting a
reply?
> I experience that a one-way message (to an in-only MEP) that is sent
> to a JMS destination via JMSSender causes JMSSender to wait for a
> response message on a reply
> queue. Of course this does not make sense, and indeed the blocking JMS
> receive of that reply message ultimately times out with this error:
>
> -----------------------
> DEBUG [13 Mar 20:33:13] JMSSender - JMSSender invoke()
> DEBUG [13 Mar 20:33:13] JMSSender - [Client]Sending message to
> destination : TOPIC.T_INT_CLIENT_EVT
> DEBUG [13 Mar 20:33:13] JMSSender - Waiting for a maximum of 30000ms
> for a response message to destination : QUEUE.JMS_TQ3
> WARN [13 Mar 20:33:43] JMSSender - Did not receive a JMS response
> within 30000 ms to destination : TOPIC.T_INT_CLIENT_EVT
> -----------------------
>
> Very briefly looking at the code for
> org.apache.axis2.transport.jms.JMSSender in the trunk it indeed seems
> that JMSSender sets the flag "waitForResponse" to true regardless of
> whether the messages is one-way (to an in-only MEP) or not.
>
> Can anybody confirm my understanding of the behaviour of JMSSender?
Yes, you are correct. It is time we updated the JMS transport with the
current open issues.
asankha
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org
Re: HTTP->JMS proxy for one-way messages (JMSSender bug?)
Posted by Paul Fremantle <pz...@gmail.com>.
Gerald
Could well be a bug! I've only done it the other way around
(JMSReceiver, HTTPSender).
Please can you raise a JIRA?
Paul
On 3/14/07, Gerald Loeffler <ge...@googlemail.com> wrote:
> hi,
>
> Has anyone successfully used JMSSender for one-way messages?
>
> My set-up is really simple:
> -----------------------
> <proxy name="proxy" transports="http">
> <target endpoint="jms_endpoint" />
> <wsdl key="wsdl_with_one_way_op" />
> </proxy>
> -----------------------
>
> The only special thing is that the operation defined in the WSDL and
> invoked by the client is one-way (an in-only MEP).
>
> I experience that a one-way message (to an in-only MEP) that is sent
> to a JMS destination via JMSSender causes JMSSender to wait for a
> response message on a reply
> queue. Of course this does not make sense, and indeed the blocking JMS
> receive of that reply message ultimately times out with this error:
>
> -----------------------
> DEBUG [13 Mar 20:33:13] JMSSender - JMSSender invoke()
> DEBUG [13 Mar 20:33:13] JMSSender - [Client]Sending message to
> destination : TOPIC.T_INT_CLIENT_EVT
> DEBUG [13 Mar 20:33:13] JMSSender - Waiting for a maximum of 30000ms
> for a response message to destination : QUEUE.JMS_TQ3
> WARN [13 Mar 20:33:43] JMSSender - Did not receive a JMS response
> within 30000 ms to destination : TOPIC.T_INT_CLIENT_EVT
> -----------------------
>
> Very briefly looking at the code for
> org.apache.axis2.transport.jms.JMSSender in the trunk it indeed seems
> that JMSSender sets the flag "waitForResponse" to true regardless of
> whether the messages is one-way (to an in-only MEP) or not.
>
> Can anybody confirm my understanding of the behaviour of JMSSender?
>
> (this is for Synapse 0.91/Axis 1.1.1)
>
> (sorry for the cross-posting - i've also sent this to the axis user list.)
>
> thanks in advance,
> kind regards,
> gerald
>
> --
> http://www.gerald-loeffler.net
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: synapse-user-unsubscribe@ws.apache.org
> For additional commands, e-mail: synapse-user-help@ws.apache.org
>
>
--
Paul Fremantle
VP/Technology, WSO2 and OASIS WS-RX TC Co-chair
http://bloglines.com/blog/paulfremantle
paul@wso2.com
"Oxygenating the Web Service Platform", www.wso2.com
---------------------------------------------------------------------
To unsubscribe, e-mail: synapse-user-unsubscribe@ws.apache.org
For additional commands, e-mail: synapse-user-help@ws.apache.org