OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

ws-caf-editors message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: WS-Context specification


Here's the latest and greatest spec for one final run-through. If people are happy with it as is, let me know and I'll generate pdf and we can put it to the TC to vote as the next Committee Draft Specification.

Mark.

WSCTX.doc

<?xml version="1.0" encoding="UTF-8"?>

<wsdl:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";

 xmlns:tns="http://docs.oasis-open.org/wscaf/2005/06/wsctx";

 xmlns:wsctx="http://docs.oasis-open.org/wscaf/2005/06/wsctx";

 xmlns:xs="http://www.w3.org/2001/XMLSchema";

 xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/";

 xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";

 targetNamespace="http://docs.oasis-open.org/wscaf/2005/06/wsctx";>

	<wsdl:types>

		<xs:schema>

			<xs:import namespace="http://docs.oasis-open.org/wscaf/2005/06/wsctx"/>

		</xs:schema>

	</wsdl:types>

	<wsdl:message name="ContextMessage">

		<wsdl:part element="wsctx:context" name="ctx"/>

	</wsdl:message>

	<wsdl:message name="BeginMessage">

		<wsdl:part element="wsctx:begin" name="content"/>

	</wsdl:message>

	<wsdl:message name="BegunMessage">

		<wsdl:part element="wsctx:begun" name="content"/>

	</wsdl:message>

	<wsdl:message name="CompleteMessage">

		<wsdl:part element="wsctx:complete" name="content"/>

	</wsdl:message>

	<wsdl:message name="CompletedMessage">

		<wsdl:part element="wsctx:completed" name="content"/>

	</wsdl:message>	

	<wsdl:message name="GetStatusMessage">

		<wsdl:part element="wsctx:get-status" name="content"/>

	</wsdl:message>

	<wsdl:message name="StatusMessage">

		<wsdl:part element="wsctx:got-status" name="content"/>

	</wsdl:message>	

	<wsdl:message name="GetTimeoutMessage">

		<wsdl:part element="wsctx:get-timeout" name="content"/>

	</wsdl:message>

	<wsdl:message name="TimeoutMessage">

		<wsdl:part element="wsctx:timeout" name="content"/>

	</wsdl:message>

	<wsdl:message name="SetTimeoutMessage">

		<wsdl:part element="wsctx:set-timeout" name="content"/>

	</wsdl:message>

	<wsdl:message name="TimeoutSetMessage">

		<wsdl:part element="wsctx:timeout" name="content"/>

	</wsdl:message>	

	<wsdl:message name="GetContentsMessage">

		<wsdl:part element="wsctx:get-contents" name="content"/>

	</wsdl:message>

	<wsdl:message name="ContentsMessage">

		<wsdl:part element="wsctx:contents" name="content"/>

	</wsdl:message>

	<wsdl:message name="SetContentsMessage">

		<wsdl:part element="wsctx:set-contents" name="content"/>

	</wsdl:message>

	<wsdl:message name="ContentsSetMessage">

		<wsdl:part element="wsctx:contents-set" name="content"/>

	</wsdl:message>

	<wsdl:portType name="ContextManagerPortType">

		<wsdl:operation name="getContents">

			<wsdl:input message="tns:GetContentsMessage"/>

		</wsdl:operation>

		<wsdl:operation name="setContents">

			<wsdl:input message="tns:SetContentsMessage"/>

		</wsdl:operation>

	</wsdl:portType>

	<wsdl:portType name="ContextResponseHandlerPortType">

		<wsdl:operation name="contents">

			<wsdl:input message="tns:ContentsMessage"/>

		</wsdl:operation>

		<wsdl:operation name="contentsSet">

			<wsdl:input message="tns:ContentsSetMessage"/>

		</wsdl:operation>

	</wsdl:portType>

	<wsdl:portType name="ContextServicePortType">

		<wsdl:operation name="begin">

			<wsdl:input message="tns:BeginMessage"/>

		</wsdl:operation>

		<wsdl:operation name="complete">

			<wsdl:input message="tns:CompleteMessage"/>

		</wsdl:operation>		

		<wsdl:operation name="getStatus">

			<wsdl:input message="tns:GetStatusMessage"/>

		</wsdl:operation>		

		<wsdl:operation name="setTimeout">

			<wsdl:input message="tns:SetTimeoutMessage"/>

		</wsdl:operation>

		<wsdl:operation name="getTimeout">

			<wsdl:input message="tns:GetTimeoutMessage"/>

		</wsdl:operation>

	</wsdl:portType>

	<wsdl:portType name="UserContextServicePortType">

		<wsdl:operation name="begun">

			<wsdl:input message="tns:BegunMessage"/>

		</wsdl:operation>

		<wsdl:operation name="completed">

			<wsdl:input message="tns:CompletedMessage"/>

		</wsdl:operation>		

		<wsdl:operation name="status">

			<wsdl:input message="tns:StatusMessage"/>

		</wsdl:operation>		

		<wsdl:operation name="timeoutSet">

			<wsdl:input message="tns:TimeoutSetMessage"/>

		</wsdl:operation>

		<wsdl:operation name="timeout">

			<wsdl:input message="tns:TimeoutMessage"/>

		</wsdl:operation>

	</wsdl:portType>

	<!-- SOAP 1.1 over HTTP bindings -->

	<wsdl:binding name="ContextManagerPortTypeSOAPBinding" type="tns:ContextManagerPortType">

		<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>

		<wsdl:operation name="getContents">

			<wsdl:input>

				<soap:body use="literal"/>

			</wsdl:input>

		</wsdl:operation>

		<wsdl:operation name="setContents">

			<wsdl:input>

				<soap:body use="literal"/>

			</wsdl:input>

		</wsdl:operation>

	</wsdl:binding>

	<wsdl:binding name="ContextResponseHandlerPortTypeSOAPBinding" type="tns:ContextResponseHandlerPortType">

		<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>

		<wsdl:operation name="contents">

			<wsdl:input>

				<soap:body use="literal"/>

			</wsdl:input>

		</wsdl:operation>

		<wsdl:operation name="contentsSet">

			<wsdl:input>

				<soap:body use="literal"/>

			</wsdl:input>

		</wsdl:operation>

	</wsdl:binding>

	<wsdl:binding name="ContextServicePortTypeSOAPBinding" type="tns:ContextServicePortType">

		<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>

		<wsdl:operation name="begin">

			<wsdl:input>

				<soap:body use="literal"/>

			</wsdl:input>

		</wsdl:operation>

		<wsdl:operation name="complete">

			<wsdl:input>

				<soap:body use="literal"/>

				<soap:header part="ctx" message="tns:ContextMessage" use="literal"/>

			</wsdl:input>

		</wsdl:operation>		

		<wsdl:operation name="getStatus">

			<wsdl:input>

				<soap:body use="literal"/>

				<soap:header part="ctx" message="tns:ContextMessage" use="literal"/>

			</wsdl:input>

		</wsdl:operation>		

		<wsdl:operation name="setTimeout">

			<wsdl:input>

				<soap:body use="literal"/>

				<soap:header part="ctx" message="tns:ContextMessage" use="literal"/>

			</wsdl:input>

		</wsdl:operation>

		<wsdl:operation name="getTimeout">

			<wsdl:input>

				<soap:body use="literal"/>

				<soap:header part="ctx" message="tns:ContextMessage" use="literal"/>

			</wsdl:input>

		</wsdl:operation>

	</wsdl:binding>

	<wsdl:binding name="UserContextServicePortTypeSOAPBinding" type="tns:UserContextServicePortType">

		<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>

		<wsdl:operation name="begun">

			<wsdl:input>

				<soap:body use="literal"/>

				<soap:header part="ctx" message="tns:ContextMessage" use="literal"/>

			</wsdl:input>

		</wsdl:operation>

		<wsdl:operation name="completed">

			<wsdl:input>

				<soap:body use="literal"/>

				<soap:header part="ctx" message="tns:ContextMessage" use="literal"/>

			</wsdl:input>

		</wsdl:operation>			

		<wsdl:operation name="status">

			<wsdl:input>

				<soap:body use="literal"/>

				<soap:header part="ctx" message="tns:ContextMessage" use="literal"/>

			</wsdl:input>

		</wsdl:operation>		

		<wsdl:operation name="timeoutSet">

			<wsdl:input>

				<soap:body use="literal"/>

				<soap:header part="ctx" message="tns:ContextMessage" use="literal"/>

			</wsdl:input>

		</wsdl:operation>

		<wsdl:operation name="timeout">

			<wsdl:input>

				<soap:body use="literal"/>

				<soap:header part="ctx" message="tns:ContextMessage" use="literal"/>

			</wsdl:input>

		</wsdl:operation>

	</wsdl:binding>

</wsdl:definitions>

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://docs.oasis-open.org/wscaf/2005/06/wsctx"; xmlns:ref="http://docs.oasis-open.org/wsrm/2004/06/reference-1.1.xsd"; xmlns:tns="http://docs.oasis-open.org/wscaf/2005/06/wsctx"; xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"; xmlns:xs="http://www.w3.org/2001/XMLSchema";>
    <xs:import namespace="http://docs.oasis-open.org/wsrm/2004/06/reference-1.1.xsd"/>
    <xs:import namespace="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"/>
    <!-- Fundamental wsctx types -->
    <xs:complexType name="ContextType">
        <xs:sequence>
            <xs:any maxOccurs="unbounded" minOccurs="0" namespace="##other" processContents="lax"/>
            <xs:element name="context-identifier" type="tns:contextIdentifierType"/>
            <xs:element minOccurs="0" name="context-service" type="ref:ServiceRefType"/>
            <xs:element minOccurs="0" name="context-manager" type="ref:ServiceRefType"/>
            <xs:element maxOccurs="1" minOccurs="0" name="parent-context" type="tns:ContextType"/>
        </xs:sequence>
        <xs:attribute name="expiresAt" type="xs:dateTime" use="optional"/>
        <xs:attribute ref="wsu:Id" use="optional"/>
    </xs:complexType>
    <xs:complexType name="contextIdentifierType">
        <xs:simpleContent>
            <xs:extension base="xs:anyURI">
                <xs:attribute ref="wsu:Id" use="optional"/>
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>
    <xs:element name="service-ref" type="ref:ServiceRefType"/>   
    <xs:element name="context" type="tns:ContextType" abstract="true"/>
    <xs:element name="status" type="xs:QName"/>    
    <xs:complexType name="AssertionType">
        <xs:sequence>
            <xs:any minOccurs="0" namespace="##other" processContents="lax"/>
        </xs:sequence>
        <xs:attribute ref="wsu:Id" use="optional"/>
    </xs:complexType>
    <xs:element name="begin">
        <xs:complexType>
            <xs:complexContent>
                <xs:extension base="tns:AssertionType">
                    <xs:sequence>
                    	<xs:element name="type" type="xs:QName"/>
                        <xs:element name="expiresAt" minOccurs="0">
						    <xs:simpleType>
						    	<xs:union memberTypes="xs:dateTime">
						    		<xs:simpleType>
						    			<xs:restriction base="xs:token">
						    				<xs:enumeration value=""/>
						    			</xs:restriction>
						    		</xs:simpleType>
						    	</xs:union>
						    </xs:simpleType>
                        </xs:element>
                    </xs:sequence>
                </xs:extension>
            </xs:complexContent>
        </xs:complexType>
    </xs:element>
    <xs:element name="begun" type="tns:AssertionType"/>
    <xs:element name="complete" type="tns:AssertionType"/>
    <xs:element name="completed" type="tns:AssertionType"/>
    <xs:element name="get-status" type="tns:AssertionType"/>
    <xs:element name="got-status">
        <xs:complexType>
            <xs:complexContent>
                <xs:extension base="tns:AssertionType">
                    <xs:sequence>
                        <xs:element ref="tns:status"/>
                    </xs:sequence>
                </xs:extension>
            </xs:complexContent>
        </xs:complexType>
    </xs:element>
    <xs:element name="get-activity-name" type="tns:AssertionType"/>
    <xs:element name="activity-name">
        <xs:complexType>
            <xs:complexContent>
                <xs:extension base="tns:AssertionType">
                    <xs:sequence>
                        <xs:element name="activity-name" type="xs:string"/>
                    </xs:sequence>
                </xs:extension>
            </xs:complexContent>
        </xs:complexType>
    </xs:element>
    <xs:element name="get-timeout" type="tns:AssertionType"/>
    <xs:element name="timeout">
        <xs:complexType>
            <xs:complexContent>
                <xs:extension base="tns:AssertionType">
                    <xs:sequence>
                        <xs:element name="timeout" type="xs:duration" minOccurs="0"/>
                    </xs:sequence>
                </xs:extension>
            </xs:complexContent>
        </xs:complexType>
    </xs:element>
    <xs:element name="set-timeout">
        <xs:complexType>
            <xs:complexContent>
                <xs:extension base="tns:AssertionType">
                    <xs:sequence>
                        <xs:element name="timeout" type="xs:duration" minOccurs="0"/>
                    </xs:sequence>
                </xs:extension>
            </xs:complexContent>
        </xs:complexType>
    </xs:element>
    <xs:element name="timeout-set">
        <xs:complexType>
            <xs:complexContent>
                <xs:extension base="tns:AssertionType">
                    <xs:sequence>
                        <xs:element name="timeout" type="xs:duration" minOccurs="0"/>
                    </xs:sequence>
                </xs:extension>
            </xs:complexContent>
        </xs:complexType>
    </xs:element>
    <xs:element name="get-contents" type="tns:AssertionType"/>
    <xs:element name="contents">
        <xs:complexType>
            <xs:complexContent>
                <xs:extension base="tns:AssertionType">
                    <xs:sequence>
                        <xs:element ref="tns:context"/>
                    </xs:sequence>
                </xs:extension>
            </xs:complexContent>
        </xs:complexType>
    </xs:element>
    <xs:element name="set-contents">
        <xs:complexType>
            <xs:complexContent>
                <xs:extension base="tns:AssertionType">
                    <xs:sequence>
                        <xs:element ref="tns:context"/>
                    </xs:sequence>
                </xs:extension>
            </xs:complexContent>
        </xs:complexType>
    </xs:element>
    <xs:element name="contents-set" type="tns:AssertionType"/>
    <!-- Fault sub code type -->
    <xs:simpleType name="FaultSubCodeType">
    	<xs:restriction base="xs:QName">
			<xs:enumeration value="tns:InvalidState"/>
			<xs:enumeration value="tns:InvalidContext"/>
			<xs:enumeration value="tns:InvalidStructure"/>
			<xs:enumeration value="tns:TimeoutNotSupported"/>
			<xs:enumeration value="tns:ChildActivityPending"/>
			<xs:enumeration value="tns:NoContext"/>
			<xs:enumeration value="tns:NoPermission"/>
			<xs:enumeration value="tns:ValidContextExpected"/>
			<xs:enumeration value="tns:UnknownContext"/>
    	</xs:restriction>
    </xs:simpleType>
    <!-- Fault detail types -->
    <xs:complexType name="TimeoutNotSupportedFaultDetailType">
        <xs:complexContent>
            <xs:extension base="tns:AssertionType">
			    <xs:sequence>
		            <xs:element name="specified-timeout" type="xs:int"/>
		            <xs:element name="maximum-timeout" type="xs:int"/>
		        </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
    <xs:complexType name="UnknownContextFaultDetailType">
        <xs:complexContent>
            <xs:extension base="tns:AssertionType">
		        <xs:sequence>
		            <xs:element name="context-identifier" type="tns:contextIdentifierType"/>
		        </xs:sequence>
            </xs:extension>
        </xs:complexContent>
    </xs:complexType>
</xs:schema>


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]