- 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