Quantcast

jms to http

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

jms to http

pchakinala
Hi,
 We are using SMX 4.4 and Camel 2.8.3. Process flow defined below

http client --->camel-http--> jms queue provider ---> queue consumer ---> http ---> target service

<endpoint id="VendorAsyncQueue" uri="jms:queue:VendorAsyncQueue?transacted=true&amp;deliveryPersistent=true"/> 

<route>
                        <from uri="jetty:http://0.0.0.0:8192/AsyncReq/"/>
                         <setExchangePattern pattern="InOnly"/>
                                <to uri="VendorAsyncQueue"/>
        </route>
                <route>
      <from uri="jms:queue:VendorAsyncQueue"/>
                         <to uri="http://localhost:8080/nipr.jsp?bridgeEndpoint=true"/> 
                </route>
After consuming the message from queue,it should send it to target  http service.
However observed http endpoint value is replacing at run time.
http://localhost:8080/nipr.jsp/AsyncReq/
 
Here attached log file for your reference. Please update why http uri value is replacing at runtime.

servicemix.log
beans.xml
Regards,
Praveen Chakinala


Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: jms to http

Willem.Jiang
Hi,

You are setting the http endpoint to be bridgeEndpoint which means the
request url will be updated with request URI.
If you don't need that you can remove the option of bridgeEndpoint.

On Tue Jun 12 22:27:27 2012, pchakinala wrote:

> Hi,
>   We are using SMX 4.4 and Camel 2.8.3. Process flow defined below
>
> http client --->camel-http-->  jms queue provider --->  queue consumer --->
> http --->  target service
>
> <endpoint id="VendorAsyncQueue"
> uri="jms:queue:VendorAsyncQueue?transacted=true&amp;deliveryPersistent=true"/>
>
> <route>
> <from uri="jetty:http://0.0.0.0:8192/AsyncReq/"/>
> <setExchangePattern pattern="InOnly"/>
> <to uri="VendorAsyncQueue"/>
> </route>
> <route>
>       <from uri="jms:queue:VendorAsyncQueue"/>
>                           <to
> uri="http://localhost:8080/nipr.jsp?bridgeEndpoint=true"/>
> </route>
> After consuming the message from queue,it should send it to target  http
> service.
> However observed http endpoint value is replacing at run time.
> http://localhost:8080/nipr.jsp/AsyncReq/
>
> Here attached log file for your reference. Please update why http uri value
> is replacing at runtime.
>
> http://camel.465427.n5.nabble.com/file/n5714372/servicemix.log
> servicemix.log
> http://camel.465427.n5.nabble.com/file/n5714372/beans.xml beans.xml
> Regards,
> Praveen Chakinala
>
>
>
>
> --
> View this message in context: http://camel.465427.n5.nabble.com/jms-to-http-tp5714372.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>



--
Willem
----------------------------------
FuseSource
Web: http://www.fusesource.com
Blog:    http://willemjiang.blogspot.com (English)
         http://jnn.javaeye.com (Chinese)
Twitter: willemjiang
Weibo: willemjiang

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

RE: jms to http

pchakinala
This post has NOT been accepted by the mailing list yet.

Hi Wilem,

 

Thank you for the response.

 

Usecase: Need to implement Async Service. So we have used jms queue (Camel-jms) and camel-http  components.

 

  Httpclient --à camel-http (<from uri="jetty:" target="_top" rel="nofollow" link="external">click here.
NAML

This message contains information that may be privileged or confidential and is the property of PlanetSoft Holdings Inc. It is intended only for the person to whom it is addressed. If you are not the intended recipient, you are not authorized to read, print, retain, copy, disseminate, distribute, or use this message or any part thereof. If you receive this message in error, please notify the sender immediately and delete all copies of this message.

servicemix log without bridgeEndpoint.log (50K) Download Attachment
servicemix log with bridgeEndpoint.log (320K) Download Attachment
beans.xml.txt (4K) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

RE: jms to http

pchakinala
Hi Wilem,

Thank you for the response.

Usecase: Need to implement Async Service. So we have used jms queue (Camel-jms) and camel-http  components.

  Httpclient -- camel-http (<from uri="jetty:http://0.0.0.0:8192/mib401Asyncreq/"/>)- jms queue provider --->  queue consumer --->http  target (http) service

If I don’t use bridgeEndpoint  found below exception.
java.lang.IllegalArgumentException: Invalid uri: /mib401Asyncreq/mib401Asyncreq/. If you are forwarding/bridging http endpoints, then enable the bridgeEndpoint option on the endpoint: Endpoint[http://localhost:8080/jsp-examples/checkbox/nipr.jsp]

If I use bridgeEndpoint found below exception:
Obesered URL value is changing in the run time and adding first route uri

First route or incoming endpoint :  <from uri="jetty:http://0.0.0.0:8192/mib401Asyncreq/"/>
To uri: <to uri="http://localhost:8080/jsp-examples/checkbox/nipr.jsp?bridgeEndpoint=true"/> 
                                               
Changing uri dynamically like below:

        | 100 - org.apache.camel.camel-http - 2.8.3 | Executing http POST method: http://localhost:8080/jsp-examples/checkbox/nipr.jsp/mib401Asyncreq/

I attached log files and beans xml for your reference. Please suggest me why the url value is replacing in runtime.

Is this the right way to implement httpJms Bridge? Please suggest
beans.xml.txtservicemix_log_with_bridgeEndpoint.logservicemix_log_without_bridgeEndpoint.log
Loading...