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