<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Terry.Li-彬

    虛其心,可解天下之問;專其心,可治天下之學;靜其心,可悟天下之理;恒其心,可成天下之業。

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      143 隨筆 :: 344 文章 :: 130 評論 :: 0 Trackbacks

    Using the Web Service Wrapper

    The WebServiceWrapperComponent class allows you to send the result of a web service call to another endpoint. The web service call is performed within WebServiceWrapperComponent, providing the following advantages:

    • You can set any type of router on inbound and outbound.
    • Unlike the chaining router, it can send more than one HTTP request at a time
    • The URL for the web service call can be changed at run-time by sending the URL with the message

    Configuring the Web Service Wrapper

    To use the web service wrapper, you specify the <wrapper-component> configuration element. The following table describes the attributes you can set for this element. These attributes are described in more detail in the examples that follow.

    Attribute Description Required?
    address Specifies the URL of the web service to call Yes, unless addressFromMessage is set to true
    addressFromMessage (default is false) Specifies that the URL of the web service will be obtained from the message itself Not required if address is set
    wrapperProperties The SOAP document style, expressed as a map of two properties: style, which can be set to RPC (the default), Document, Message, or Wrapped, and use, which can be Encoded or Literal. No
    <soap-method> A SOAP method to call (see Configuring SOAP Methods below) No

    The web service wrapper is generic and can be used with any type of web service stack supported by Mule, including Axis and CXF. The examples below show synchronous use cases, but the web service wrapper can also support an asynchronous use case like the loan broker example.

    Example Configuration Using the CXF Transport

    Consider the following example. The web service wrapper is configured as a Mule component, accepting messages from a VM endpoint. A call must be made to a web service on the URL cxf:http://localhost:65081/services/TestUMO?method=onReceive and the result must be sent to the outbound endpoint vm://testout.

    The inbound and outbound endpoints are configured in the usual way. The address is set as an attribute on the component, specifying the web service URL that you want to call.

    								<cxf:connector name="cxf" defaultFrontend="simple" />
    								<model name="Sample">
    								<service name="WebServiceSample">
    								<inbound>
    								<vm:inbound-endpoint path="testin" />
    								</inbound>
    								<cxf:wrapper-component address="http://localhost:65081/services/TestUMO?method=onReceive"/>
    								<outbound>
    								<pass-through-router>
    								<outbound-endpoint address="vm://testout"/>
    								</pass-through-router>
    								</outbound>
    								</service>
    						

    Example Configuration Using the addressFromMessage Property

    The "address" property is ideal to use when the web service URL for the web service is known at configuration time. However, if this URL is either not known or else needs to be changed at run-time, the "address" property can be omitted and the "adddressFromMessage" property can be set to true. The following example shows this configuration:

    								<service name = "WebServiceSample2">
    								<inbound>
    								<vm:inbound-endpoint path = "testin2"/>
    								</inbound>
    								<cxf:wrapper-component addressFromMessage = "true"/>
    								</service>
    						

    The URL must be set on the message with the property name "ws.service.url".

    Configuring SOAP Methods

    CXF endpoints are fairly easy to configure, whereas Axis needs some further configuration to set SOAP methods. You can set a SOAP method using the <soap-method> element as shown below:

    								<service name = "WebServiceSample3">
    								<inbound>
    								<vm:inbound-endpoint path = "queue.in" connector-ref = "VMQueue"/>
    								</inbound>
    								<axis:wrapper-component address = "http://localhost:62088/axis/Calculator?method=add" style = "WRAPPED" use = "LITERAL">
    								<axis:soap-method method = "qname{add:http://muleumo.org/Calc}">
    								<axis:soap-parameter parameter = "Number1" type = "int" mode = "IN"/>
    								<axis:soap-parameter parameter = "Number2" type = "int" mode = "IN"/>
    								<axis:soap-return type = "int"/>
    								</axis:soap-method>
    								</axis:wrapper-component>
    								<outbound>
    								<pass-through-router>
    								<vm:outbound-endpoint path = "queue.out" connector-ref = "VMQueue"/>
    								</pass-through-router>
    								</outbound>
    								</service>
    						
    posted on 2009-09-19 21:53 禮物 閱讀(475) 評論(0)  編輯  收藏 所屬分類: AxisESBESB
    主站蜘蛛池模板: 亚洲天天做日日做天天欢毛片| 亚洲精品高清无码视频| 免费国产99久久久香蕉| 无遮挡国产高潮视频免费观看| 亚洲国产精品无码久久久| 亚洲AV无码专区亚洲AV伊甸园| 亚洲国产精品13p| 亚洲成A∨人片天堂网无码| 天天看免费高清影视| 国产高清视频在线免费观看| 中文字幕日韩亚洲| 一级做a爰性色毛片免费| 一级毛片正片免费视频手机看 | 中文字幕成人免费高清在线 | 亚洲AV无码国产精品永久一区| 亚洲人成自拍网站在线观看| 久久精品国产亚洲av天美18| 久久精品国产亚洲5555| 亚洲AV人无码综合在线观看| 超pen个人视频国产免费观看| 成年女人永久免费观看片| 四虎1515hm免费国产| 情人伊人久久综合亚洲| 亚洲高清无在码在线无弹窗| 亚洲最新在线视频| 亚洲伊人久久大香线蕉AV| 日本一区二区在线免费观看 | 免费av片在线观看网站| 久久受www免费人成_看片中文| 国产高清免费在线| 亚洲人成电影福利在线播放| 亚洲永久在线观看| 在线观看免费视频网站色| 妞干网在线免费观看| 亚洲色婷婷综合久久| 亚洲av乱码一区二区三区香蕉| 亚洲精品乱码久久久久久久久久久久| 亚洲国产精品一区二区久| 亚洲精品资源在线| 日韩一区二区三区免费播放| 无人在线直播免费观看|