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

proxies

Syntax

				<serviceProxy name="string" 
							  port="integer"
							  method="[*,POST,PUT,GET,DELETE, TRACE, OPTIONS]"
							  host="[string,*]"
							  blockRequest="[true,false]"
							  blockResponse="[true,false]"
							  inboundTLS="[true,false]"
							  outboundTLS="[true,false]">
					<path />?
					<request>
						[interceptors]*
					</request>
					[interceptors]*
					<response>	
						[interceptors]*
					</response>
					<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
inboundTLS no false false
outboundTLS no false false

Child Elements

Name Cardinality Description
adminConsole 0..1 Initializes the Admin Console.
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.
formValidation 0..* Interceptor that validates form parameter.
target 0..1 Specifies target host and port.
path 0..1 Limits client request by path components.
localhost 0..1 Defines the host address that is used when connecting to the server.
request 0..* Limits interceptors to requests only.
response 0..* Limits interceptors to response only.
regExUrlRewriter 0..* Interceptor to rewrite URLs.
webServer 0..1 Web Server Interceptor
switch 0..* Interceptor for content based routing.
accessControl 0..1 Interceptor to restrict access to services and resources.
exchangeStore 0..* Interceptor that stores exchanges.
groovy 0..* Runs Groovy scripts.
log 0..* Logs request and response.
statisticsCSV 0..* Interceptor that logs in a CSV file.
statisticsJDBC 0..* Interceptor that logs in a database.
throttle 0..* Interceptor that delays and limits requests.
transform 0..* Interceptor that applies XSLT transformations
balancer 0..1 LoadBalancer Interceptor
validator 0..* Interceptor that validates against a WSDL and referenced Schemas
rest2Soap 0..* Interceptor that exposes a SOAP service as REST resource.
interceptor 0..* References a interceptor defined in the monitor-beans.xml
regExReplacer 0..* Interceptor that replaces parts of the content based on a regulare expression.
wsdlRewriter 0..1 Interceptor that rewrites URLs in endpoint and import definitions of a WSDL.