<?xml version="1.0" encoding="UTF-8"?>
<!--
  --	NCTS Web Service WSDL
  --
  --  HM Revenues & Customs, www.hmrc.gov.uk
  --
  --  Version: 1.0
  --  Last Updated: 21/03/2006
  -->
<definitions  xmlns:tns="http://webservices.hmrc.gov.uk/ncts"
  xmlns:wsr="http://www.openuri.org/2002/10/soap/reliability/"
  xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
  xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
  xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
  xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
  xmlns:soap12enc="http://www.w3.org/2003/05/soap-encoding"
  xmlns:conv="http://www.openuri.org/2002/04/wsdl/conversation/"
  xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
  xmlns:s="http://www.w3.org/2001/XMLSchema"
  xmlns="http://schemas.xmlsoap.org/wsdl/"
  targetNamespace="http://webservices.hmrc.gov.uk/ncts">
 <types>
  <xsd:schema    xmlns:ncts="http://webservices.hmrc.gov.uk/ncts"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    xmlns:stns="http://webservices.hmrc.gov.uk/ncts"
    elementFormDefault="qualified"
    attributeFormDefault="unqualified"
    targetNamespace="http://webservices.hmrc.gov.uk/ncts">
   <xsd:complexType     name="GetByTransactionIdRequest">
    <xsd:sequence>
     <xsd:element       type="xsd:string"
       name="transactionId">
     </xsd:element>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType     name="GetByTransactionIdResponse">
    <xsd:sequence>
     <xsd:element       type="ncts:MessageHeader"
       name="header">
     </xsd:element>
     <xsd:element       type="ncts:ResponseMessage"
       name="messages"
       minOccurs="0"
       maxOccurs="unbounded">
     </xsd:element>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType     name="MessageHeader">
    <xsd:sequence>
     <xsd:element       type="xsd:string"
       name="userId">
     </xsd:element>
     <xsd:element       type="xsd:dateTime"
       name="timestamp">
     </xsd:element>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType     name="PollingRequest">
    <xsd:sequence>
     <xsd:element       type="xsd:nonNegativeInteger"
       name="lastRetrieved">
     </xsd:element>
     <xsd:element       type="xsd:nonNegativeInteger"
       name="maxResponses"
       minOccurs="0">
     </xsd:element>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType     name="PollingResponse">
    <xsd:sequence>
     <xsd:element       type="ncts:MessageHeader"
       name="header">
     </xsd:element>
     <xsd:element       type="xsd:nonNegativeInteger"
       name="highestReturned"
       minOccurs="0">
     </xsd:element>
     <xsd:element       type="xsd:boolean"
       name="moreAvailable"
       minOccurs="0">
     </xsd:element>
     <xsd:element       type="ncts:ResponseMessage"
       name="messages"
       minOccurs="0"
       maxOccurs="unbounded">
     </xsd:element>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType     name="ResponseMessage">
    <xsd:sequence>
     <xsd:element       type="xsd:nonNegativeInteger"
       name="sequenceNumber">
     </xsd:element>
     <xsd:element       type="xsd:string"
       name="transactionId">
     </xsd:element>
     <xsd:element       type="xsd:string"
       name="body">
     </xsd:element>
     <xsd:element       type="xsd:dateTime"
       name="receiptTime">
     </xsd:element>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType     name="ResponseSummary">
    <xsd:sequence>
     <xsd:element       type="xsd:nonNegativeInteger"
       name="sequenceNumber">
     </xsd:element>
     <xsd:element       type="xsd:dateTime"
       name="receiptTime">
     </xsd:element>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType     name="SubmissionRequest">
    <xsd:sequence>
     <xsd:element       type="xsd:string"
       name="message">
     </xsd:element>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType     name="SubmissionResponse">
    <xsd:sequence>
     <xsd:element       type="ncts:MessageHeader"
       name="header">
     </xsd:element>
     <xsd:element       type="xsd:string"
       name="transactionId">
     </xsd:element>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType     name="TransactionStatusRequest">
    <xsd:sequence>
     <xsd:element       type="xsd:string"
       name="transactionId">
     </xsd:element>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:complexType     name="TransactionStatusResponse">
    <xsd:sequence>
     <xsd:element       type="ncts:MessageHeader"
       name="header">
     </xsd:element>
     <xsd:element       type="xsd:string"
       name="transactionId">
     </xsd:element>
     <xsd:element       type="xsd:dateTime"
       name="creationTime">
     </xsd:element>
     <xsd:element       type="ncts:ResponseSummary"
       name="responseSummaries"
       minOccurs="0"
       maxOccurs="unbounded">
     </xsd:element>
    </xsd:sequence>
   </xsd:complexType>
   <xsd:element     type="ncts:PollingRequest"
     name="getMessages"
     nillable="true">
   </xsd:element>
   <xsd:element     type="ncts:GetByTransactionIdRequest"
     name="getMessagesByTransactionId"
     nillable="true">
   </xsd:element>
   <xsd:element     type="ncts:GetByTransactionIdResponse"
     name="getMessagesByTransactionIdResponse"
     nillable="true">
   </xsd:element>
   <xsd:element     type="ncts:PollingResponse"
     name="getMessagesResponse"
     nillable="true">
   </xsd:element>
   <xsd:element     type="ncts:TransactionStatusRequest"
     name="getTransactionStatus"
     nillable="true">
   </xsd:element>
   <xsd:element     type="ncts:TransactionStatusResponse"
     name="getTransactionStatusResponse"
     nillable="true">
   </xsd:element>
   <xsd:element     type="ncts:SubmissionRequest"
     name="submitDocument"
     nillable="true">
   </xsd:element>
   <xsd:element     type="ncts:SubmissionResponse"
     name="submitDocumentResponse"
     nillable="true">
   </xsd:element>
  </xsd:schema>
 </types>
 <message   name="getMessagesByTransactionId">
  <part    xmlns:partns="http://webservices.hmrc.gov.uk/ncts"
    name="getByTransactionIdRequest"
    element="partns:getMessagesByTransactionId">
  </part>
 </message>
 <message   name="getMessagesByTransactionIdResponse">
  <part    xmlns:partns="http://webservices.hmrc.gov.uk/ncts"
    name="result"
    element="partns:getMessagesByTransactionIdResponse">
  </part>
 </message>
 <message   name="getMessages">
  <part    xmlns:partns="http://webservices.hmrc.gov.uk/ncts"
    name="pollingRequest"
    element="partns:getMessages">
  </part>
 </message>
 <message   name="getMessagesResponse">
  <part    xmlns:partns="http://webservices.hmrc.gov.uk/ncts"
    name="result"
    element="partns:getMessagesResponse">
  </part>
 </message>
 <message   name="submitDocument">
  <part    xmlns:partns="http://webservices.hmrc.gov.uk/ncts"
    name="submissionRequest"
    element="partns:submitDocument">
  </part>
 </message>
 <message   name="submitDocumentResponse">
  <part    xmlns:partns="http://webservices.hmrc.gov.uk/ncts"
    name="result"
    element="partns:submitDocumentResponse">
  </part>
 </message>
 <message   name="getTransactionStatus">
  <part    xmlns:partns="http://webservices.hmrc.gov.uk/ncts"
    name="transactionStatusRequest"
    element="partns:getTransactionStatus">
  </part>
 </message>
 <message   name="getTransactionStatusResponse">
  <part    xmlns:partns="http://webservices.hmrc.gov.uk/ncts"
    name="result"
    element="partns:getTransactionStatusResponse">
  </part>
 </message>
 <portType   name="nctsPort">
  <operation    name="getMessagesByTransactionId">
   <input     message="tns:getMessagesByTransactionId">
   </input>
   <output     message="tns:getMessagesByTransactionIdResponse">
   </output>
  </operation>
  <operation    name="getMessages">
   <input     message="tns:getMessages">
   </input>
   <output     message="tns:getMessagesResponse">
   </output>
  </operation>
  <operation    name="submitDocument">
   <input     message="tns:submitDocument">
   </input>
   <output     message="tns:submitDocumentResponse">
   </output>
  </operation>
  <operation    name="getTransactionStatus">
   <input     message="tns:getTransactionStatus">
   </input>
   <output     message="tns:getTransactionStatusResponse">
   </output>
  </operation>
 </portType>
 <binding   type="tns:nctsPort"
   name="nctsPort">
  <soap:binding    style="document"
    transport="http://schemas.xmlsoap.org/soap/http">
  </soap:binding>
  <operation    name="getMessagesByTransactionId">
   <soap:operation     style="document"
     soapAction="">
   </soap:operation>
   <input>
    <soap:body      namespace="http://webservices.hmrc.gov.uk/ncts"
      use="literal">
    </soap:body>
   </input>
   <output>
    <soap:body      namespace="http://webservices.hmrc.gov.uk/ncts"
      use="literal">
    </soap:body>
   </output>
  </operation>
  <operation    name="getMessages">
   <soap:operation     style="document"
     soapAction="">
   </soap:operation>
   <input>
    <soap:body      namespace="http://webservices.hmrc.gov.uk/ncts"
      use="literal">
    </soap:body>
   </input>
   <output>
    <soap:body      namespace="http://webservices.hmrc.gov.uk/ncts"
      use="literal">
    </soap:body>
   </output>
  </operation>
  <operation    name="submitDocument">
   <soap:operation     style="document"
     soapAction="">
   </soap:operation>
   <input>
    <soap:body      namespace="http://webservices.hmrc.gov.uk/ncts"
      use="literal">
    </soap:body>
   </input>
   <output>
    <soap:body      namespace="http://webservices.hmrc.gov.uk/ncts"
      use="literal">
    </soap:body>
   </output>
  </operation>
  <operation    name="getTransactionStatus">
   <soap:operation     style="document"
     soapAction="">
   </soap:operation>
   <input>
    <soap:body      namespace="http://webservices.hmrc.gov.uk/ncts"
      use="literal">
    </soap:body>
   </input>
   <output>
    <soap:body      namespace="http://webservices.hmrc.gov.uk/ncts"
      use="literal">
    </soap:body>
   </output>
  </operation>
 </binding>
 <service   name="ncts">
  <port    name="nctsPort"
    binding="tns:nctsPort">
   <soap:address     location="https://webservices.hmrc.gov.uk/ws/ncts/service">
   </soap:address>
  </port>
 </service>
</definitions>
