-
1. Re: Httprouter without terminating pipeline?
tfennelly Jan 28, 2010 7:16 AM (in response to eric_bustad)I'm afraid not... sorry. You could easily implement one... or modify the existing one, if you want. -
2. Re: Httprouter without terminating pipeline?
kconner Jan 28, 2010 7:22 AM (in response to tfennelly)org.jboss.soa.esb.actions.routing.http.HttpRouter -
3. Re: Httprouter without terminating pipeline?
tfennelly Jan 28, 2010 7:29 AM (in response to kconner)Ooops... sorry.... sounds like Kev is saying that HttpRouter already behaves in the way you describe i.e. does not terminate the pipeline... I thought it terminated the pipeline like the other routers. -
4. Re: Httprouter without terminating pipeline?
eric_bustad Jan 28, 2010 8:57 AM (in response to tfennelly)It certainly seems to be terminating the pipeline when I use it. -
5. Re: Httprouter without terminating pipeline?
kconner Jan 28, 2010 9:04 AM (in response to eric_bustad)We currently have two HttpRouters, an old deprecated one (which does terminate), and a newer, more functional one, which doesn't.
Which are you using? Also, which version of ESB?
-
6. Re: Httprouter without terminating pipeline?
eric_bustad Jan 28, 2010 9:11 AM (in response to kconner)org.jboss.soa.esb.actions.routing.http.HttpRouter and JBoss ESB Server 4.7. I follow the HttpRouter action with a action using org.jboss.soa.esb.actions.SystemPrintln, which is not run. Instead, the response from the remote web service is routed back to the original http connection that was made to _my_ service. -
7. Re: Httprouter without terminating pipeline?
kconner Jan 28, 2010 9:17 AM (in response to eric_bustad)1 of 1 people found this helpfulThis is definitely the right version and does return the message at the end, continuing the pipeline.
Do you have DEBUG enabled? Can you send us the log and a small example of what you are doing?
-
8. Re: Httprouter without terminating pipeline?
eric_bustad Jan 28, 2010 9:30 AM (in response to kconner)OK, you are correct. Looking at the log file again, I do see the SystemPrintln action being run. I will go now. -
9. Re: Httprouter without terminating pipeline?
kconner Jan 28, 2010 9:43 AM (in response to eric_bustad)No worries, thanks for letting us know. -
10. Re: Httprouter without terminating pipeline?
davesiracusa May 14, 2010 4:28 PM (in response to eric_bustad)I would expect actions to continue.
FYI - Take a look at the asynchronous continuation sample, it may provide an interesting way to process your requests.
I did a quick re-factor for ESB 5.0 so it uses a http gateway, it worked, latency went up, however it may allow you to do other things.
https://community.jboss.org/wiki/AsyncContinuation
(Link to downloadable zipfile is at the bottom)
BTW - The httprouter (new) has a few problems:
1) Using this router one must specify the method (get,post,delete, etc) in the configuration tree. If you route to an external server that supports both GET and POST you are stuck because the method factory is created at init time forcing you to use only one.
2) Say you point the router to a web server that serves up a page. This page contains relative links to images. The text/html content comes back however the images do not. As a matter of fact you can't specify anything after the base url, its ignored.
And my router as such:
<action name="httprouter">
<property name="endpointUrl" value="http://localhost">
<http-client-property name="max-total-connections" value="100" />
<http-client-property name="max-connections-per-host" value="50" />
</property>
<property name="method" value="GET" />
<property name="responseType" value="STRING" />
</action>
Urls like this succeed (partially):
- http://localhost:8080/Quickstart_async/http/test (returns text/html only).
Urls like this fail:
- http://localhost:8080/Quickstart_async/http/test/index.htm
- http://localhost:8080/Quickstart_async/http/test/welcome.png
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I changed the httprouter source:
1) I added support for comma separated method value (GET,POST,DELETE).
2) I changed the code in the process method adding a call to method.setPath to initialize the path and all is good.
--Dave
-
AsyncContinuation.pdf 7.7 KB
-
-
11. Re: Httprouter without terminating pipeline?
eric_bustad May 20, 2010 11:59 AM (in response to davesiracusa)Thanks, I'll give this a try.