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: Re: [wsrm] SOAP 1.2 support in WSRM



 Szabolcs,

 It's better to define 2 different schemas with different targetNamespaces for
 soap 1.1 and soap 1.2 versions rather than a consolidated one.

 As per the schema below, here are some comments:

 1)
     <xsd:attribute ref="soap:mustUnderstand" use="optional"/>
     <xsd:attribute ref="soap12:mustUnderstand" use="optional"/>

 By having both mustUnderstands 'optional', one can send a RM without
 any mustUnderstand attribute at all for RM Headers, which is against our
 specification (our spec. mentions that mustUnderstand attribute must be present).

 While we can have a complex schema to say that one of them must be present,
 the problem goes away if we have 2 different schemas.

 2)

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

 Though it should be okay importing the above 2 imports (since the targetNSs
 are different), it will be better if we avoid it as the local names are same.

3) targetNamespace="http://schemas.fujitsu.com/rm

 We should start using a standard (OASIS namespace or some other NS)
 and a valid namespace.

 -Sunil


Szabolcs.Payrits@nokia.com wrote:

>         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>
>
> You may leave a Technical Committee at any time by visiting http://www.oasis-open.org/apps/org/workgroup/wsrm/members/leave_workgroup.php



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