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:spml="urn:oasis:names:tc:SPML:0.1:provisioning:spml">

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

  <message name="getAvailableTargetsRequest"/>
  <message name="getAvailableTargetsResponse">
    <part name="status" element="spml:ProvisioningServiceStatus"/>
    <part name="targets" type="spml:ProvisioningTargets"/>
  </message>
  <message name="getTargetRequest"/>
      <part name="identifier" type="spml:ProvisioningIdentifier"/>
  </message>
  <message name="getTargetResponse">
      <part name="target" element="spml:ProvisioningTarget"/>
  </message>
  <message name="createSubscriptionRequest">
    <part name="subscription" element="spml:ProvisioningServiceSubscription"/>
  </message>
  <message name="createSubscriptionResponse">
    <part name="requestId" type="xsd:string"/>
    <part name="status" element="spml:ProvisioningServiceStatus"/>
    <part name="subscription" element="spml:ProvisioningServiceSubscription"/>
  </message>
  <message name="modifySubscriptionRequest">
    <part name="subscription" element="spml:ProvisioningServiceSubscription"/>
  </message>
  <message name="modifySubscriptionResponse">
    <part name="requestId" type="xsd:string"/>
    <part name="status" element="spml:ProvisioningServiceStatus"/>
    <part name="subscription" element="spml:ProvisioningServiceSubscription"/>
  </message>
  <message name="deleteSubscriptionRequest">
    <part name="subscription" element="spml:ProvisioningServiceSubscription"/>
  </message>
  <message name="deleteSubscriptionResponse">
    <part name="requestId" type="xsd:string"/>
    <part name="status" element="spml:ProvisioningServiceStatus"/>
    <part name="subscription" element="spml:ProvisioningServiceSubscription"/>
  </message>
  <message name="querySubscriptionRequest">
    <part name="identifier" element="spml:ProvisioningIdentifier"/>
  </message>
  <message name="querySubscriptionResponse">
    <part name="status" element="spml:ProvisioningServiceStatus"/>
    <part name="subscriptions" element="spml:ProvisioningSubscriptions"/>
  </message>
  <message name="getStatusRequest">
    <part name="requestId" type="xsd:string"/>
  </message>
  <message name="getStatusResponse">
    <part name="status" element="spml:ProvisioningServiceStatus"/>
  </message>

  <portType name="ProvisioningServicePoint">
    <operation name="getAvailableTargets">
      <input message="tns:getAvailableTargetsRequest"/>
      <output message="tns:getAvailableTargetsResponse"/>
    </operation>
    <operation name="getTarget">
      <input message="tns:getTargetRequest"/>
      <output message="tns:getTargetResponse"/>
    </operation>
    <operation name="createSubscription">
      <input message="tns:createSubscriptionRequest"/>
      <output message="tns:createSubscriptionResponse"/>
    </operation>
    <operation name="modifySubscription">
      <input message="tns:modifySubscriptionRequest"/>
      <output message="tns:modifySubscriptionResponse"/>
    </operation>
    <operation name="deleteSubscription">
      <input message="tns:deleteSubscriptionRequest"/>
      <output message="tns:deleteSubscriptionResponse"/>
    </operation>
    <operation name="querySubscription">
      <input message="tns:querySubscriptionRequest"/>
      <output message="tns:querySubscriptionResponse"/>
    </operation>
    <operation name="getStatus">
      <input message="tns:getStatusRequest"/>
      <output message="tns:getStatusResponse"/>
    </operation>
  </portType>
</definitions>