soapProxy
A SOAP proxy can be deployed on front of a SOAP Web Service. It conceals the server and offers the same interface as the target server to its clients.
Can be used in
Syntax
<soapProxy name="string" port="integer" wsdl="string" host="[string,*]" ip="[ip]"> <path />? <ssl />? <request> [interceptors]* </request> [interceptors]* <response> [interceptors]* </response> <localhost />? </serviceProxy>
Listing 1: serviceProxy Syntax
Sample
<soapProxy wsdl="http://www.thomas-bayer.com/axis2/services/BLZService?wsdl"> <soapStackTraceFilter /> <validator /> </soapProxy>
Listing 2: soapProxy Example
There is also a step-by-step introduction on how to use the <soapProxy> element.
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 |
| wsdl | yes | The WSDL of the SOAP service. | ||
| 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 |
|---|---|---|
| path | 0..1 | Defines the path the SOAP service is published under. |
| 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. |
| ssl | 0..1 | Configures inbound (in <serviceProxy/>) or outbound (in <target/>) SSL. |
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. |
| soapStackTraceFilter | 0..* | Removes Java stack traces from SOAP Fault messages. |
| 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. |