[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [wsrm] Discussion on Issues Rel 108 and 115
Here are the consolidated list of problems with this proposal.
Some of them have
been already mentioned, just listing them again for completeness.
Some of them
are critical and some of them are minor:
Conceptual changes (major):
-Sunil
Tom Rutt wrote:
These issues deal with the semantics of poll response for messages which
were not delivered due to a faultCurrent semantics of returning fault are as follows:
For resposne reply pattern a single message fault is returned in the
response to the reliable request.For callback reply pattern, a single message fault is returned in the
callback containing the Fault element.It is not clearly stated, but the receving RMP could batch a bunch of
acks in a single callback message, but there is not way to do this
for faults.Currently there is not way to indicate in a response to a poll that a
message was not delivered due to a fault. The response to the
poll merely lists all message IDs in the poll range which were
delivered. Messages not in that list may be held, or may have been not
delivered due to a fault condition.A fault element in a response to a poll, only indicates a problem wiht
the poll request itself. It cannot be used to indicate a fault on a prior
reliable messasge request.The current Response syntax is as follows:
<!--
Response Header Type and it's elements
-->
- <#> <xsd:complexType name="*ResponseType*">
- <#> <xsd:complexContent>
- <#> <xsd:extension base="*wsrm:RmBaseType*">
- <#> <xsd:sequence>
<xsd:element name="*RefToGroupId*"
type="*wsrm:ResponseElementType*" maxOccurs="*unbounded*" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>We could add a new element to the responst type as follows
<xsd:complexType name="*ResponseType*">
- <#> <xsd:complexContent>
- <#> <xsd:extension base="*wsrm:RmBaseType*">
- <#> <xsd:sequence>
<xsd:element name="*RefToGroupId*"
type="*wsrm:ResponseElementType*" maxOccurs="*unbounded*" />
<xsd:element name="*RefToFaults*" type="*wsrm:FaultsRefType*"
maxOccurs="*unbounded*" /></xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType><xsd:complexType name="*FaultsRefType*">
- <#> <xsd:complexContent>
- <#> <xsd:sequence>
<xsd:element name="*FaultCode*" type="xsd:string"
maxOccurs="*1*" />
<xsd:element name="*RefToGroupId*"
type="*wsrm:ResponseElementType*" maxOccurs="*unbounded*" />
</xsd:sequence>
</xsd:complexContent>
</xsd:complexType>An example of the structure of the RefToFaults element (repeated here
twice) would be as follows<RefToFaults>
<FaultCode> processingError </FaultCode>
<RefToGroupID> ... list of message ids in group a which had processing error fault ... </RefToGroupID>
<RefToGroupID> ... list of message ids , in group b which had processing error fault ... </RefToGroupID>
</RefToFaults><RefToFaults>
<FaultCode> BadHeader </FaultCode>
<RefToGroupID ... list of message ids in group a which had Bad header fault ... </RefToGroupID>
</RefToFaults>
The major problem with this is the requirmenet for the receiver to remember which fault codes arose for each non-delivered message.
However, it would give full functionality to the poll response.
Tom Rutt
--
----------------------------------------------------
Tom Rutt email: tom@coastin.com; trutt@fsw.fujitsu.com
Tel: +1 732 801 5744 Fax: +1 732 774 5133To unsubscribe from this mailing list (and be removed from the roster of the OASIS TC), go to 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]