The two constructs are endpoint references and message information headers. A Web service endpoint is a referenceable entity, processor, or resource where Web service messages can be targeted. To deal with this last usage case this specification defines a family of message information headers that allows uniform addressing of messages independent of underlying transport.
These message information headers convey end-to-end message characteristics including addressing for source and destination endpoints as well as message identity. Both of these constructs are designed to be extensible and re-usable so that other specifications can build on and leverage endpoint references and message information headers.
The following example illustrates the use of these mechanisms in a SOAP 1. Lines to represent the header of the SOAP message where the mechanisms defined in the specification are used. The body is represented by lines to Lines to contain the message information header blocks. Specifically, lines to specify the identifier for this message and lines to specify the endpoint to which replies to this message should be sent as an Endpoint Reference.
Line specifies the address URI of the ultimate receiver of this message. Line specifies an Action URI identifying expected semantics. Specifically, abstract property names always appear in square brackets e.
Specifically, each member of an element's [children] or [attributes] property is described using an XPath-like notation e. This specification uses a number of namespace prefixes throughout; they are listed in Table 1. Note that the choice of any namespace prefix is arbitrary and not semantically significant see [ XML Namespaces ].
Table 1 Prefixes and Namespaces used in this specification. The examples in this specification use an XML 1. This specification introduces a new description element type, the endpoint reference, with the intent of supporting a set of dynamic usage patterns not currently appropriately covered by WSDL 1.
In particular, this specification intends to facilitate the following usage scenarios:. To support these scenarios, we define a lightweight and extensible mechanism to dynamically identify and describe service endpoints and instances. Because of the current limits of the WSDL 1. Endpoint references logically extend the WSDL description model e.
Moving forward we anticipate that endpoint references and WSDL will evolve coherently. These scenarios may include dynamic messaging or limited capability message processors. The wsa:EndpointReferenceType type is used wherever a Web service endpoint is referenced. The following describes the contents of this type:. The following illustrates an endpoint reference. When a message needs to be addressed to the endpoint, the information contained in the endpoint reference is mapped to the message according to a transformation that is dependent on the protocol and data representation used to send the message.
Protocol-specific mappings or bindings will define how the information in the endpoint reference is copied to message and protocol fields. This specification defines the SOAP binding for endpoint references. This mapping MAY be explicitly replaced by other bindings defined as WSDL bindings or as policies ; however, in the absence of an applicable policy stating that a different mapping must be used, the SOAP binding defined here is assumed to apply.
The next example shows how the default SOAP binding for endpoint references is used to construct a message addressed to the endpoint:. According to the mapping rules stated before, the address value is copied in the "To" header and the "CustomerKey" element should be copied literally as a header in a SOAP message addressed to this endpoint.
The SOAP message would look as follows:. During the course of Web services interactions applications may receive multiple endpoint references describing the endpoints it needs to interact with. Different copies of an endpoint reference may also be received over time. The following rules clarify the relation between the behaviors of the endpoints represented by two endpoint references with the same [address] and the same [reference properties].
The [address] properties of two endpoint references are compared according to Section 6 of [ RFC ]. The [reference properties] of two endpoint references are equal if:. Therefore, a consuming application should assume that different XML Schemas, WSDL definitions and policies apply to endpoint references whose address or reference properties differ.
The message information headers collectively augment a message with the following abstract properties. These properties enable the identification and location of the endpoints involved in an interaction. The basic interaction pattern from which all others are composed is "one way". In this pattern a source sends a message to a destination without any further definition of the interaction. A reply can be either an application message, a fault, or any other message.
An action may be explicitly or implicitly associated with the corresponding WSDL definition. Section 3. A reply message MUST contain a [relationship] property consisting of wsa:Reply and the message id property of the request message. The dispatching of incoming messages is based on two message properties.
The mandatory "destination" and "action" fields identify the target processing location and the verb or intent of the message. Due to the range of network technologies currently in wide-spread use e. To allow these "anonymous" endpoints to initiate message exchange patterns and receive replies, WS-Addressing defines the following well-known URI for use by endpoints that cannot have a stable, resolvable URI. The message information header blocks provide end-to-end characteristics of a message that can be easily secured as a unit.
The information in these headers is immutable and not intended to be modified along the message path. The following example illustrates a request message using message information header blocks in a SOAP 1. The following example illustrates a reply message using message information header blocks in a SOAP 1. WS-Addressing defines two mechanisms to associate an action with input, output and fault elements within a WSDL port type. The action may be explicitly associated using the wsa:Action attribute or in the absence of the attribute the action is defined by the rule in section 3.
In the absence of the wsa:Action attribute, the following pattern is used to construct a default action for inputs and outputs. The general form of an action URI is as follows:. The values of the properties are as defined below. The Good Stuff. Using Globals. First Look. Using SQL. Optimizing SQL. Document Database. XML Tools. XML Projections. Web Services. Web Gateway Configuration Guide. Using JSON. Internet Utilities. Advanced Concepts. Unit Testing Overview.
What is a Unit Test? Why Unit Test? API Index. Tools Index. Complete Glossary of Terms. External Language Development. Java Gateway. Using Java with InterSystems Software. Using the Object Gateway for. NET Managed Provider. Using the Native API for. NET Quick Reference. Interoperability Productions.
First Look Introducing Interoperability Productions. Preparing to Create Productions. Best Practices. Developing Productions. Developing Productions Using ObjectScript. Developing Productions Using Java and. Developing DTL Transformations. Using a Production as an ESB. Configuring, Managing, and Monitoring Productions. Configuring Productions.
Managing Productions. Monitoring Productions. Push Notifications. Defining Workflows. Testing Productions. Testing Productions Tutorial Testing Productions. Connecting Systems. File Adapters. Below is an example of configured WS-Addressing. The example uses the default wsa:Action , wsa:To and wsa:MessageId headers. Switch To: SmartBear. Academy Open in new tab. Community Open in new tab. License Portal Open in new tab. Store Open in new tab. Zephyr for Jira has a new name — Zephyr Squad.
Learn more. Applies to ReadyAPI 3. Note: All the fields of the WS-Addressing panel support property expansions , so you can easily pull values from properties defined at a higher level in your project.
0コメント