WSDL Query Handler Service

The WSDL Query Handler Service provides an alternative to the default WSDL download capabilities built into the .
gateway92
The WSDL Query Handler Service provides an alternative to the default WSDL download capabilities built into the 
Layer7 API Gateway
.
Contents:
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:
  1. Set the 
    service.wsdlQueryEnabled
     cluster property to 
    false
    . This disables the existing directing of WSDL requests to the WSDL download service.
  2. Disable the WSDL download service on the HTTP(S) Listen Port Properties
Once these steps are done, 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:
  1. Retrieves the WSDL or WSDL dependency document
  2. Updates the endpoints and references.
  3. 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.