<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://www.w3.org/Bugs/Public/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4"
          urlbase="https://www.w3.org/Bugs/Public/"
          
          maintainer="sysbot+bugzilla@w3.org"
>

    <bug>
          <bug_id>6433</bug_id>
          
          <creation_ts>2009-01-14 20:57:08 +0000</creation_ts>
          <short_desc>WS-Transfer and WS-MetadataExchange schemas contain weakly-typed EPRs</short_desc>
          <delta_ts>2009-06-23 23:58:39 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WS-Resource Access</product>
          <component>Transfer</component>
          <version>FPWD</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>REMIND</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gilbert Pilz">gilbert.pilz</reporter>
          <assigned_to name="Gilbert Pilz">gilbert.pilz</assigned_to>
          <cc>bob</cc>
    
    <cc>dug</cc>
          
          <qa_contact name="notifications mailing list for WS Resource Access">public-ws-resource-access-notifications</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>23095</commentid>
    <comment_count>0</comment_count>
    <who name="Gilbert Pilz">gilbert.pilz</who>
    <bug_when>2009-01-14 20:57:08 +0000</bug_when>
    <thetext>WS-Transfer and WS-Mex both have schemas that define EPR types that look something like:

  &lt;xs:element name=&quot;FlexibleEPR&quot;&gt;
    &lt;xs:complexType&gt;
      &lt;xs:sequence&gt;
        &lt;xs:any minOccurs=&apos;1&apos; maxOccurs=&apos;unbounded&apos; processContents=&apos;skip&apos; namespace=&apos;##other&apos; /&gt;
      &lt;/xs:sequence&gt;
    &lt;/xs:complexType&gt;
  &lt;/xs:element&gt;

Since we have agreed that is *not* a goal of WS-RA to support the Member Submission version of WS-Addressing (200408), these weakly-typed EPRs are unnecessary. Since, in this context, weak types are inferior to strong types (interoperability, message validation, code generation, etc.) these types should be removed and references to them changed to refer to the WS-Addressing 1.0 defined EPR type (i.e. wsa:EndpointReferenceType).

Proposal: Remove weak EPRs from WS-T and WS-Mex and replace them with wsa:EndpointReferenceType.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>23188</commentid>
    <comment_count>1</comment_count>
    <who name="Robert Freund">bob</who>
    <bug_when>2009-01-20 21:12:48 +0000</bug_when>
    <thetext>Proposal from http://lists.w3.org/Archives/Public/public-ws-resource-access/2009Jan/0041.html
In WS-Transfer, in Appendix I (XSD):

Remove the following:

&lt;!-- 
The type of the ResourceCreated is effectively 
the union of wsa04:EndpointReferenceType and 
wsa10:EndpointReferenceType. Unfortunately, xs:union only 
works for simple types. As a result, we have to define 
the element in an unvalidated way to accommodate either 
addressing type. 
--&gt; 
 
  &lt;xs:element name=&quot;ResourceCreated&quot;&gt;
    &lt;xs:complexType&gt;
      &lt;xs:sequence&gt;
        &lt;xs:any minOccurs=&apos;1&apos; maxOccurs=&apos;unbounded&apos; processContents=&apos;skip&apos; namespace=&apos;##other&apos; /&gt;
      &lt;/xs:sequence&gt;
    &lt;/xs:complexType&gt;
  &lt;/xs:element&gt;

and change the definition of CreateResponseType to:

  &lt;xs:complexType name=&quot;CreateResponseType&quot; &gt;
    &lt;xs:sequence&gt;
      &lt;xs:element name=&quot;ResourceCreated&quot; type=&quot;wsa:EndpointReferenceType&quot; /&gt;
      &lt;xs:any minOccurs=&quot;0&quot; namespace=&quot;##other&quot; processContents=&quot;lax&quot; /&gt;
    &lt;/xs:sequence&gt;
  &lt;/xs:complexType&gt;

In WS-MetadataExchange:

In Table 2, lines 73 and 75, change element to &lt;wsa:Address&gt;.

Change definition of /mex:Metadata/mex:MetadataSection/mex:MetadataReference to:

/mex:Metadata/mex:MetadataSection/mex:MetadataReference
This is an endpoint reference to a metadata resource and is of type EndpointReferenceType as defined by WS-Addressing. The resource MUST support the GET operation [WS-Transfer] to allow the retrieval of the metadata unit for the Metadata Section&apos;s Dialect and Identifier (if any). When this element is present, it MUST have no element siblings.

In Table 6, lines 56 and 58, change element to &lt;wsa:Address&gt;.

In Table 7, lines 9 and 11, change element to &lt;wsa:Address&gt;; lines 12 and 20, change element to &lt;wsa:Metadata&gt;.

In Appendix I (XML Schema) change the definition of  MetadataSection to:

&lt;xs:element name=&quot;MetadataSection&quot;&gt;
  &lt;xs:complexType&gt;
    &lt;xs:choice&gt;
      &lt;xs:any namespace=&quot;##other&quot; processContents=&quot;lax&quot; /&gt;
      &lt;xs:element name=&quot;MetadataReference&quot; type=&quot;wsa:EndpointReferenceType&quot; /&gt;
      &lt;xs:element ref=&apos;tns:Location&apos; /&gt;
    &lt;/xs:choice&gt;
    &lt;xs:attribute name=&apos;Dialect&apos; type=&apos;xs:anyURI&apos; use=&apos;required&apos; /&gt;
    &lt;xs:attribute name=&apos;Identifier&apos; type=&apos;xs:anyURI&apos; /&gt;
    &lt;xs:anyAttribute namespace=&apos;##other&apos; processContents=&apos;lax&apos; /&gt;
  &lt;/xs:complexType&gt;
&lt;/xs:element&gt;

and remove the following:

&lt;!--
Ideally, the type of the MetadataReference would have been
the union of wsa04:EndpointReferenceType and
wsa10:EndpointReferenceType but unfortunately xs:union only
works for simple types. As a result, we have to define
the mex:MetadataReference using xs:any.
--&gt;
&lt;xs:element name=&apos;MetadataReference&apos;&gt;
  &lt;xs:complexType&gt;
    &lt;xs:sequence&gt;
      &lt;xs:any minOccurs=&apos;1&apos; maxOccurs=&apos;unbounded&apos;
              processContents=&apos;lax&apos; namespace=&apos;##other&apos; /&gt;
    &lt;/xs:sequence&gt;
  &lt;/xs:complexType&gt;
&lt;/xs:element&gt;
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>23252</commentid>
    <comment_count>2</comment_count>
    <who name="Robert Freund">bob</who>
    <bug_when>2009-01-27 06:14:53 +0000</bug_when>
    <thetext>Resolves 2009-01-20 to resolve with Comment #1</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>