- From: Katy Warr <katy_warr@uk.ibm.com>
- Date: Tue, 24 Jan 2006 11:38:11 +0000
- To: public-ws-addressing@w3.org
- Message-ID: <OF5EB70F5D.A6DD8C6D-ON80257100.003D4B57-80257100.003FEC18@uk.ibm.com>
Issue: Currently, it is not possible to target an EPR in conformance with the WS-A spec unless the client has access to the target WSDL, or the target WSDL is embedded within the target EPR. This is because the reference WSDL metadata does not provide a mechanism to specify any explicitly defined wsaw:action. In order to generate the mandatory [action] MAP, the client requires this information. Text from the 4.2.1 Explicit action section of the spec: WS-Addressing defines a global attribute, wsaw:Action, that may be used to explicitly define the value of the [action] property for messages in a WSDL description. The type of the attribute is xs:anyURI and it is used as an extension on the WSDL input, output and fault elements. A SOAP binding can specify SOAPAction values for the input messages of operations. In the absence of a wsaw:Action attribute on a WSDL input element where a SOAPAction value is specified, the value of the [action] property for the input message is the value of the SOAPAction specified. Web Services Addressing 1.0 - SOAP Binding[WS-Addressing-SOAP] specifies restrictions on the relationship between the values of [action] and SOAPAction for SOAP 1.1 and SOAP 1.2. Proposed resolution: Please could we extend the section on Referencing metadata from an EPR to include a marker for explicitly defined wsaw:Action? This could equate to the wsaw:Action or the SOAPAction - as described above. Here is the relevant text from the WSDL spec, with some suggested changes in bold: Referencing WSDL Metadata from an EPR The WSDL binding of Web Services Addressing introduces the following element and attribute information items for referencing WSDL metadata from an EPRs metadata section: wsaw:InterfaceName A QName identifying a description of the sequences of messages that a service sends and/or receives. This corresponds to a WSDL 2.0 interface or, for backwards compatibility, a WSDL 1.1 port type. When this element is included in an EPR, the EPR is considered to be specific to the interface or port type it identifies. wsaw:ServiceName A QName that identifies the set of endpoints at which a particular Web service is deployed. The set of endpoints is represented by a service in WSDL 2.0 or, for backwards compatibility, a WSDL 1.1 service. wsaw:ServiceName/@EndpointName An NCName that identifies one endpoint amongst the set identified by by the service name above. An endpoint is represented by an endpoint in WSDL 2.0 or, for backwards compatibility, a port in WSDL 1.1. When this attribute is specified, the EPR is considered to be specific to the endpoint or port it identifies. The element information items defined above are used in an EPRs metadata section. The following shows an example endpoint reference. This references the interface named "fabrikam:Inventory" at the endpoint IRI "http://example.com/www.fabrikam/acct". Note the use of the WSDL[WSDL 2.0] wsdlLocation attribute. wsaw:Action A URI specifying the explicitly defined [action] property for messages targeted at this EPR (refer to section 4.2.1 Explicit Association). Example 2-1. Example endpoint reference. <wsa:EndpointReference xmlns:wsa="http://www.w3.org/@@@@/@@/addressing" xmlns:fabrikam="http://example.com/fabrikam"> <wsa:Address>http://example.com/fabrikam/acct</wsa:Address> <wsa:Metadata xmlns:wsdli="http://www.w3.org/2005/08/wsdl-instance" wsdli:wsdlLocation="http://example.com/fabrikam http://example.com/fabrikam.wsdl"> <wsaw:InterfaceName>fabrikam:Inventory</wsaw:InterfaceName> <wsaw:Action>"http://example.com/Quote"</wsaw:Action> </wsa:Metadata> </wsa:EndpointReference>
Received on Tuesday, 24 January 2006 11:39:46 UTC