Retrieve Service WSDL Assertion
The Retrieve Service WSDL Assertion does the following:
gateway91
The
Retrieve Service WSDL Assertion
does the following:- Retrieves a service's WSDL document or WSDL dependency (Service Document).
- Rewrites import references.
- Adds or updates endpoints with the specified protocol, host, and port.
- Stores the document in the specified target.
This assertion is intended for use within the WSDL Query Handler Service. You create this service by using the Publish WSDL Query Handler Wizard.
Compared to the existing WSDL download capability, this assertion alone does not perform any authentication or enforce WS-Security Policy compliance. The existing capability is described in Download WSDL and Policy Documents
.
Properties
Setting | What you should know... |
Retrieval Details | This assertion can only retrieve one type of document at a time: either a WSDL document or its WSDL dependency (also known as the 'Service Document'). |
Service ID | The service for which the WSDL or WSDL dependency is being retrieved. You may specify a context variable. |
Service Document ID | Enabled only if retrieving a WSDL dependency document. Specify the ID of the service document that is a dependency of the service WSDL. |
Protocol | The protocol to use for the service endpoints. If using a variable, specify the Protocol Variable. |
Host | The host name to use for the service endpoints. You may specify a context variable. |
Port | The port number to use for the service endpoints. You may specify a context variable. |
Proxy dependency references | Enables proxying of WSDL dependencies (for example, schema documents) by rewriting references to them, based on the routing URI of the service in which this assertion is currently running. When retrieving a Service Document, this setting is enabled and cannot be changed (dependency retrieval requires proxying.) References for Gateway internal services are always proxied, regardless of this setting. WSDL documents for Gateway published services that were added from a file path (for example, "C:/Services/HelloWorld.wsdl") as opposed to a URL ("http://www.example.com/Services/HelloWorld.wsdl") will likewise always be proxied. |
Target Message | This target message stores the WSDL document. If using a Message Variable, specify the variable name. |
Frequently Asked Questions
Question | Answer |
When using a context variable for the message target, must this variable already exist? | No. This assertion creates the variable if it does not currently exist. Otherwise, it overwrites any existing variables. |
What happens if the published service cannot be found? | If the specified ID is not a valid identifier for a service, then audit 10700 is logged. If the specified ID is a valid identifier, but does not match any published service, then audit 10701 is logged. Either way, the assertion fails. |
Will this assertion work with non-SOAP services? | No. Only SOAP services have WSDL documents. |
Which audit codes are specific to this assertion? | This assertion uses audit codes 10700 through 10716, but other codes may be logged. For more information, see Audit Detail Codes. |
Why do I sometimes see code 152 returned when my host name is not defined instead of 10709? | The audit 10709 ("No host name specified") returns when a specified context variable resolves to empty at run time (""). By comparison, codes 152 ("Unsupported variable") and -10 ("No such variable") return when the variable is undefined (has no value at all). The same applies to other fields that accept context variables. |
Do the endpoint details affect proxy URLs created for dependency references? | No. Reference rewriting is not related to endpoint updating. The protocol, host, and port settings are only used to add or update endpoints. |
Why can't I change the 'Proxy dependency references' check box? | When retrieval is set to "Retrieve WSDL Dependency", the proxy check box is selected and uneditable. Reason: dependency retrieval requires proxying. |