`

WSDL Message Exchange Patterns(转)

阅读更多
this section describes message exchange patterns defined in WSDL Version 2.0 Part 2: Adjuncts - In-Only, Robust In-Only, and In-Out.

What Is a WSDL Message Exchange Pattern? A WSDL message exchange pattern is a predefined sequence of in/out message of an operation in an abstract interface. Each pattern is represented by a unique URI, which can be specified as the "pattern" attribute of an operation.

WSDL 2.0 specification (WSDL Version 2.0 Part 2: Adjuncts) provides 3 predefined patterns: In-Only, Robust In-Only, and In-Out.

1. In-Only, represented by URI: http://www.w3.org/ns/wsdl/in-only - In-Only pattern defines only 1 single message that goes into the service provider of this operation. This message label is "In" and direction is "in". In-Only pattern does not allow any fault messages. Here is an example operation that uses the In-Only pattern:

    <wsdl:operation name="SnowDay"
      pattern="http://www.w3.org/ns/wsdl/in-only"
      style="http://www.w3.org/ns/wsdl/style/iri">
      <wsdl:input messageLabel="In"
        element="hy:SnowDayAnnouncement"/>
    </wsdl:operation>

2. Robust In-Only, represented by URI: http://www.w3.org/ns/wsdl/robust-in-only - Robust In-Only pattern defines only 1 single message that goes into the service provider of this operation. This message label is "In" and direction is "in". Robust In-Only pattern needs a fault message in the "out" direction. The fault message will be triggered by the input message, if needed. Here is an example operation that uses the Robust In-Only pattern:

  <wsdl:interface name="AlertInterface" >
    <wsdl:fault name="invalidEmailFault" element="InvalidEmail"/>
    <wsdl:operation name="SendAlert"
      pattern="http://www.w3.org/ns/wsdl/robust-in-only"
      style="http://www.w3.org/ns/wsdl/style/iri">
      <wsdl:input messageLabel="In"
        element="hy:AlertEmail"/>
      <wsdl:outfault ref="invalidEmailFault" messageLabel="Out"/>
    </wsdl:operation>
  </wsdl:interface>

3. In-Out, represented by URI: http://www.w3.org/ns/wsdl/in-out - In-Out pattern defines 2 messages: an input message followed by an output message. The input message is labeled as "In" and has a direction of "in". The output message is labeled as "Out" and has a direction of "out". In-Out pattern needs a fault message in the "out" direction. The service provider may replace the output message by the fault message, if needed. Here is an example operation that uses the In-Out pattern:

  <wsdl:interface name="GetQuoteInterface" >
    <wsdl:fault name="marketClosedFault" element="MarketClosed"/>
    <wsdl:operation name="GetQuote"
      pattern="http://www.w3.org/ns/wsdl/in-out"
      style="http://www.w3.org/ns/wsdl/style/iri">
      <wsdl:input messageLabel="In"
        element="hy:GetQuoteRequest"/>
      <wsdl:output messageLabel="Out"
        element="hy:GetQuoteResponse"/>
      <wsdl:outfault ref="marketClosedFault" messageLabel="Out"/>
    </wsdl:operation>
  </wsdl:interface>

Some Web sites include other message exchange patterns like In-Optional-Out, Out-Only, Robust Out-Only, Out-In, Out-Optional-In, etc. as part of the WSDL 2.0. But I can not find them in the WSDL 2.0 2007 specification.

2007年推出wsdl2.0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics