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

 


Help: OASIS Mailing Lists Help | MarkMail Help

wsdm message

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


Subject: [no subject]


The latter would allow the flag to be specified per topic but would be 
more difficult for clients to ascertain. In either case, I think a 
NotifyRequiredFault would need to be added to the subscribe operation.
 
Ian
From: Sedukhin, Igor S [mailto:Igor.Sedukhin@ca.com] 
Sent: Thursday, March 24, 2005 11:48 AM
To: wsdm@lists.oasis-open.org
Cc: wsn@lists.oasis-open.org
Subject: [wsdm] Notify wrapped vs Soap body

So the wsnt:Notify/wsnt:NotificationMessage/wsnt:Messaage is xs:anyType 
while soap:Envelope/soap:Body is a container of xs:any. This creates a 
serialization hell since any given object needs to be serialized sligtly 
differently, in principle. More over objects that serialze directly in 
value could not be sent unwrapped, but could be sent Notify wrapped. Since 
indication of UseNotify is at the subscriber's will, it may result in a 
bunch of interoperability problems.
-- Igor Sedukhin .. (igor.sedukhin@ca.com)
-- (631) 342-4325 .. 1 CA Plaza, Islandia, NY 11749 

--=_alternative 0077B63485256FD2_=
Content-Type: text/html; charset="US-ASCII"


<br><font size=2 face="sans-serif">as discussed on today's WSN telecon,
I took an Action Item to propose a solution in this space.</font>
<br>
<br><font size=2 face="sans-serif">From my understanding of the discusssion,
this boils down to a peculiarity in the way we chose to model the Notify
message. &nbsp;If we make a slight modification to the xsd for the Notify
message, then we can bring a bit more consistency back to the wrappered
and non-wrappered approach.</font>
<br>
<br><font size=2 face="sans-serif">Here is the relevant XSD for the notify
message:</font>
<br>
<br><font size=1 face="Courier New">&nbsp; &lt;xsd:complexType name=&quot;NotificationMessageHolderType&quot;
&gt;</font>
<br><font size=1 face="Courier New">&nbsp; &nbsp; &lt;xsd:sequence&gt;</font>
<br><font size=1 face="Courier New">&nbsp; &nbsp; &nbsp; &lt;xsd:element
name=&quot;SubscriptionReference&quot; </font>
<br><font size=1 face="Courier New">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;type=&quot;wsa:EndpointReferenceType&quot;</font>
<br><font size=1 face="Courier New">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;minOccurs=&quot;0&quot; maxOccurs=&quot;1&quot;
/&gt;</font>
<br><font size=1 face="Courier New">&nbsp; &nbsp; &nbsp; &lt;xsd:element
name=&quot;Topic&quot; </font>
<br><font size=1 face="Courier New">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;type=&quot;wsnt:TopicExpressionType&quot;
</font>
<br><font size=1 face="Courier New">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;minOccurs=&quot;1&quot; maxOccurs=&quot;1&quot;
/&gt;</font>
<br><font size=1 face="Courier New">&nbsp; &nbsp; &nbsp; &lt;xsd:element
name=&quot;ProducerReference&quot; </font>
<br><font size=1 face="Courier New">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;type=&quot;wsa:EndpointReferenceType&quot;
</font>
<br><font size=1 face="Courier New">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;minOccurs=&quot;0&quot; maxOccurs=&quot;1&quot;
/&gt;</font>
<br><font size=1 face="Courier New">&nbsp; &nbsp; &nbsp; &lt;xsd:element
name=&quot;Message&quot; type=&quot;xsd:anyType&quot; </font>
<br><font size=1 face="Courier New">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;minOccurs=&quot;1&quot; maxOccurs=&quot;1&quot;
/&gt;</font>
<br><font size=1 face="Courier New">&nbsp; &nbsp; &lt;/xsd:sequence&gt;</font>
<br><font size=1 face="Courier New">&nbsp; &lt;/xsd:complexType&gt;</font>
<br>
<br><font size=2 face="sans-serif">the proposed change is to modify the
way the Message component is defined, the new definition would look like:</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; &nbsp; </font><font size=2 color=#008080 face="Courier New">&lt;</font><font size=2 color=#3f8080 face="Courier New">xsd:element
</font><font size=2 color=#800080 face="Courier New">name</font><font size=2 face="Courier New">=</font><font size=2 color=#4200ff face="Courier New">&quot;Message&quot;</font><font size=2 color=#008080 face="Courier New">&gt;</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; &nbsp; &nbsp; </font><font size=2 color=#008080 face="Courier New">&lt;</font><font size=2 color=#3f8080 face="Courier New">xsd:complexType</font><font size=2 color=#008080 face="Courier New">&gt;</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</font><font size=2 color=#008080 face="Courier New">&lt;</font><font size=2 color=#3f8080 face="Courier New">xsd:sequence</font><font size=2 color=#008080 face="Courier New">&gt;</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; </font><font size=2 color=#008080 face="Courier New">&lt;</font><font size=2 color=#3f8080 face="Courier New">xsd:any
</font><font size=2 color=#800080 face="Courier New">namespace</font><font size=2 face="Courier New">=</font><font size=2 color=#4200ff face="Courier New">&quot;##any&quot;
</font><font size=2 color=#800080 face="Courier New">processContents</font><font size=2 face="Courier New">=</font><font size=2 color=#4200ff face="Courier New">&quot;lax&quot;</font>
<br><font size=2 color=#4200ff face="Courier New">&nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</font><font size=2 color=#800080 face="Courier New">minOccurs</font><font size=2 face="Courier New">=</font><font size=2 color=#4200ff face="Courier New">&quot;1&quot;
</font><font size=2 color=#800080 face="Courier New">maxOccurs</font><font size=2 face="Courier New">=</font><font size=2 color=#4200ff face="Courier New">&quot;1&quot;
</font><font size=2 color=#008080 face="Courier New">/&gt;</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</font><font size=2 color=#008080 face="Courier New">&lt;/</font><font size=2 color=#3f8080 face="Courier New">xsd:sequence</font><font size=2 color=#008080 face="Courier New">&gt;</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; &nbsp; &nbsp; </font><font size=2 color=#008080 face="Courier New">&lt;/</font><font size=2 color=#3f8080 face="Courier New">xsd:complexType</font><font size=2 color=#008080 face="Courier New">&gt;</font>
<br><font size=2 face="Courier New">&nbsp; &nbsp; &nbsp; </font><font size=2 color=#008080 face="Courier New">&lt;/</font><font size=2 color=#3f8080 face="Courier New">xsd:element</font><font size=2 color=#008080 face="Courier New">&gt;</font>
<br>
<br><font size=2 face="sans-serif">Although there might be some subtle
difference in the XSD that I don't immediately grasp, it seems to me that
this is an equally good way to model message, and if it provides a solution
to the problem Igor is facing, then it seems like a good approach to take.</font>
<br>
<br><font size=2 face="sans-serif">sgg<br>
++++++++<br>
Steve Graham<br>
(919)254-0615 (T/L 444)<br>
STSM, IBM Software Group, Web services and SOA<br>
Member, IBM Academy of Technology<br>
&lt;Soli Deo Gloria/&gt;<br>
++++++++<br>
</font>
<br>
<br>
<br>
<table width=100%>
<tr valign=top>
<td width=40%><font size=1 face="sans-serif"><b>&quot;Sedukhin, Igor S&quot;
&lt;Igor.Sedukhin@ca.com&gt;</b> </font>
<p><font size=1 face="sans-serif">03/24/2005 12:33 PM</font>
<td width=59%>
<table width=100%>
<tr>
<td>
<div align=right><font size=1 face="sans-serif">To</font></div>
<td valign=top><font size=1 face="sans-serif">&quot;Springer, Ian P.&quot;
&lt;ian.springer@hp.com&gt;, &lt;wsdm@lists.oasis-open.org&gt;</font>
<tr>
<td>
<div align=right><font size=1 face="sans-serif">cc</font></div>
<td valign=top><font size=1 face="sans-serif">&lt;wsn@lists.oasis-open.org&gt;</font>
<tr>
<td>
<div align=right><font size=1 face="sans-serif">Subject</font></div>
<td valign=top><font size=1 face="sans-serif">RE: [wsdm] Notify wrapped
vs Soap body</font></table>
<br>
<table>
<tr valign=top>
<td>
<td></table>
<br></table>
<br>
<br>
<br><font size=2 color=blue face="Arial">I would just reconcile and make
wsnt:Message be a container of xs:any and that's it. At least it won't
be different from S:Body.</font>
<br><font size=3>&nbsp;</font>
<p><font size=2 color=#800080 face="Times New Roman">--</font><font size=2 face="Arial"><b>
</b></font><font size=2 color=#000080 face="Arial"><b>Igor Sedukhin</b></font><font size=3>
</font><font size=2 color=#c0c0c0 face="Times New Roman">..</font><font size=2 face="Arial">
</font><font size=2 color=#800080 face="Arial">(</font><a href=mailto:igor.sedukhin@ca.com><font size=2 color=blue face="Arial"><u>igor.sedukhin@ca.com</u></font></a><font size=2 color=#800080 face="Arial">)</font><font size=2 color=#800080 face="Times New Roman"><br>
--</font><font size=3><b> </b></font><font size=2 color=#808080 face="Arial"><b>(631)
342-4325</b></font><font size=3> </font><font size=2 color=#c0c0c0 face="Times New Roman">..</font><font size=3>
</font><font size=2 color=#008080 face="Arial">1 CA Plaza, Islandia, NY
11749</font><font size=3> </font>
<p><font size=3>&nbsp;</font>
<br>
<br>
<hr><font size=2 face="Tahoma"><b>From:</b> Springer, Ian P. [mailto:ian.springer@hp.com]
<b><br>
Sent:</b> Thursday, March 24, 2005 12:01 PM<b><br>
To:</b> Sedukhin, Igor S; wsdm@lists.oasis-open.org<b><br>
Cc:</b> wsn@lists.oasis-open.org<b><br>
Subject:</b> RE: [wsdm] Notify wrapped vs Soap body</font><font size=3><br>
</font>
<br><font size=2 color=blue face="Arial">From my experience, xs:anys pretty
much always cause serialization hell. </font>
<br><font size=3>&nbsp;</font>
<br><font size=2 color=blue face="Arial">Regarding UseNotify, it would
be nice if a producer could choose to require UseNotify. I can think of
two ways this could be done:</font>
<br><font size=3>&nbsp;</font>
<br><font size=2 color=blue face="Arial">1) Add a NotifyRequired xs:boolean
resource prop to the NotificationProducer portType</font>
<br><font size=2 color=blue face="Arial">2) Add a notifyRequired xs:boolean
attribute to the wstop:Topic element</font>
<br><font size=2 color=blue face="Arial"><br>
The latter would allow the flag to be specified per topic but would be
more difficult for clients to ascertain. In either case, I think a NotifyRequiredFault
would need to be added to the subscribe operation.</font>
<br><font size=3>&nbsp;</font>
<br><font size=2 color=blue face="Arial">Ian</font>
<br>
<hr><font size=2 face="Tahoma"><b>From:</b> Sedukhin, Igor S [mailto:Igor.Sedukhin@ca.com]
<b><br>
Sent:</b> Thursday, March 24, 2005 11:48 AM<b><br>
To:</b> wsdm@lists.oasis-open.org<b><br>
Cc:</b> wsn@lists.oasis-open.org<b><br>
Subject:</b> [wsdm] Notify wrapped vs Soap body</font><font size=3><br>
</font>
<p><font size=2 face="Arial">So the wsnt:Notify/wsnt:NotificationMessage/wsnt:Messaage
is xs:anyType while soap:Envelope/soap:Body is a container of xs:any. This
creates a serialization hell since any given object needs to be serialized
sligtly differently, in principle. More over objects that serialze directly
in value could not be sent unwrapped, but could be sent Notify wrapped.
Since indication of UseNotify is at the subscriber's will, it may result
in a bunch of interoperability problems.</font>
<p><font size=2 color=#800080 face="Times New Roman">--</font><font size=2 face="Arial"><b>
</b></font><font size=2 color=#000080 face="Arial"><b>Igor Sedukhin</b></font><font size=3>
</font><font size=2 color=#c0c0c0 face="Times New Roman">..</font><font size=2 face="Arial">
</font><font size=2 color=#800080 face="Arial">(</font><a href=mailto:igor.sedukhin@ca.com><font size=2 color=blue face="Arial"><u>igor.sedukhin@ca.com</u></font></a><font size=2 color=#800080 face="Arial">)</font><font size=2 color=#800080 face="Times New Roman"><br>
--</font><font size=3><b> </b></font><font size=2 color=#808080 face="Arial"><b>(631)
342-4325</b></font><font size=3> </font><font size=2 color=#c0c0c0 face="Times New Roman">..</font><font size=3>
</font><font size=2 color=#008080 face="Arial">1 CA Plaza, Islandia, NY
11749</font><font size=3> </font>
<p>
--=_alternative 0077B63485256FD2_=--


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