<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:starws="http://www.starstandards.org/webservices/2005/10/transport"
targetNamespace="http://www.starstandards.org/webservices/2005/10/transport" xmlns="http://www.starstandards.org/webservices/2005/10/transport"
elementFormDefault="qualified"
>
<!-- Payload -->
<xsd:complexType name="Payload">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org/">The Payload is a general
purpose wrapper for the content that
is transmitted as part of the
soap-env:body.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="content" type="Content" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org">Describes the type of
payload included. This
item is optional.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:anyAttribute/>
</xsd:complexType>
<xsd:complexType name="Content">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org">Contains the content of a
particular payload.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:any namespace="##any" minOccurs="1" maxOccurs="1">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org">Generic Payload, this
can be any type of content
as long as it meets XML formatting
standards.</xsd:documentation>
</xsd:annotation>
</xsd:any>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID" use="required">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org">A unique id that identifies
the content being sent. This
corresponds to the id specified in the
manifest.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:anyAttribute/>
</xsd:complexType>
<!-- Attachment -->
<xsd:element name="attachment" type="Attachment">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org">Extended information regarding
attachements.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="Attachment">
<xsd:annotation>
<xsd:documentation>Attachment Information. Defines wether we are dealing with internal
attaches,
mime attachements, or external attachements</xsd:documentation>
</xsd:annotation>
<xsd:choice minOccurs="1" maxOccurs="1">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org">A set of choices for a
particular attachment. The
attachements may be of binary, text, url, or external
attachments. </xsd:documentation>
</xsd:annotation>
<xsd:element name="binary" type="BinaryData">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org">Binary data using
base64Binary encoding.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="text" type="TextData">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org">Text data, such as comma
delimited files.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="uriReference" type="UriReference">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org">External attachments
that reside on an accessible
server. For these attachments this element
carries only the URL of the attachment.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="attachmentReference" type="AttachmentReference">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org">MIME or DIME attachments
that are embedded the HTTP
request. For these attachments, this element
points to the attachment that resides outside the
SOAP Envelope.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
<xsd:attributeGroup ref="AttachmentAttributes">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org"> Identifies additional
information about the attachment.
</xsd:documentation>
</xsd:annotation>
</xsd:attributeGroup>
</xsd:complexType>
<xsd:attributeGroup name="AttachmentAttributes">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org"> Identifies additional
information about the attachment.
</xsd:documentation>
</xsd:annotation>
<xsd:attribute name="id" type="xsd:ID" use="optional">
<xsd:annotation>
<xsd:documentation>An optional ID to identify the attachment</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="mimeCode" type="xsd:token" use="optional">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org/">Describes the content type
of the attachment using a
MIME code</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="fileName" type="xsd:token" use="optional">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org">The name of the file being
transported</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="dateTime" type="xsd:dateTime" use="optional">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org">The date and time of the
file</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="size" type="xsd:long" use="optional">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org">The size of the attachment
in bytes.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="from" type="xsd:string" use="optional">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org">Sender of the
attachment.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="to" type="xsd:string" use="optional">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org">Receiver of the
attachment.</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="action" type="xsd:anyURI" use="optional">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org">Need
Description</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:attributeGroup>
<xsd:simpleType name="BinaryData">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org">Binary Data
Type</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:base64Binary"/>
</xsd:simpleType>
<xsd:simpleType name="TextData">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org">Text Data
Type</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string"/>
</xsd:simpleType>
<xsd:complexType name="UriReference">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org">URI Data
Type</xsd:documentation>
</xsd:annotation>
<xsd:attribute name="href" type="xsd:anyURI" use="required"/>
</xsd:complexType>
<xsd:complexType name="AttachmentReference">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org">AttachementReference
Type</xsd:documentation>
</xsd:annotation>
<xsd:attribute name="href" type="xsd:anyURI" use="required"/>
</xsd:complexType>
<!-- Manifest -->
<xsd:element name="payloadManifest" type="PayloadManifest">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org">The payload manifest contains
one manifest element for each
content element in the SOAP body.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:complexType name="PayloadManifest">
<xsd:annotation>
<xsd:documentation>The payload manifest contains one manifest element for each content
element in the SOAP
body. </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="manifest" type="Manifest" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org"> The manifest provides
an easy and fast way to identify
the type of data in the message without
parsing the whole message. This is useful for
implementations that make
routing decisions based on the contents of the message. And, it’s
especially
useful if the body of the message is encrypted. </xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Manifest">
<xsd:annotation>
<xsd:documentation> The manifest provides an easy and fast way to identify the type of
data in the message
without parsing the whole message. This is useful for
implementations that make routing decisions based
on the contents of the message.
And, it’s especially useful if the body of the message is encrypted.
</xsd:documentation>
</xsd:annotation>
<xsd:attribute name="contentID" type="xsd:IDREF" use="required">
<xsd:annotation>
<xsd:documentation> This attribute should be populated with the ID of the
corresponding content element.
This attribute, along with the id attribute of
the content element is used to match the manifest to
its corresponding content
element </xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="namespaceURI" type="xsd:anyURI" use="required">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org"> This attribute contains the
namespace URI of the XML element
in the corresponding content in the SOAP body
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="element" type="xsd:string" use="required">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org"> This attribute contains the
local name of the XML element in
the corresponding content in the SOAP body.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="relatedID" type="xsd:string" use="optional">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org"> Need documentation.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="version" type="xsd:string" use="optional">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org"> When the payload content is
a BOD, this attribute contains
the version number of the noun’s schema used to
validate the BOD, for example, 3.01. For an
attachment, version specifies the
version of the attachment contents. For example, DTS files use the
interfaceVersion of the file. For BOD content and DTS attachments this attribute
is REQUIRED.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<!-- CriteriaListType -->
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<xsd:complexType name="CriteriaListType">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" name="criteria" type="starws:CriteriaType">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org">
Criteria contains a unbounded list of filter criteria
that can be
applied to a queue. If included it is used to specify what should be
retrieved. More
than one criteria can be specified. Each criteria is
it's own filter.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<!-- CriteriaType -->
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<xsd:complexType name="CriteriaType">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org">
Defines the available elements that can be used to specify the
filter criteria.
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<!-- Add an attribute for Not as an indicator (true/false). -->
<xsd:element minOccurs="0" name="verb" type="CriteriaLogicStringType">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org">
The OAGIS or STAR Verb. (i.e. Process, Acknowledge,
Notify, etc.)
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element minOccurs="0" name="noun" type="CriteriaLogicStringType">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org">
The OAGIS or STAR Noun for a particular BOD. (i.e.
PartsOrder, CreditApplication, FinancialStatement, etc.)
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element minOccurs="0" name="serviceID" type="CriteriaLogicStringType">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org">
Need Definition
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element minOccurs="0" name="partyID" type="CriteriaLogicStringType">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org">
Assigning Organization Party ID. This should be the ID
of the party on behalf of which the pull request is being made. In
most cases this will be the ID
of the calling party.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element minOccurs="0" name="startDateTime" type="CriteriaLogicDateTimeType">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org">
Indicates the beginning time/date range of messages to
be retrieved during this pull session. Based on the time/date at which each message was
originally queued for delivery.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element minOccurs="0" name="endDateTime" type="CriteriaLogicDateTimeType">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org/">
Indicates the ending time/date range of messages to be
retrieved during this pull session. Based on the time/date at which each message was originally
queued for delivery.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element minOccurs="0" name="pullStatus" type="CriteriaLogicDateTimeType">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org/">
The status of an item to be pulled. (i.e. Pulled, Ready,
etc.)
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element minOccurs="0" name="communicatorID" type="CriteriaLogicStringType">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org/">
Identifer of the party on behalf of which the pull call
was submitted. This could be the ID of the calling party or it may be an alternate party if the
pull request is being proxied by another service.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element minOccurs="0" name="predefined" type="CriteriaLogicStringType" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org/">
These are complex queries or queries that can't be represented using the current filter criteria. They may contain if
then else logic, and are identified by a name (i.e. GetWidgetsGreaterThan10)
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<!-- FilterCriteriaType -->
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<xsd:complexType name="FilterCriteriaType">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" name="criteriaList" type="starws:CriteriaListType">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org">
A list of filter criterias to be applied to pulling.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<!-- PullMessage -->
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<xsd:complexType name="PullMessageType">
<xsd:sequence>
<xsd:element name="filter" type="starws:FilterType" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="maxItems" type="xsd:integer">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org">
The maximum number of items to be sent. The service may send
less than the number requested
but should never send more than the number requested in any one
pulling session.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<xsd:complexType name="FilterType">
<xsd:sequence>
<xsd:element name="filterConnection" type="FilterConnectionType" minOccurs="0" maxOccurs="1"/>
<xsd:element name="receiptIDs" type="ReceiptIDsType" minOccurs="0" maxOccurs="1">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org">
An unbounded list of content ids that have been
previously received since
the last pull request.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element minOccurs="0" name="filterCriteria" type="starws:FilterCriteriaType">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org">
Specifies the possible filter criteria for the items
being pulled.
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="queueListIndicator" type="xsd:boolean" use="optional">
<xsd:annotation>
<xsd:documentation source="http://www.starstandard.org/STAR/5">
When set to true the attribute indicates that the filter is used to assemble a list of elements that could be returned. A list of these elements is returned using a BOD selected for this purpose.
Values are true or false. True means to use the indicator, false means not to use it. If the attribute is not included then false is assumed.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<xsd:complexType name="FilterConnectionType">
<xsd:attribute name="connectionID" type="xsd:token" use="required">
<xsd:annotation>
<xsd:documentation>
A unique connection id for the filter. Used during persistance of a filter.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="destroy" type="xsd:boolean" use="optional">
<xsd:annotation>
<xsd:documentation>
The destroy attribute of FilterConnection will be set to true when
the client decides
to destroy a persisted filter before all of its
applicable messages have been pulled. If and when the
client does
pull all of the persisted filter's applicable messages, then the web
service will
automatically destroy the connection and return an empty
pull response. If the client does not pull
all of a persisted filter's
applicable messages and does not explicitly destroy the persisted filter
by setting the destroy attribute to true, then based on an agreed upon
out-of-band policy, the web
service will expire the persisted filter
after X number of days.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:complexType>
<xsd:complexType name="ReceiptIDsType">
<xsd:sequence>
<xsd:element name="receiptID" type="xsd:token" minOccurs="1" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<!-- Methods -->
<xsd:element name="PutMessageResponse">
<xsd:complexType/>
</xsd:element>
<xsd:element name="PullMessage" type="PullMessageType"/>
<xsd:complexType name="CriteriaLogicStringType">
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute ref="operation"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="CriteriaLogicDateTimeType">
<xsd:simpleContent>
<xsd:extension base="xsd:dateTime">
<xsd:attribute ref="operation"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:attribute name="operation" type="OperationEnumeratedType">
<xsd:annotation>
<xsd:documentation>
An enumerated list of and, or, not.
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:simpleType name="OperationEnumeratedType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="and"/>
<xsd:enumeration value="or"/>
<xsd:enumeration value="not"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>
|