<?xml version="1.0" encoding="UTF-8"?> <definitions targetNamespace="http://ukmail.business-post.com/mailmark/manifest" xmlns:ns2="http://schemas.xmlsoap.org/wsdl/jms/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:ns1="http://schemas.xmlsoap.org/wsdl/http/" xmlns:ns3="http://www.w3.org/2006/05/addressing/wsdl" xmlns:hdr="http://ns.ukmail.com/msg/header/1.0" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns0="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:envelope="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:manifest="http://ukmail.business-post.com/mailmark/manifest" xmlns:flt="http://ns.ukmail.com/msg/fault/1.0" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"> <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Handbuilt</wsdl:documentation> <wsp:UsingPolicy xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" wsdl:Required="true" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" /> <wsp:Policy xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"> <sp:SecurityHeader MustManifestEncryption="true" MustPrepend="true" xmlns:sp="http://schemas.xmlsoap.org/ws/2002/12/secext" /> </wsp:Policy> <wsp:Policy wsu:Id="SecurityTokens" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> <wsp:ExactlyOne> <wsp:All> <sp:SecurityToken xmlns:sp="http://schemas.xmlsoap.org/ws/2002/12/secext"> <sp:TokenType>sp:UsernameToken</sp:TokenType> </sp:SecurityToken> </wsp:All> </wsp:ExactlyOne> </wsp:Policy> <wsp:Policy wsu:Id="item_manifest-1_input_policy" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"> <wsp:PolicyReference URI="#SecurityTokens" /> </wsp:Policy> <types> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:import namespace="http://ukmail.business-post.com/mailmark/manifest"> <!--schemaLocation='./wsdlfile.asvc?keyid=0760-groLzULVCAaKBFQB-970A74A0'--> </xsd:import> </xsd:schema> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://ukmail.business-post.com/mailmark/manifest"> <xsd:element name="status" type="xsd:string" /> </xsd:schema> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:import namespace="http://ns.ukmail.com/msg/header/1.0"> <!--schemaLocation='./wsdlfile.asvc?keyid=1760-groLzULVCAaKBFQB-970A74A0'--> </xsd:import> </xsd:schema> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:import namespace="http://ns.ukmail.com/msg/fault/1.0"> <!--schemaLocation='./wsdlfile.asvc?keyid=2760-groLzULVCAaKBFQB-970A74A0'--> </xsd:import> </xsd:schema> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://ukmail.business-post.com/mailmark/manifest" xmlns:manifest="http://ukmail.business-post.com/mailmark/manifest"> <xs:element name="ItemsBatch"> <xs:complexType> <xs:sequence> <xs:element name="BatchReference" type="manifest:BatchReference" /> <xs:element name="SCID" type="manifest:SCID" /> <xs:element name="Items" type="manifest:Items" /> </xs:sequence> </xs:complexType> </xs:element> <xs:simpleType name="BatchReference"> <xs:restriction base="xs:string"> <xs:minLength value="1" /> <xs:pattern value=".*[^\s].*" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="SCID"> <xs:restriction base="xs:string"> <xs:minLength value="1" /> <xs:pattern value=".*[^\s].*" /> </xs:restriction> </xs:simpleType> <xs:complexType name="Items"> <xs:sequence> <xs:element maxOccurs="unbounded" name="Item" type="manifest:Item" /> </xs:sequence> </xs:complexType> <xs:complexType name="Item"> <xs:sequence> <xs:element minOccurs="0" name="AddressLine1" nillable="true" type="xs:string" /> <xs:element minOccurs="0" name="AddressLine2" nillable="true" type="xs:string" /> <xs:element minOccurs="0" name="AddressLine3" nillable="true" type="xs:string" /> <xs:element minOccurs="0" name="AddressLine4" nillable="true" type="xs:string" /> <xs:element minOccurs="0" name="AddressLine5" nillable="true" type="xs:string" /> <xs:element minOccurs="0" name="AddressLine6" nillable="true" type="xs:string" /> <xs:element minOccurs="0" name="AddressLine7" nillable="true" type="xs:string" /> <xs:element minOccurs="0" name="AddressLine8" nillable="true" type="xs:string" /> <xs:element minOccurs="0" name="AddressLine9" nillable="true" type="xs:string" /> <xs:element minOccurs="0" name="AdvertisingAttribute1" nillable="true" type="xs:string" /> <xs:element minOccurs="0" name="AdvertisingAttribute2" nillable="true" type="xs:string" /> <xs:element minOccurs="0" name="AdvertisingAttribute3" nillable="true" type="xs:string" /> <xs:element minOccurs="0" name="AdvertisingAttribute4" nillable="true" type="xs:string" /> <xs:element minOccurs="0" name="CampaignName" nillable="true" type="xs:string" /> <xs:element name="Class"> <xs:simpleType> <xs:annotation> <xs:documentation>Field Class must exist but cannot be empty</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:minLength value="1" /> <xs:pattern value=".*[^\s].*" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element minOccurs="0" name="DPS" nillable="true"> <xs:simpleType> <xs:annotation> <xs:documentation>Field DPS must exist but cannot be empty</xs:documentation> </xs:annotation> <xs:restriction base="xs:string" /> </xs:simpleType> </xs:element> <xs:element minOccurs="0" name="Department" nillable="true" type="xs:string" /> <xs:element name="EIBItemId"> <xs:simpleType> <xs:annotation> <xs:documentation>Field EIBItemId must exist but cannot be empty</xs:documentation> </xs:annotation> <xs:restriction base="xs:int"> <xs:pattern value="[0-9]{1,8}" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Format"> <xs:simpleType> <xs:annotation> <xs:documentation>Field Format must exist but cannot be empty</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:minLength value="1" /> <xs:pattern value=".*[^\s].*" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Machinable"> <xs:simpleType> <xs:annotation> <xs:documentation>Field Machinable must exist but cannot be empty</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="E" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element minOccurs="0" name="MailOriginatorSubDivisionName" nillable="true" type="xs:string" /> <xs:element minOccurs="0" name="MailSubType1" nillable="true" type="xs:string" /> <xs:element minOccurs="0" name="MailSubType2" nillable="true" type="xs:string" /> <xs:element minOccurs="0" name="MailSubType3" nillable="true" type="xs:string" /> <xs:element minOccurs="0" name="MailSubType4" nillable="true" type="xs:string" /> <xs:element name="MailType"> <xs:simpleType> <xs:annotation> <xs:documentation>Field MailType must exist but cannot be empty</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:pattern value=".*[0-9]|[A-Z].*" /> <xs:maxLength value="1" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element minOccurs="0" name="MailerId" type="xs:int" /> <xs:element name="NumberOfAddressLines"> <xs:simpleType> <xs:annotation> <xs:documentation>Field NumberOfAddressLines must exist but cannot be empty</xs:documentation> </xs:annotation> <xs:restriction base="xs:int"> <xs:pattern value="\d{1}" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element minOccurs="0" name="PAFResellerProduct" nillable="true" type="xs:string" /> <xs:element minOccurs="0" name="PAFResellerProductVersion" nillable="true" type="xs:string" /> <xs:element minOccurs="0" name="PAFVersion" nillable="true" type="xs:string" /> <xs:element name="PostCode"> <xs:simpleType> <xs:annotation> <xs:documentation>Field PostCode must exist but cannot be empty</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:minLength value="1" /> <xs:pattern value="[/^ *$/]{7}|.*[^\s].*" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Product"> <xs:simpleType> <xs:annotation> <xs:documentation>Field Product must exist but cannot be empty</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:minLength value="1" /> <xs:pattern value=".*[^\s].*" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element minOccurs="0" name="RTSDPS" nillable="true" type="xs:string" /> <xs:element minOccurs="0" name="RTSPostCode" nillable="true" type="xs:string" /> <xs:element minOccurs="0" name="RTSService" nillable="true" type="xs:string" /> <xs:element minOccurs="0" name="ResellerUsed" nillable="true" type="xs:string" /> <xs:element minOccurs="0" name="ResponseClass" nillable="true" type="xs:string" /> <xs:element minOccurs="0" name="ResponseDPS" nillable="true" type="xs:string" /> <xs:element minOccurs="0" name="ResponseFormat" nillable="true" type="xs:string" /> <xs:element minOccurs="0" name="ResponseItemId" type="xs:int" /> <xs:element minOccurs="0" name="ResponseLicenceNo" nillable="true" type="xs:string" /> <xs:element minOccurs="0" name="ResponseMailType" nillable="true" type="xs:string" /> <xs:element minOccurs="0" name="ResponsePostCode" nillable="true" type="xs:string" /> <xs:element minOccurs="0" name="ResponseSupplyChain" nillable="true" type="xs:string" /> <xs:element minOccurs="0" name="Spare1" nillable="true" type="xs:string" /> <xs:element minOccurs="0" name="Spare10" nillable="true" type="xs:string" /> <xs:element minOccurs="0" name="Spare2" nillable="true" type="xs:string" /> <xs:element minOccurs="0" name="Spare3" nillable="true" type="xs:string" /> <xs:element minOccurs="0" name="Spare4" nillable="true"> <xs:simpleType> <xs:annotation> <xs:documentation>Field Spare4 cannot be 0 (e.g. 1.2.1 or 1.2.10)</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:pattern value="[0-9]\.[0-9]\.[0-9]{2}|[0-9]\.[0-9]\.[0-9]" /> </xs:restriction> </xs:simpleType> </xs:element> <!-- <xs:element minOccurs="0" name="Spare4" nillable="true">[\w\W|\s-[0]]{0,1}|.{2,} <xs:simpleType> <xs:annotation> <xs:documentation>Field Spare4 cannot be 0</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:pattern value="[^0]" /> </xs:restriction> </xs:simpleType> </xs:element>--> <xs:element minOccurs="0" name="Spare5" nillable="true" type="xs:string" /> <xs:element minOccurs="0" name="Spare6" nillable="true" type="xs:string" /> <xs:element minOccurs="0" name="Spare7" nillable="true" type="xs:string" /> <xs:element name="Spare8"> <xs:simpleType> <xs:annotation> <xs:documentation>Field Spare8 must exist but cannot be empty</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:minLength value="1" /> <xs:pattern value=".*[^\s].*" /> </xs:restriction> </xs:simpleType> </xs:element> <xs:element minOccurs="0" name="Spare9" nillable="true" type="xs:string" /> <xs:element minOccurs="0" name="SpecialServiceBarcode" nillable="true" type="xs:string" /> <xs:element minOccurs="0" name="SpecialServiceFlag" nillable="true" type="xs:string" /> <xs:element name="Weight"> <xs:simpleType> <xs:annotation> <xs:documentation>Field Weight must exist but cannot be empty</xs:documentation> </xs:annotation> <xs:restriction base="xs:positiveInteger" /> </xs:simpleType> </xs:element> </xs:sequence> </xs:complexType> <!--End Import From='http://actionalqa1.business-post.com:4400/sst/wsdlfile.asvc?keyid=0760-groLzULVCAaKBFQB-970A74A0'--> </xs:schema> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://ns.ukmail.com/msg/header/1.0" xmlns="http://ns.ukmail.com/msg/header/1.0"> <xs:element name="ukmail" type="header" /> <xs:complexType name="header"> <xs:annotation> <xs:appinfo>Integration Documentation</xs:appinfo> <xs:documentation xml:lang="en">The enterprise header element, describing the Integration properties for the message payload.</xs:documentation> </xs:annotation> <xs:all> <xs:element minOccurs="1" name="Timestamp" type="timestamp"> <xs:annotation> <xs:appinfo>Integration Documentation</xs:appinfo> <xs:documentation xml:lang="en">The date-time, with timezone support of the creation date of the message from an application perspective.</xs:documentation> </xs:annotation> </xs:element> <xs:element minOccurs="1" name="Application" type="application"> <xs:annotation> <xs:appinfo>Integration Documentation</xs:appinfo> <xs:documentation xml:lang="en">Identifier of the application that created/sends the message.</xs:documentation> </xs:annotation> </xs:element> <xs:element minOccurs="1" name="MessageType" type="messagetype"> <xs:annotation> <xs:appinfo>Integration Documentation</xs:appinfo> <xs:documentation xml:lang="en">The type of message that is being sent in, as sanctioned/described in the project documentation and the service repository.</xs:documentation> </xs:annotation> </xs:element> <xs:element minOccurs="1" name="Version" type="version"> <xs:annotation> <xs:appinfo>Integration Documentation</xs:appinfo> <xs:documentation xml:lang="en">An identifier of version, defined on a [major].[minor] basis.</xs:documentation> </xs:annotation> </xs:element> <xs:element minOccurs="1" name="MessageId" type="UUID"> <xs:annotation> <xs:appinfo>Integration Documentation</xs:appinfo> <xs:documentation xml:lang="en">A uniquely generated type 4 UUID, randomUUID() in 8-4-4-4-12 characters with - separator. xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx where x is any hexadecimal digit and y is one of 8, 9, A, or B </xs:documentation> </xs:annotation> </xs:element> <xs:element minOccurs="0" name="CorrelationId" nillable="true" type="correlationid"> <xs:annotation> <xs:appinfo>Integration Documentation</xs:appinfo> <xs:documentation xml:lang="en">A label for application side tracking or identification, used to bind/group multiple message interactions.</xs:documentation> </xs:annotation> </xs:element> <xs:element minOccurs="0" name="Priority" nillable="true" type="priority"> <xs:annotation> <xs:appinfo>Integration Documentation</xs:appinfo> <xs:documentation xml:lang="en">Request capability for elevated priority.</xs:documentation> </xs:annotation> </xs:element> <xs:element minOccurs="0" name="Expire" nillable="true" type="xs:dateTime"> <xs:annotation> <xs:appinfo>Integration Documentation</xs:appinfo> <xs:documentation xml:lang="en">A suggested expiration date for the message.</xs:documentation> </xs:annotation> </xs:element> <xs:element minOccurs="0" name="Username" nillable="true" type="xs:string"> <xs:annotation> <xs:appinfo>Integration Documentation</xs:appinfo> <xs:documentation xml:lang="en">AD account</xs:documentation> </xs:annotation> </xs:element> <!--<xs:element name="userId" type="xs:token" minOccurs="0"/> --> <!--<xs:element name="environment"> <xs:simpleType> <xs:restriction base="xs:token"> <xs:enumeration value="DEV"/> <xs:enumeration value="TST"/> <xs:enumeration value="INT"/> <xs:enumeration value="UAT"/> <xs:enumeration value="LIVE"/> </xs:restriction> </xs:simpleType> </xs:element> --> </xs:all> <!--<xs:anyAttribute namespace="##other" processContents="lax"/> --> </xs:complexType> <xs:simpleType name="timestamp"> <xs:restriction base="xs:dateTime" /> </xs:simpleType> <xs:simpleType name="application"> <xs:restriction base="xs:token" /> </xs:simpleType> <xs:simpleType name="messagetype"> <xs:restriction base="xs:token" /> </xs:simpleType> <xs:simpleType name="UUID"> <xs:restriction base="xs:string"> <xs:length fixed="true" value="36" /> <xs:pattern value="[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="correlationid"> <xs:restriction base="xs:token" /> </xs:simpleType> <xs:simpleType name="version"> <xs:restriction base="xs:string"> <xs:pattern value="[0-9]{1,}\.[0-9]{1,}" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="priority"> <xs:restriction base="xs:string"> <xs:pattern value="[1-9]" /> </xs:restriction> </xs:simpleType> <xs:simpleType name="expiration"> <xs:restriction base="xs:dateTime" /> </xs:simpleType> <xs:complexType name="ukmail"> <xs:all> <xs:element name="ukmail" type="header" /> </xs:all> </xs:complexType> <!--End Import From='http://actionalqa1.business-post.com:4400/sst/wsdlfile.asvc?keyid=1760-groLzULVCAaKBFQB-970A74A0'--> </xs:schema> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://ns.ukmail.com/msg/fault/1.0" xmlns:flt="http://ns.ukmail.com/msg/fault/1.0"> <xs:element name="FaultDetail" type="xs:string" /> <!--End Import From='http://actionalqa1.business-post.com:4400/sst/wsdlfile.asvc?keyid=2760-groLzULVCAaKBFQB-970A74A0'--> </xs:schema> </types> <message name="Header"> <part name="header" element="hdr:ukmail" /> </message> <message name="item_manifest-1.response"> <part name="item_manifest-1.response" element="manifest:status" /> </message> <message name="Fault"> <part name="Fault" element="flt:FaultDetail" /> </message> <message name="item_manifest-1.request"> <part name="item_manifest-1.request" element="manifest:ItemsBatch" /> </message> <portType name="mailmark"> <operation name="item_manifest-1"> <input message="manifest:item_manifest-1.request" /> <output message="manifest:item_manifest-1.response" /> <fault name="Fault" message="manifest:Fault" /> </operation> </portType> <binding name="mailmark.item_manifest-1.2" type="manifest:mailmark"> <soap12:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> <operation name="item_manifest-1"> <soap12:operation soapAction="http://ukmail.business-post.com/mailmark/manifest" /> <input> <soap12:header message="manifest:Header" part="header" use="literal"> </soap12:header> <soap12:body use="literal" /> <wsp:PolicyReference xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" URI="#item_manifest-1_input_policy" /> </input> <output> <soap12:header message="manifest:Header" part="header" use="literal"> </soap12:header> <soap12:body use="literal" /> </output> <fault name="Fault"> <soap12:fault name="Fault" use="literal" /> </fault> </operation> </binding> <service name="soapui"> <port name="item_manifest-1.2.binding.soap" binding="manifest:mailmark.item_manifest-1.2"> <soap12:address location="https://mailmark.ukmail.com/sst/item_manifest-1" /> </port> </service> </definitions>