WSDL Query Handler Service
The WSDL Query Handler Service provides an alternative to the default WSDL download capabilities built into the . For more information, see .
gateway91
The WSDL Query Handler Service provides an alternative to the default WSDL download capabilities built into the
API Gateway
. For more information, see Download WSDL and Policy Documents.This service can retrieve WSDL and Service Documents independently of any authentication or security policy in the subject service. To publish this service, run the Publish WSDL Query Handler Wizard. Modify the published service to define custom authentication for WSDL requests in policy.
Prerequisites
To use the WSDL Query Handler Service, perform the following steps to disable the built-in WSDL download service:
- Set theservice.wsdlQueryEnabledcluster property to 'false'. This setting disables the existing directing of WSDL requests to the WSDL download service.
- Disable the WSDL download service on the HTTP(S) listen ports that are used with the WSDL Query Handler Service. For more information, see the "Built-in services" setting in the [Basic Settings] tab of Listen Port Properties.
Once these steps are done, you can publish the WSDL Query Handler Service with the Publish WSDL Query Handler Wizard.
Policies Created by Service
When the WSDL Query Handler Service is published, three new entries appear in the list of services and policies:
WSDL Query Handler Service
The WSDL Query Handler Service retrieves and returns the service WSDL or WSDL dependency (service documents) as requested. Do not modify this policy.
The name of this service can be set when the Publish WSDL Query Handler Wizard is run.
The template policy uses the service name and routing URI specified in the Publish WSDL Query Handler Wizard.
Understanding the Policy Flow
The template WSDL query policy created by the wizard includes embedded comments to help you understand the policy. The following description is an overview of the policy flow:
First, the policy determines the type of the request:
- Explicit service WSDL dependency (ServiceDocument) request:Query parameters serviceoid and servicedocoid are both present.
- Explicit service WSDL request:Query parameter serviceoid present, but servicedocoid not present.
- Intercepted/redirected WSDL query:neither query parameter is present and the request URI is used to resolve the service ID. The request is considered invalid if the service resolution fails (service does not exist or is not a SOAP service).
When the type is determined, the Service ID and potentially a Service Document ID are made available as context variables.
Next, the custom authentication policy fragment is executed.
Finally, the service does the following steps:
- Retrieves the WSDL or WSDL dependency document
- Updates the endpoints and references.
- Sets the response message to return to the requestor.
Do not modify the WSDL Query Handler Policy. The authentication section is automatically updated when you customize the WSDL Query Handler - Authentication policy fragment.
WSDL Query Handler - Authentication
Modify this policy fragment to customize the authentication required by your organization. The default authentication implements HTTP Basic Authentication against the Internal Identity Provider over SSL.
This policy fragment is included in the WSDL Query Handler Policy, so all changes are reflected automatically.
WSDL Query Handler - Query Redirection
This policy directs WSDL queries (HTTP requests to a published service ending in "?wsdl") to the WSDL Query Handler Service.
Add this policy fragment into the
message-received
global policy. For more information, see Global Policy Fragments.