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

 


Help: OASIS Mailing Lists Help | MarkMail Help

wsrm message

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


Subject: SOAP 1.2 support in WSRM


	Hi,

 I would summarize the minimal changes in the spec needed for SOAP 1.2 support in WSRM:

 - schema must be changed to allow SOAP 1.2 elements to be present in the messages. This means actually SOAP 1.2 MustUnderstand attribute. (see schema below).

-  Fault handling needs to be changed in the spec anyway, because it is not perfectly defined now (breaking SOAP 1.1 rules, no SOAP-level error codes etc..), that's where SOAP 1.2 compatiblity must be cared for.

 - refer to SOAP 1.2 where SOAP 1.1 is referred in the spec.

You can check the changes between SOAP 1.1 and SOAP 1.2 yourself in Section 6 of the SOAP 1.2 Part 0 (Primer) document. I think all other changes effect the implementation but not the specification. Using Infosets in addition to the schema, may be considered, but is not a must. (However, it means minimal editorial work. For example in Section 3.4.1 there should be a line added: 
 /rm:ReliableMessage/MessageType
And everything else should remain.)


 	Best regards,
		Szabolcs


<?xml version="1.0" encoding="utf-8"?>
	<xsd:schema targetNamespace="http://schemas.fujitsu.com/rm"
	xmlns:xsd="http://www.w3.org/2001/XMLSchema"
	xmlns:ns1="http://schemas.fujitsu.com/rm"
	xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
	xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"
	elementFormDefault="qualified" attributeFormDefault="unqualified">

	<xsd:import namespace="http://schemas.xmlsoap.org/soap/envelope/" />
	<xsd:import namespace="http://www.w3.org/2003/05/soap-envelope" />

	[...]

	<xsd:element name="MessageHeader">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element ref="ns1:From" minOccurs="0"/>
				<xsd:element ref="ns1:To" minOccurs="0"/>
				<xsd:element ref="ns1:Service" minOccurs="0"/>
				<xsd:element ref="ns1:MessageId"/>
				<xsd:element ref="ns1:Timestamp"/>
			</xsd:sequence>
			<xsd:attribute ref="soap:mustUnderstand" use="optional"/>
			<xsd:attribute ref="soap12:mustUnderstand" use="optional"/>
		</xsd:complexType>
	</xsd:element>


	[...]

<xsd:element name="ReliableMessage">
	<xsd:complexType>
		<xsd:sequence>
		<xsd:element name="MessageType" minOccurs="0">
		<xsd:simpleType>
			<xsd:restriction base="xsd:string">
				<xsd:enumeration value="Message"/>
			</xsd:restriction>
		</xsd:simpleType>
		</xsd:element>
		<xsd:element ref="ns1:ReplyTo"/>
		<xsd:element ref="ns1:TimeToLive" minOccurs="0"/>
		<xsd:element ref="ns1:AckRequested" minOccurs="0"/>
		<xsd:element ref="ns1:DuplicateElimination" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute ref="soap:mustUnderstand" use="optional"/>
		<xsd:attribute ref="soap12:mustUnderstand" use="optional"/>
	</xsd:complexType>
</xsd:element>

	[...]

<xsd:element name="RMResponse">
	<xsd:complexType>
		<xsd:sequence>
			<xsd:element name="MessageType">
				<xsd:simpleType>
				<xsd:restriction base="xsd:string">
					<xsd:enumeration value="Acknowledgment" />
					<xsd:enumeration value="Fault" />
				</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element ref="ns1:RefToMessageId"/>
		</xsd:sequence>
		<xsd:attribute ref="soap:mustUnderstand" use="optional"/>
		<xsd:attribute ref="soap12:mustUnderstand" use="optional"/>
	</xsd:complexType>
</xsd:element>

	[...]

<xsd:element name="MessageOrder">
	<xsd:complexType>
		<xsd:sequence>
			<xsd:element ref="ns1:GroupId"/>
			<xsd:element ref="ns1:SequenceNumber"/>
		</xsd:sequence>
		<xsd:attribute ref="soap:mustUnderstand" use="optional"/>
		<xsd:attribute ref="soap12:mustUnderstand" use="optional"/>
	</xsd:complexType>
</xsd:element>



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