Page tree

Main Steps

In order to exchange data with the web-service, third-party applications must build a SOAP client from WSDL specifications.

When developing a client application that interacts with the web service, you must comply with the following requirements:

Create a SOAP client

Create a SOAP client based on the service description in dnsmanagerservice.wsdl .

It is recommended that you use the dnsmanagerservice.wsdl file located on the DNS Manager server. However, you have the option to keep the dnsmanagerservice.wsdl file on a separate host.

Generate auth data

Create a SOAP header containing the authentication data. This header includes the username and password required to log in to the DNS Manager interface and must be used in all communications with the web service;

Send request

For all the requests that the client application sends to the web service, you should:

  • Provide the data used by the request (as defined in the corresponding schemas).

    Caution

    The schemas defining the requests may contain elements that are marked as required. If you do not include these elements in your request, the message will not be sent to the web service.

  • Send the request to the web service.
  • Process the response. The response structure is defined in the provided schemas;

SOAP message structure

A SOAP message is an ordinary XML document containing the following elements:

  • Envelope - defines the XML document as a SOAP message, wraps the Header and the Body.
  • Header - contains header information used by DNS Manager to authenticate the request.
  • Body - contains the actual request information.

You can locate operations available for specific components by locating the correspondent XML schema. Usually these schemas bear the name of the component. For example, the component DNSZone has a corresponding schema entitled DNSZone.wsdl. Please follow the steps below to locate operations:

How to Locate an Operation

All operations are listed in the section:

<portType name="<SCHEMA_INTERFACE_NAME>">
	....
</portType>

and have the following structure:

<operation name="<OPERATION_NAME>">
	<input message="tns:<OPERATION_NAME>In"/>
	<output message="tns:<OPERATION_NAME>Out"/>
</operation>

Here is an example of the AddDNSZone operation that can be performed to add a new DNS zone to the system.

<portType name="DNSZoneInterface">
	...
	<operation name="AddDNSZone">
            <input message="tns:addDNSZoneIn"/>
            <output message="tns:addDNSZoneOut"/>
        </operation>
	...
</portType>

This operation can be found in the DNSZone.wsdl schema.

Operation headers

The headers used to make the SOAP call are set in the section:

<binding name="<SCHEMA_NAME>" type="tns:<SCHEMA_NAME>Interface">
	...
</binding>

and have the following structure:

<operation name="<OPERATION_NAME>">
	<soap:operation soapAction="http://4psa.com/<ENTITY>/1.5:<OPERATION_NAME>In" style="document"/>
	<input>
		<soap:body use="literal"/>
		<soap:header message="tns:<OPERATION_NAME>InHeader1" part="messagePart" use="literal"/>
	</input>
	<output>
		<soap:body use="literal"/>
	</output>
</operation>

Please find below an example for the AddDNSZone operation:

<binding name="DNSZone" type="tns:DNSZoneInterface">
	<operation name="AddDNSZone">
		<soap:operation soapAction="http://4psa.com/DNSZone/1.5:addDNSZoneIn" style="document"/>
            <input>
                <soap:body use="literal"/>
                <soap:header message="tns:addDNSZoneInHeader1" part="messagePart" use="literal"/>
            </input>
            <output>
                <soap:body use="literal"/>
            </output>
        </operation>
</binding>
#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))
  • No labels

Except where otherwise noted, content in this space is licensed under a Creative Commons Attribution 4.0 International.