serviceProxy
A service proxy can be deployed on front of a Web server, Web Service or a REST resource. It conceals the server and offers the same interface as the target server to its clients.
Can be used in
Syntax
<serviceProxy name="string" port="integer" method="[*,POST,PUT,GET,DELETE,TRACE,OPTIONS]" host="[string,*]" blockRequest="[true,false]" blockResponse="[true,false]" ip="[ip]"> <path />? <ssl />? <request> [interceptors]* </request> [interceptors]* <response> [interceptors]* </response> <localhost />? <target />? </serviceProxy>
Listing 1: serviceProxy Syntax
Sample
<serviceProxy port="80"> <response> <transform xslt="customer2person.xsl" /> </response> <target host="www.thomas-bayer.com" port="80" /> </serviceProxy>
Listing 2: serviceProxy Example
Attributes
Name | Mandatory | Default | Description | Example |
---|---|---|---|---|
name | no | A name is created based on the pattern: [target host] [method] [path]:[target port] | Test Web Service | |
port | no | 80 | Listen Port | 80 |
host | no | * | Applies rule only if attribute is * or client host equals this attribute. | localhost |
method | no | * | Applies rule only if attribute is * or request method equals this attribute. | false |
blockResponse | no | false | false | |
blockRequest | no | false | false | |
ip | no | missing | If present, binds the port only on the specified IP. Useful for hosts with multiple IP addresses. | 127.0.0.1 |
Child Elements
Name | Cardinality | Description |
---|---|---|
localhost | 0..1 | Defines the host address that is used when connecting to the server. |
path | 0..1 | Limits client request by path components. |
request | 0..* | Limits interceptors to requests only. |
response | 0..* | Limits interceptors to response only. |
ssl | 0..1 | Configures inbound (in <serviceProxy/>) or outbound (in <target/>) SSL. |
target | 0..1 | Specifies target host and port. |
Interceptor Child Elements
Name | Cardinality | Description |
---|---|---|
accessControl | 0..1 | Interceptor to restrict access to services and resources. |
adminConsole | 0..1 | Initializes the Admin Console. |
balancer | 0..1 | LoadBalancer Interceptor |
basicAuthentication | 0..1 | HTTP Basic Authentication Interceptor |
clusterNotification | 0..1 | Up/Down push interface interceptor for cluster managment |
counter | 0..* | Interceptor that provides a test web site. |
exchangeStore | 0..* | Interceptor that stores exchanges. |
formValidation | 0..* | Interceptor that validates form parameter. |
groovy | 0..* | Runs Groovy scripts. |
interceptor | 0..* | References a interceptor defined in the monitor-beans.xml |
log | 0..* | Logs request and response. |
regExReplacer | 0..* | Interceptor that replaces parts of the content based on a regulare expression. |
rest2Soap | 0..* | Interceptor that exposes a SOAP service as REST resource. |
rewriter | 0..* | Interceptor to rewrite URLs. |
statisticsCSV | 0..* | Interceptor that logs in a CSV file. |
statisticsJDBC | 0..* | Interceptor that logs in a database. |
switch | 0..* | Interceptor for content based routing. |
throttle | 0..* | Interceptor that delays and limits requests. |
transform | 0..* | Interceptor that applies XSLT transformations |
validator | 0..* | Interceptor that validates against a WSDL and referenced Schemas |
webServer | 0..1 | Web Server Interceptor |
wsdlRewriter | 0..1 | Interceptor that rewrites URLs in endpoint and import definitions of a WSDL. |
xmlProtection | 0..1 | Interceptor that protects against certain forms of XML attacks. |