The soapProxy auto-configures itself from a WSDL: it reads the soap:address to derive the backend host, port, and path, rewrites the WSDL endpoint to point to the gateway, and serves the rewritten WSDL at ?wsdl. A built-in service explorer is available at the same address. When a path is configured, request paths are automatically rewritten between the gateway path and the backend path. See tutorials/soap/20-SOAPProxy.yaml.
Explanation:
If the WSDL is unavailable at startup, the proxy becomes inactive. Reinitialization can be triggered via the admin console or automatically by the router, which periodically retries.
Example Configuration
# Minimal: auto-configure from WSDL soapProxy: port:2000 wsdl: https://www.predic8.de/city-service?wsdl
---
# Full: path rewriting, WSDL validation, custom host/port in rewritten WSDL, # explicit service selection, and a dedicated HTTP client for WSDL retrieval soapProxy: port:2000 host: api.example.com wsdl: https://www.predic8.de/city-service?wsdl serviceName: CityService portName: CityServiceSoap path: uri: /city-service wsdlHttpClientConfig: connection: timeout:5000 flow: -wsdlRewriter: host: api.example.com protocol: https port:443 -validator:{}
Restricts to requests whose Host header matches one of the given hostnames. Separate multiple hostnames with spaces. The asterisk * matches any number of characters, including zero, for basic globbing.
predic8.de *.predic8.de
ip
false
not set
If present, binds the port only on the specified IP. Useful for hosts with multiple IP addresses.
127.0.0.1
name
false
By default, a name will be automatically generated from the target host, port, etc.
The name as shown in the Admin Console.
-
port
false
80
The port Membrane listens on for incoming connections.
8080
portName
false
-
Name of the WSDL port. When omitted, the explorer shows the first port defined in the WSDL.
-
serviceName
false
-
Name of the WSDL service to use, if the WSDL defines more than one. Optional; if omitted, the first service defined in the WSDL is used.
-
wsdl
true
-
URL or file path of the WSDL document. Both HTTP/HTTPS URLs and file: paths are supported.
Configuration container for Membrane's HTTP client. Allows defining proxy, connection, authentication, TLS, and retry behavior. Can be used as a reusable bean and referenced via . Most of its sub-elements are optional.
Restricts to requests whose path matches, either by prefix (starts-with) or, when enabled, by regular expression. In a soapProxy, setting a path also rewrites the paths of SOAP requests and the service addresses in the WSDL accordingly.