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

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

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

    Terry.Li-彬

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

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      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 禮物 閱讀(466) 評論(0)  編輯  收藏 所屬分類: AxisESBESB
    主站蜘蛛池模板: 久久久亚洲精品视频| 亚洲乱码无人区卡1卡2卡3| 两性刺激生活片免费视频| 亚洲日韩国产二区无码| 亚洲av再在线观看| 在线免费观看国产| 美女免费精品高清毛片在线视| 亚洲成AV人片在线观看无码| 无码人妻精品中文字幕免费东京热| 亚洲AV日韩AV永久无码色欲| 国产亚洲av片在线观看播放| 成人在线视频免费| 免费国产成人午夜在线观看| 亚洲精品一卡2卡3卡四卡乱码| 亚洲va无码手机在线电影| 免费毛片在线播放| 午夜不卡久久精品无码免费 | 极品色天使在线婷婷天堂亚洲 | 国产亚洲成人久久| 国产一精品一AV一免费孕妇| 两个人看的www免费视频中文| 国产亚洲福利在线视频| 亚洲精品国产成人99久久| 亚洲国产成人久久一区久久| 三年片在线观看免费观看高清电影| 国产一级高青免费| 亚洲国产成人综合精品| 亚洲国产成人在线视频| 亚洲精品少妇30p| 可以免费观看的一级毛片| 青春禁区视频在线观看直播免费| 国产精品免费AV片在线观看| 有色视频在线观看免费高清在线直播| 亚洲免费在线观看视频| 亚洲av无码乱码国产精品| 亚洲人成无码久久电影网站| 日韩免费视频播播| 日韩精品福利片午夜免费观着| 日本高清免费观看| 999zyz**站免费毛片| 成年免费a级毛片|