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:

SOAP message structure

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

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>