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

 


Help: OASIS Mailing Lists Help | MarkMail Help

sca-assembly message

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


Subject: Re: [sca-assembly] Should the 'interface' attribute of interface.wsdl pointto the portType URI?



Ashok,

I assume for the present that this is a discussion, rather than a formal new issue?

I'm a bit puzzled as to the change that you are proposing here.  I don't see examples of what things
would be like if we changed the Assembly interface attribute to point to the WSDL file itself.

I think that the reason the interface attribute currently points to the portType is that any given WSDL
could contain multiple portType elements, but that for an interface definition, it is necessary to choose
one and only one portType, so the attribute must be explicit.

Without an expression such as:
http://example.org/TicketAgent.wsdl11#wsdl11.portType(TicketAgent)

...how would it be possible to identify the right portType in the right WSDL?


Yours,  Mike.

Strategist - Emerging Technologies, SCA & SDO.
Co Chair OASIS SCA Assembly TC.
IBM Hursley Park, Mail Point 146, Winchester, SO21 2JN, Great Britain.
Phone & FAX: +44-1962-818014    Mobile: +44-7802-467431  
Email:  mike_edwards@uk.ibm.com



From: ashok malhotra <ashok.malhotra@oracle.com>
To: OASIS Assembly <sca-assembly@lists.oasis-open.org>
Date: 12/08/2008 15:10
Subject: [sca-assembly] Should the 'interface' attribute of interface.wsdl point to the portType URI?





Currently the interface attribute of the interface.wsdl element points
to the URI of the portType in the WSDL definitions file.
There must be a good reason for this.  I'm looking at writing functions
to attach policySets to interface elements and it would
be better if the attribute pointed to the file itself.

WSDL 1.1 Element Identifiers:
http://www.w3.org/TR/wsdl11elementidentifiers
specifies how to identify individual interface elements in a WSDL 1.1
file using fragment identifiers following the URI of the definitions
file.  The following example is taken from that document.

Assume that the URI of the definitions file is:
:
http://example.org/TicketAgent.wsdl11

The URI for the portType is:
http://example.org/TicketAgent.wsdl11#wsdl11.portType(TicketAgent)
Now, if you want to refer to a particular message you need tosay:
http://example.org/TicketAgent.wsdl11#wsdl11.portTypeOperation.output(TicketAgent/listFlights)
Construction the identifier for the message seems more complicated than
if you started with the URI for
the file itself.

=======================================================================

Example:
Consider WSDL 1.1 document located at
http://example.org/TicketAgent.wsdl. Each WSDL 1.1 Element Identifier is
shown in comments above the WSDL 1.1 element

<!--
http://example.org/TicketAgent.wsdl11#wsd11.definitions() -->

   <wsdl:types>
       <xs:schema xmlns:xsTicketAgent="
http://example.org/TicketAgent.xsd"
           targetNamespace="
http://example.org/TicketAgent.xsd">
           <xs:element name="listFlightsRequest" type="xsTicketAgent:tListFlights"/>
           <xs:complexType name="tListFlights">
               <xs:sequence>
                   <xs:element name="travelDate" type="xs:date"/>
                   <xs:element name="startCity" type="xs:string"/>
                   <xs:element name="endCity" type="xs:string"/>
               </xs:sequence>
           </xs:complexType>
           <xs:element name="listFlightsResponse" type="xsTicketAgent:tFlightsResponse"/>
           <xs:complexType name="tFlightsResponse">
               <xs:sequence>
                   <xs:element name="flightNumber" type="xs:integer" minOccurs="0"
                       maxOccurs="unbounded"/>
               </xs:sequence>
           </xs:complexType>
       </xs:schema>
   </wsdl:types>

   <wsdl:message name="listFlightsRequest">
       <!-- Starting from here,
http://example.org/TicketAgent.wsdl11 will be shortened to http://... -->
       <!--
http://...#wsdl11.message(listFlightsRequest) -->
       <wsdl:part name="body" element="xsTicketAgent:listFlightsRequest"/>
       <!--
http://...#wsdl11.messagePart(listFlightsRequest/body) -->
   </wsdl:message>

   <wsdl:message name="listFlightsResponse">
       <!--
http://...#wsdl11.message(listFlightsResponse) -->
       <wsdl:part name="body" element="xsTicketAgent:listFlightsResponse"/>
       <!--
http://...#wsdl11.messagePart(listFlightsResponse/body) -->
   </wsdl:message>

   <wsdl:portType name="TicketAgent">
       <!--
http://...#wsdl11.portType(TicketAgent) -->
       <wsdl:operation name="listFlights">
           <!--
http://...#wsdl11.portTypeOperation(TicketAgent/listFlights) -->
           <wsdl:input message="tns:listFlightsRequest"/>
           <!--
http://...#wsdl11.portTypeOperation.input(TicketAgent/listFlights) -->
           <wsdl:output message="tns:listFlightsResponse"/>
           <!--
http://...#wsdl11.portTypeOperation.output(TicketAgent/listFlights) -->
       </wsdl:operation>
   </wsdl:portType>

   <wsdl:binding name="TicketAgentSoap" type="tns:TicketAgent">
       <!--
http://...#wsdl11.binding(TicketAgentSoap) -->
       <soap:binding style="document" transport="
http://schemas.xmlsoap.org/soap/http"/>
       <!--
http://...#wsdl11.extension(http://schemas.xmlsoap.org/wsdl/soap/,             w11soap.binding( wsdl11.binding(TicketAgentSoap)) -->
       <wsdl:operation name="listFlights">
           <!--
http://...#wsdl11.bindingOperation(TicketAgentSoap/listFlights) -->
           <wsdl:input>
               <!--
http://...#wsdl11.bindingOperation.input(TicketAgentSoap/listFlights) -->
               <soap:body parts="body" use="literal"/>
               <!--
http://...#wsdl11.extension(http://schemas.xmlsoap.org/wsdl/soap/,                               w11soap.body(wsdl11.bindingOperation.input                                           (TicketAgentSoap/listFlights)) -->
           </wsdl:input>
           <wsdl:output>
               <!--
http://...#wsdl11.bindingOperation.output(TicketAgentSoap/listFlights) -->
               <soap:body parts="body" use="literal"/>
               <!--
http://...#wsdl11.extension(http://schemas.xmlsoap.org/wsdl/soap/,                               w11soap.body(wsdl11.bindingOperation.output                                           (TicketAgentSoap/listFlights)) -->
           </wsdl:output>
       </wsdl:operation>
   </wsdl:binding>



--
All the best, Ashok

---------------------------------------------------------------------
To unsubscribe from this mail list, you must leave the OASIS TC that
generates this mail.  Follow this link to all your TCs in OASIS at:
https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php









Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU








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