← Prev in month
← Prev in thread
Next in thread →
Next in month →
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: From: ashok malhotra <> To: OASIS Assembly <> 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
← Prev in month
← Prev in thread
Next in thread →
Next in month →