Provisioning Service Point

The ProvisioningServicePoint (PSP) WSDL defines the methods which form the service level interface provided by the PSP.  A UML model of the interface would look like:

The schema for the objects used in this interface are defined in the SPML schema .  The response and status objects have the following form:

PSP WSDL

<?xml version="1.0" encoding="utf-8"?>
<definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
             xmlns:xsd="http://www.w3.org/2001/XMLSchema"
             xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
             targetNamespace="urn:oasis:names:tc:SPML:0.1:provisioning:psp"
             xmlns:tns="urn:oasis:names:tc:SPML:0.1:provisioning:psp"
             xmlns="http://schemas.xmlsoap.org/wsdl/"
             xmlns:api="urn:oasis:names:tc:SPML:0.1:provisioning:spmlapi">

  <import namespace="urn:oasis:names:tc:SPML:0.1:spmlapi" location="http://schemas.oasis-open.org/spml/spmlapi.xsd"/>

  <message name="getAvailableTargetsRequest">
    <part name="request" element="api:GetAvailableTargetsRequest"/>
  </message>

  <message name="getAvailableTargetsResponse">
    <part name="response" element="api:GetAvailableTargetsResponse"/>
  </message>

  <message name="createSubscriptionRequest">
    <part name="request" element="api:CreateSubscriptionRequest"/>
  </message>
  <message name="createSubscriptionResponse">
    <part name="response" element="api:CreateSubscriptionResponse"/>
  </message>

  <message name="modifySubscriptionRequest">
    <part name="request" element="api:ModifySubscriptionRequest"/>
  </message>
  <message name="modifySubscriptionResponse">
    <part name="response" element="api:ModifySubscriptionResponse"/>
  </message>

  <message name="modifySubscriptionParametersRequest">
    <part name="request" element="api:ModifySubscriptionParametersRequest"/>
  </message>
  <message name="modifySubscriptionParametersResponse">
    <part name="response" element="api:ModifySubscriptionParametersResponse"/>
  </message>

  <message name="deleteSubscriptionRequest">
    <part name="request" element="api:DeleteSubscriptionRequest"/>
  </message>
  <message name="deleteSubscriptionResponse">
    <part name="response" element="api:DeleteSubscriptionResponse"/>
  </message>

  <message name="getTargetRequest">
    <part name="request" element="api:GetTargetRequest"/>
  </message>
  <message name="getTargetResponse">
    <part name="response" element="api:GetTargetResponse"/>
  </message>

  <message name="getSubscriptionRequest">
    <part name="request" element="api:GetSubscriptionRequest"/>
  </message>
  <message name="getSubscriptionResponse">
    <part name="response" element="api:GetSubscriptionResponse"/>
  </message>

  <message name="getStatusRequest">
    <part name="request" element="api:GetStatusRequest"/>
  </message>
  <message name="getStatusResponse">
    <part name="response" element="api:GetStatusResponse"/>
  </message>

  <message name="provisioningFaultMessage">
    <part name="response" element="api:ProvisioningFault"/>
  </message>

  <portType name="ProvisioningServicePoint">
    <operation name="getAvailableTargets">
      <input message="tns:getAvailableTargetsRequest"/>
      <output message="tns:getAvailableTargetsResponse"/>
      <fault name="getAvailableTargetsFault" message="tns:provisioningFaultMessage"/>
    </operation>
    <operation name="getTarget">
      <input message="tns:getTargetRequest"/>
      <output message="tns:getTargetResponse"/>
      <fault name="getTargetFault" message="tns:provisioningFaultMessage"/>
    </operation>
    <operation name="createSubscription">
      <input message="tns:createSubscriptionRequest"/>
      <output message="tns:createSubscriptionResponse"/>
      <fault name="createSubscriptionFault" message="tns:provisioningFaultMessage"/>
    </operation>
    <operation name="modifySubscription">
      <input message="tns:modifySubscriptionRequest"/>
      <output message="tns:modifySubscriptionResponse"/>
      <fault name="modifySubscriptionFault" message="tns:provisioningFaultMessage"/>
    </operation>
    <operation name="modifySubscriptionParameters">
      <input message="tns:modifySubscriptionParametersRequest"/>
      <output message="tns:modifySubscriptionParametersResponse"/>
      <fault name="modifySubscriptionParametersFault" message="tns:provisioningFaultMessage"/>
    </operation>
    <operation name="deleteSubscription">
      <input message="tns:deleteSubscriptionRequest"/>
      <output message="tns:deleteSubscriptionResponse"/>
      <fault name="deleteSubscriptionFault" message="tns:provisioningFaultMessage"/>
    </operation>
    <operation name="getSubscription">
      <input message="tns:getSubscriptionRequest"/>
      <output message="tns:getSubscriptionResponse"/>
      <fault name="getSubscriptionFault" message="tns:provisioningFaultMessage"/>
    </operation>
    <operation name="getStatus">
      <input message="tns:getStatusRequest"/>
      <output message="tns:getStatusResponse"/>
      <fault name="getStatusFault" message="tns:provisioningFaultMessage"/>
    </operation>
  </portType>
</definitions>