Using JBoss ESB to Access REST services
JBoss ESB has a lot of pre-defined actions which can be used to proxy request to other services/protocols. One interesting one is the HttpRouter which allows the invocation of external (ESB unaware) Http endpoints from an ESB action pipeline. This action uses Apache Commons HttpClient under the covers.
In this short tutorial we will see, how to proxy your REST service invocations with JBoss ESB.
Supposing you have defined a REST service with the following GET method:
In order to invoke this REST service we will configure an HttpRouter action in a basic jboss-esb.xml file:
Note: this action requires a file named ht.props at the root of the .esb archive which contains client's http connection properties. Including a property file is optional, however it s is generally used for fine tuning the http connection. For example, here are two properties you might include in your ht.props file:
max-connections-per-host=100
max-total-connections=100
You might add a bit more of complexity to your service by passing Header parameters to your REST service:
Header parameters will be sent using the "header" element, inside the "property" section:
For your reference, here's the list of properties supported by the HttpRouter action:
Property | Description | Required |
---|---|---|
unwrap |
Setting this to
true (the default) will extract the message payload from the Message object before sending. false will send the serialized Message as either XML or Base64 encoded JavaSerialized object, based on the MessageType. | No |
endpointUrl |
The endpoint to which the message will be forwarded.
| Yes |
http-client-property |
The HttpRouter uses the HttpClientFactory to create and configure the HttpClient instance. You can specify the configuration of the factory by using the file property which will point to a properties file on the local file system, classpath or URI based.
| No |
method |
Currently only supports GET and POST.
| Yes |
responseType |
Specifies in what form the response should be sent back. Either STRING or BYTES. Default value is STRING.
| No |
headers |
To be added to the request. Supports multiple
| No |
MappedHeaderList |
A comma separated list of header names that should be propagated to the target endpoint.
| No |
1 comment:
fitflops sale
cheap air jordans
huarache shoes
nike huarache sale
cheap jordans
air jordan shoes
michael kors handbags
cheap jordans online
michael kors outlet
michael kors outlet
nike huarache
michael kors handbags,michael kors handbags clearance,michael kors clearance
nfl jerseys from china
true religion store
nmd adidas store
air jordan shoes
adidas yeezy boost
michael kors outlet online
http://www.outlettiffanyand.co
tiffany and co outlet
adidas stan smith
tiffany jewelry
http://www.oakleystoreonline.us.org
ugg outlet
Post a Comment