Mule自带例子之stockquote

1 配置效果图

2 配置文件

  1 <?xml version="1.0" encoding="UTF-8"?>
  2
  3 <mule version="CE-3.4.0"
  4     xmlns:cxf="http://www.mulesoft.org/schema/mule/cxf"
  5     xmlns:mulexml="http://www.mulesoft.org/schema/mule/xml"
  6     xmlns:jersey="http://www.mulesoft.org/schema/mule/jersey"
  7     xmlns:http="http://www.mulesoft.org/schema/mule/http"
  8     xmlns="http://www.mulesoft.org/schema/mule/core"
  9     xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
 10     xmlns:spring="http://www.springframework.org/schema/beans"
 11    xmlns:context="http://www.springframework.org/schema/context"
 12     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 13     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
 14 http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
 15 http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
 16 http://www.mulesoft.org/schema/mule/jersey http://www.mulesoft.org/schema/mule/jersey/current/mule-jersey.xsd
 17 http://www.mulesoft.org/schema/mule/xml http://www.mulesoft.org/schema/mule/xml/current/mule-xml.xsd
 18 http://www.mulesoft.org/schema/mule/cxf http://www.mulesoft.org/schema/mule/cxf/current/mule-cxf.xsd
 19 http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-current.xsd">
 20
 21     <context:property-placeholder location="stockquote.properties" system-properties-mode="OVERRIDE" />
 22
 23
 24     <object-to-string-transformer name="ObjectToString" doc:name="Object to String" />
 25     <custom-transformer name="XmlDecoder" class="org.mule.transformer.codec.XmlEntityDecoder" doc:name="Java"/>
 26     <mulexml:xslt-transformer name="XsltRest" xsl-file="xsl/rest-stock.xsl" maxIdleTransformers="2" maxActiveTransformers="5" doc:name="XSLT"/>
 27     <mulexml:xslt-transformer name="XsltSoap" xsl-file="xsl\soap-stock.xsl" maxIdleTransformers="2" maxActiveTransformers="5" doc:name="XSLT"/>
 28     <mulexml:xml-to-object-transformer name="XmlToObject" doc:name="XML to Object"/>
 29
 30
 31     <flow name="HTTP_input">
 32         <http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="${port1}" path="stockquote"
 33             responseTransformer-refs="ObjectToString" doc:name="HTTP"/>
 34         <http:body-to-parameter-map-transformer doc:name="Body to Parameter Map"/>
 35         <choice doc:name="Choice">
 36             <when expression="payload.method == ‘REST‘" evaluator="groovy">
 37                 <logger message="Enter REST when clause." level="INFO" doc:name="logger in REST"/>
 38                 <processor-chain>
 39                     <flow-ref name="REST" doc:name="REST"/>
 40                     <logger message="After HTTP_input REST: #[payload.getClass()] - #[payload]" level="INFO" /> <!-- class [B - [[email protected] -->
 41                 </processor-chain>
 42                 <logger message="After HTTP_input REST processor-chain: #[payload.getClass()] - #[payload]" level="INFO" /> <!-- class [B - [[email protected] -->
 43             </when>
 44             <when expression="payload.method == ‘SOAP‘" evaluator="groovy">
 45                 <logger message="Enter SOAP when clause." level="INFO" doc:name="logger in SOAP"/>
 46                 <processor-chain>
 47                     <flow-ref name="SOAP" doc:name="SOAP"/>
 48                 </processor-chain>
 49             </when>
 50             <when expression="payload.method == ‘WSDL‘" evaluator="groovy">
 51                 <logger message="Enter WSDL when clause." level="INFO" doc:name="logger in WSDL"/>
 52                 <processor-chain>
 53                     <flow-ref name="WSDL" doc:name="WSDL"/>
 54                 </processor-chain>
 55             </when>
 56         </choice>
 57
 58         <logger message="Before HTTP_input XmlToObject transformer: #[payload.getClass()] - #[payload]" level="INFO" /> <!-- class [B - [[email protected] -->
 59         <transformer ref="XmlToObject" doc:name="Xml To Object"/>
 60         <!--
 61         <mulexml:xml-to-object-transformer name="XmlToObject" doc:name="XML to Object"/>功能:
 62                 把‘class [B‘类型转换为StockQuote
 63         class org.mule.example.stockquote.StockQuote - StockQuote[symbol=CSCO, name=Cisco Systems, date=6/23/2015 9:56am, last=28.82, change=-0.12, open=29.00, high=29.04, low=28.79, volume=2410178, previousClose=28.94]
 64         -->
 65         <logger message="After HTTP_input XmlToObject transformer: #[payload.getClass()] - #[payload]" level="INFO" />
 66     </flow>
 67
 68
 69     <!--
 70         功能:调用REST服务,获取symbol=CSCO的信息
 71         输入的类型:class java.util.HashMap - {symbol=CSCO, method=REST}
 72         输出的类型:class [B - [[email protected]
 73      -->
 74     <sub-flow name="REST">
 75         <logger message="Before REST set-payload: #[payload.getClass()] - #[payload]" level="INFO" /> <!-- class java.util.HashMap - {symbol=CSCO, method=REST} -->
 76         <set-payload value="Symbol=#[payload[‘symbol‘]]" doc:name="Extract Symbol"/>
 77         <logger message="After REST set-payload: #[payload.getClass()] - #[payload]" level="INFO" />  <!-- class java.lang.String - Symbol=CSCO -->
 78
 79         <set-property propertyName="Content-Type" value="application/x-www-form-urlencoded" doc:name="Set Content-Type property"/>
 80
 81         <!--  http:outbound-endpoint 向地址做一次http连接请求, 请求响应模型,等待响应 -->
 82         <logger message="Before REST http:outbount-endpoint: #[payload.getClass()] - #[payload]" level="INFO" /> <!-- class java.lang.String - Symbol=CSCO -->
 83         <http:outbound-endpoint exchange-pattern="request-response" address="http://www.webservicex.net/stockquote.asmx/GetQuote" doc:name="Invoke REST service"/>
 84         <logger message="After REST http:outbount-endpoint: #[payload.getClass()] - #[payload]" level="INFO" />  <!-- class org.mule.transport.http.ReleasingInputStream - [email protected] -->
 85
 86         <!--
 87         <custom-transformer name="XmlDecoder" class="org.mule.transformer.codec.XmlEntityDecoder" ... />转换器从ReleasingInputStream中解出XML内容:
 88         <?xml version="1.0" encoding="utf-8"?>
 89         <string xmlns="http://www.webserviceX.NET/">
 90             <StockQuotes>
 91                 <Stock>
 92                     <Symbol>CSCO</Symbol>
 93                     <Last>28.885</Last>
 94                     <Date>6/23/2015</Date>
 95                     <Time>9:49am</Time>
 96                     <Change>-0.055</Change>
 97                     <Open>29.000</Open>
 98                     <High>29.036</High>
 99                     <Low>28.820</Low>
100                     <Volume>1836184</Volume>
101                     <MktCap>146.91B</MktCap>
102                     <PreviousClose>28.940</PreviousClose>
103                     <PercentageChange>-0.190%</PercentageChange>
104                     <AnnRange>22.490 - 30.310</AnnRange>
105                     <Earns>1.721</Earns>
106                     <P-E>16.784</P-E>
107                     <Name>Cisco Systems</Name>
108                 </Stock>
109             </StockQuotes>
110         </string>
111          -->
112         <transformer ref="XmlDecoder" doc:name="Transformer Reference"/>
113         <logger message="After REST XmlDecoder transformer: #[payload.getClass()] - #[payload]" level="INFO" />
114
115         <!-- class [B - [[email protected]
116             <mulexml:xslt-transformer name="XsltRest" .../>转换器, 把<string>...</string>转换为一个内容大概如下的类型为‘[B‘的对象
117             <org.mule.example.stockquote.StockQuote>
118                 <Stock>
119                     <Symbol>CSCO</Symbol>
120                     <Last>28.885</Last>
121                     <Date>6/23/2015</Date>
122                     <Time>9:49am</Time>
123                     <Change>-0.055</Change>
124                     <Open>29.000</Open>
125                     <High>29.036</High>
126                     <Low>28.820</Low>
127                     <Volume>1836184</Volume>
128                     <MktCap>146.91B</MktCap>
129                     <PreviousClose>28.940</PreviousClose>
130                     <PercentageChange>-0.190%</PercentageChange>
131                     <AnnRange>22.490 - 30.310</AnnRange>
132                     <Earns>1.721</Earns>
133                     <P-E>16.784</P-E>
134                     <Name>Cisco Systems</Name>
135                 </Stock>
136             </org.mule.example.stockquote.StockQuote>
137          -->
138         <transformer ref="XsltRest" doc:name="Transformer Reference"/>
139         <logger message="After REST XsltRest transformer: #[payload.getClass()] - #[payload]" level="INFO" />
140     </sub-flow>
141
142
143      <sub-flow name="SOAP" doc:name="SOAP">
144
145          <logger message="Before SOAP set-payload: #[payload.getClass()] - #[payload]" level="INFO" /> <!-- class java.util.HashMap - {symbol=CSCO, method=SOAP} -->
146         <set-payload value="#[payload[‘symbol‘]]" doc:name="Extract Symbol"/>
147         <logger message="After SOAP set-payload: #[payload.getClass()] - #[payload]" level="INFO" /> <!-- class java.lang.String - CSCO -->
148
149         <processor-chain>
150             <cxf:jaxws-client operation="GetQuote" clientClass="net.webservicex.StockQuote" port="StockQuoteSoap" wsdlLocation="classpath:stockquote.wsdl" doc:name="SOAP client"/>
151             <http:outbound-endpoint address="http://www.webservicex.net/stockquote.asmx" doc:name="HTTP endpoint"/>
152             <!-- class org.mule.transport.http.ReleasingInputStream - [email protected] -->
153             <logger message="After SOAP http:outbound-endpoint: #[payload.getClass()] - #[payload]" level="INFO" />
154         </processor-chain>
155         <!--
156         此处表面 processor-chain 会把请求的响应ReleasingInputStream流类型 处理为对应的String格式
157         class java.lang.String - <StockQuotes><Stock><Symbol>CSCO</Symbol><Last>28.88</Last> ...................
158         -->
159         <logger message="After SOAP processor-chain: #[payload.getClass()] - #[payload]" level="INFO" />
160
161
162
163         <transformer ref="XmlDecoder" doc:name="XmlDecoder transformer"/>
164         <logger message="After SOAP XmlDecoder transformer: #[payload.getClass()] - #[payload]" level="INFO" />  <!-- class java.lang.String - <StockQuotes><Stock><Symbol>CSCO</ -->
165
166         <transformer ref="XsltSoap" doc:name="XsltSoap transformer"/>
167         <logger message="After SOAP XsltSoap transformer: #[payload.getClass()] - #[payload]" level="INFO" />  <!-- class [B - [[email protected] -->
168     </sub-flow>
169
170
171     <sub-flow name="WSDL">
172         <set-payload value="#[payload[‘symbol‘]]" doc:name="Extract Symbol"/>
173         <outbound-endpoint exchange-pattern="request-response"  address="wsdl-cxf:http://www.webservicex.net/stockquote.asmx?WSDL&amp;method=GetQuote" doc:name="Wsdl"/>
174         <transformer ref="XmlDecoder" doc:name="XmlDecoder transformer"/>
175         <transformer ref="XsltSoap" doc:name="XmlSoap transformer"/>
176     </sub-flow>
177 </mule>

3 样式单文件

xsl/rest-stock.xsl

<?xml version="1.0" encoding="ISO-8859-1"?>

<xsl:stylesheet version="2.0"
    xmlns:sq="http://www.webserviceX.NET/"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

    <xsl:template match="/sq:string/sq:StockQuotes/sq:Stock">
        <org.mule.example.stockquote.StockQuote>
            <name><xsl:value-of select="sq:Name"/></name>
            <symbol><xsl:value-of select="sq:Symbol"/></symbol>
            <date><xsl:value-of select="sq:Date"/><xsl:text> </xsl:text><xsl:value-of select="sq:Time"/></date>
            <change><xsl:value-of select="sq:Change"/></change>
            <last><xsl:value-of select="sq:Last"/></last>
            <open><xsl:value-of select="sq:Open"/></open>
            <high><xsl:value-of select="sq:High"/></high>
            <low><xsl:value-of select="sq:Low"/></low>
            <volume><xsl:value-of select="sq:Volume"/></volume>
            <previousClose><xsl:value-of select="sq:PreviousClose"/></previousClose>
        </org.mule.example.stockquote.StockQuote>
    </xsl:template>
</xsl:stylesheet>

xsl/soap-stock.xsl

<?xml version="1.0" encoding="ISO-8859-1"?>

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

    <xsl:template match="/StockQuotes/Stock">
        <org.mule.example.stockquote.StockQuote>
            <name><xsl:value-of select="Name"/></name>
            <symbol><xsl:value-of select="Symbol"/></symbol>
            <date><xsl:value-of select="Date"/><xsl:text> </xsl:text><xsl:value-of select="Time"/></date>
            <change><xsl:value-of select="Change"/></change>
            <last><xsl:value-of select="Last"/></last>
            <open><xsl:value-of select="Open"/></open>
            <high><xsl:value-of select="High"/></high>
            <low><xsl:value-of select="Low"/></low>
            <volume><xsl:value-of select="Volume"/></volume>
            <previousClose><xsl:value-of select="PreviousClose"/></previousClose>
        </org.mule.example.stockquote.StockQuote>
    </xsl:template>
</xsl:stylesheet>

截取的http://www.webservicex.net/stockquote.asmx服务的响应:

 <?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://www.webserviceX.NET/">
    <StockQuotes>
        <Stock>
            <Symbol>CSCO</Symbol>
            <Last>28.885</Last>
            <Date>6/23/2015</Date>
            <Time>9:49am</Time>
            <Change>-0.055</Change>
            <Open>29.000</Open>
            <High>29.036</High>
            <Low>28.820</Low>
            <Volume>1836184</Volume>
            <MktCap>146.91B</MktCap>
            <PreviousClose>28.940</PreviousClose>
            <PercentageChange>-0.190%</PercentageChange>
            <AnnRange>22.490 - 30.310</AnnRange>
            <Earns>1.721</Earns>
            <P-E>16.784</P-E>
            <Name>Cisco Systems</Name>
        </Stock>
    </StockQuotes>
</string>

4 测试

1)REST

日志输出:

INFO  2015-06-23 22:51:41,322 [[stockquote].connector.http.mule.default.receiver.02] org.mule.api.processor.LoggerMessageProcessor: Enter REST when clause.
INFO  2015-06-23 22:51:41,327 [[stockquote].connector.http.mule.default.receiver.02] org.mule.api.processor.LoggerMessageProcessor: Before REST set-payload: class java.util.HashMap - {symbol=CSCO, method=REST}
INFO  2015-06-23 22:51:41,330 [[stockquote].connector.http.mule.default.receiver.02] org.mule.api.processor.LoggerMessageProcessor: After REST set-payload: class java.lang.String - Symbol=CSCO

++++++++++++++++++++ 子流REST中的日志输出(子流REST的输入类型为String) +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
INFO  2015-06-23 22:51:41,332 [[stockquote].connector.http.mule.default.receiver.02] org.mule.api.processor.LoggerMessageProcessor: Before REST http:outbount-endpoint: class java.lang.String - Symbol=CSCO
INFO  2015-06-23 22:51:41,335 [[stockquote].connector.http.mule.default.receiver.02] org.mule.transport.service.DefaultTransportServiceDescriptor: Loading default outbound transformer: org.mule.transport.http.transformers.ObjectToHttpClientMethodRequest
INFO  2015-06-23 22:51:41,335 [[stockquote].connector.http.mule.default.receiver.02] org.mule.transport.service.DefaultTransportServiceDescriptor: Loading default response transformer: org.mule.transport.http.transformers.MuleMessageToHttpResponse
INFO  2015-06-23 22:51:41,335 [[stockquote].connector.http.mule.default.receiver.02] org.mule.transport.service.DefaultTransportServiceDescriptor: Loading default outbound transformer: org.mule.transport.http.transformers.ObjectToHttpClientMethodRequest
INFO  2015-06-23 22:51:41,335 [[stockquote].connector.http.mule.default.receiver.02] org.mule.lifecycle.AbstractLifecycleManager: Initialising: ‘connector.http.mule.default.dispatcher.32667419‘. Object is: HttpClientMessageDispatcher
INFO  2015-06-23 22:51:41,335 [[stockquote].connector.http.mule.default.receiver.02] org.mule.lifecycle.AbstractLifecycleManager: Starting: ‘connector.http.mule.default.dispatcher.32667419‘. Object is: HttpClientMessageDispatcher
INFO  2015-06-23 22:51:43,179 [[stockquote].connector.http.mule.default.receiver.02] org.mule.api.processor.LoggerMessageProcessor: After REST http:outbount-endpoint: class org.mule.transport.http.ReleasingInputStream - [email protected]

<custom-transformer name="XmlDecoder" class="org.mule.transformer.codec.XmlEntityDecoder" doc:name="Java"/>处理器从ReleasingInputStream中解除XML字符串
INFO  2015-06-23 22:51:43,183 [[stockquote].connector.http.mule.default.receiver.02] org.mule.api.processor.LoggerMessageProcessor: After REST XmlDecoder transformer: class java.lang.String - <?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://www.webserviceX.NET/"><StockQuotes><Stock><Symbol>CSCO</Symbol><Last>28.71</Last><Date>6/23/2015</Date><Time>10:37am</Time><Change>-0.23</Change><Open>29.00</Open><High>29.04</High><Low>28.71</Low><Volume>4101960</Volume><MktCap>146.02B</MktCap><PreviousClose>28.94</PreviousClose><PercentageChange>-0.79%</PercentageChange><AnnRange>22.49 - 30.31</AnnRange><Earns>1.72</Earns><P-E>16.68</P-E><Name>Cisco Systems</Name></Stock></StockQuotes></string>
INFO  2015-06-23 22:51:43,194 [[stockquote].connector.http.mule.default.receiver.02] org.mule.api.processor.LoggerMessageProcessor: After REST XsltRest transformer: class [B - [[email protected]++++++++++++++++++ 子流REST结束(子流REST的输出类型为‘[B‘) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

INFO  2015-06-23 22:51:43,196 [[stockquote].connector.http.mule.default.receiver.02] org.mule.api.processor.LoggerMessageProcessor: After HTTP_input REST: class [B - [[email protected]
INFO  2015-06-23 22:51:43,198 [[stockquote].connector.http.mule.default.receiver.02] org.mule.api.processor.LoggerMessageProcessor: After HTTP_input REST processor-chain: class [B - [[email protected]
INFO  2015-06-23 22:51:43,199 [[stockquote].connector.http.mule.default.receiver.02] org.mule.api.processor.LoggerMessageProcessor: Before HTTP_input XmlToObject transformer: class [B - [[email protected]
INFO  2015-06-23 22:51:43,211 [[stockquote].connector.http.mule.default.receiver.02] org.mule.api.processor.LoggerMessageProcessor: After HTTP_input XmlToObject transformer: class org.mule.example.stockquote.StockQuote - StockQuote[symbol=CSCO, name=Cisco Systems, date=6/23/2015 10:37am, last=28.71, change=-0.23, open=29.00, high=29.04, low=28.71, volume=4101960, previousClose=28.94]

2)SOAP

日志:

INFO  2015-06-23 23:04:20,910 [[stockquote].connector.http.mule.default.receiver.03] org.mule.api.processor.LoggerMessageProcessor: Enter SOAP when clause.
INFO  2015-06-23 23:04:20,912 [[stockquote].connector.http.mule.default.receiver.03] org.mule.api.processor.LoggerMessageProcessor: Before SOAP set-payload: class java.util.HashMap - {symbol=CSCO, method=SOAP}
INFO  2015-06-23 23:04:20,915 [[stockquote].connector.http.mule.default.receiver.03] org.mule.api.processor.LoggerMessageProcessor: After SOAP set-payload: class java.lang.String - CSCO
INFO  2015-06-23 23:04:20,919 [[stockquote].connector.http.mule.default.receiver.03] org.mule.transport.service.DefaultTransportServiceDescriptor: Loading default outbound transformer: org.mule.transport.http.transformers.ObjectToHttpClientMethodRequest
INFO  2015-06-23 23:04:20,919 [[stockquote].connector.http.mule.default.receiver.03] org.mule.transport.service.DefaultTransportServiceDescriptor: Loading default response transformer: org.mule.transport.http.transformers.MuleMessageToHttpResponse
INFO  2015-06-23 23:04:20,920 [[stockquote].connector.http.mule.default.receiver.03] org.mule.transport.service.DefaultTransportServiceDescriptor: Loading default outbound transformer: org.mule.transport.http.transformers.ObjectToHttpClientMethodRequest
INFO  2015-06-23 23:04:20,920 [[stockquote].connector.http.mule.default.receiver.03] org.mule.lifecycle.AbstractLifecycleManager: Initialising: ‘connector.http.mule.default.dispatcher.18322687‘. Object is: HttpClientMessageDispatcher
INFO  2015-06-23 23:04:20,920 [[stockquote].connector.http.mule.default.receiver.03] org.mule.lifecycle.AbstractLifecycleManager: Starting: ‘connector.http.mule.default.dispatcher.18322687‘. Object is: HttpClientMessageDispatcher
INFO  2015-06-23 23:04:22,391 [[stockquote].connector.http.mule.default.receiver.03] org.mule.api.processor.LoggerMessageProcessor: After SOAP http:outbound-endpoint: class org.mule.transport.http.ReleasingInputStream - [email protected]
INFO  2015-06-23 23:04:22,400 [[stockquote].connector.http.mule.default.receiver.03] org.mule.api.processor.LoggerMessageProcessor: After SOAP processor-chain: class java.lang.String - <StockQuotes><Stock><Symbol>CSCO</Symbol><Last>28.7299</Last><Date>6/23/2015</Date><Time>10:50am</Time><Change>-0.2101</Change><Open>29.0000</Open><High>29.0360</High><Low>28.6500</Low><Volume>4746376</Volume><MktCap>146.12B</MktCap><PreviousClose>28.9400</PreviousClose><PercentageChange>-0.7260%</PercentageChange><AnnRange>22.4900 - 30.3100</AnnRange><Earns>1.7210</Earns><P-E>16.6937</P-E><Name>Cisco Systems</Name></Stock></StockQuotes>
INFO  2015-06-23 23:04:22,419 [[stockquote].connector.http.mule.default.receiver.03] org.mule.api.processor.LoggerMessageProcessor: After SOAP XmlDecoder transformer: class java.lang.String - <StockQuotes><Stock><Symbol>CSCO</Symbol><Last>28.7299</Last><Date>6/23/2015</Date><Time>10:50am</Time><Change>-0.2101</Change><Open>29.0000</Open><High>29.0360</High><Low>28.6500</Low><Volume>4746376</Volume><MktCap>146.12B</MktCap><PreviousClose>28.9400</PreviousClose><PercentageChange>-0.7260%</PercentageChange><AnnRange>22.4900 - 30.3100</AnnRange><Earns>1.7210</Earns><P-E>16.6937</P-E><Name>Cisco Systems</Name></Stock></StockQuotes>
INFO  2015-06-23 23:04:22,429 [[stockquote].connector.http.mule.default.receiver.03] org.mule.api.processor.LoggerMessageProcessor: After SOAP XsltSoap transformer: class [B - [[email protected]
INFO  2015-06-23 23:04:22,432 [[stockquote].connector.http.mule.default.receiver.03] org.mule.api.processor.LoggerMessageProcessor: Before HTTP_input XmlToObject transformer: class [B - [[email protected]
INFO  2015-06-23 23:04:22,435 [[stockquote].connector.http.mule.default.receiver.03] org.mule.api.processor.LoggerMessageProcessor: After HTTP_input XmlToObject transformer: class org.mule.example.stockquote.StockQuote - StockQuote[symbol=CSCO, name=Cisco Systems, date=6/23/2015 10:50am, last=28.7299, change=-0.2101, open=29.0000, high=29.0360, low=28.6500, volume=4746376, previousClose=28.9400]

3)WSDL

日志:

INFO  2015-06-23 23:05:36,386 [[stockquote].connector.http.mule.default.receiver.04] org.mule.transport.service.DefaultTransportServiceDescriptor: Loading default outbound transformer: org.mule.transport.http.transformers.ObjectToHttpClientMethodRequest
INFO  2015-06-23 23:05:36,386 [[stockquote].connector.http.mule.default.receiver.04] org.mule.transport.service.DefaultTransportServiceDescriptor: Loading default response transformer: org.mule.transport.http.transformers.MuleMessageToHttpResponse
INFO  2015-06-23 23:05:36,386 [[stockquote].connector.http.mule.default.receiver.04] org.mule.transport.service.DefaultTransportServiceDescriptor: Loading default outbound transformer: org.mule.transport.http.transformers.ObjectToHttpClientMethodRequest
INFO  2015-06-23 23:05:36,386 [[stockquote].connector.http.mule.default.receiver.04] org.mule.lifecycle.AbstractLifecycleManager: Initialising: ‘connector.http.mule.default.dispatcher.5785394‘. Object is: HttpClientMessageDispatcher
INFO  2015-06-23 23:05:36,386 [[stockquote].connector.http.mule.default.receiver.04] org.mule.lifecycle.AbstractLifecycleManager: Starting: ‘connector.http.mule.default.dispatcher.5785394‘. Object is: HttpClientMessageDispatcher
INFO  2015-06-23 23:05:37,407 [[stockquote].connector.http.mule.default.receiver.04] org.mule.api.processor.LoggerMessageProcessor: Before HTTP_input XmlToObject transformer: class [B - [[email protected]
INFO  2015-06-23 23:05:37,415 [[stockquote].connector.http.mule.default.receiver.04] org.mule.api.processor.LoggerMessageProcessor: After HTTP_input XmlToObject transformer: class org.mule.example.stockquote.StockQuote - StockQuote[symbol=CSCO, name=Cisco Systems, date=6/23/2015 10:51am, last=28.725, change=-0.215, open=29.000, high=29.036, low=28.650, volume=4786820, previousClose=28.940]
时间: 2024-08-27 18:42:49

Mule自带例子之stockquote的相关文章

Mule自带例子之flight-reservation

1 配置效果图 2 应用的配置文件 1 <?xml version="1.0" encoding="UTF-8"?> 2 3 <mule xmlns:scripting="http://www.mulesoft.org/schema/mule/scripting" xmlns:vm="http://www.mulesoft.org/schema/mule/vm" xmlns:json="http:/

Mule自带例子之loanbroker-simple

1 配置效果图 2 配置文件 1 <?xml version="1.0" encoding="UTF-8"?> 2 3 <mule xmlns:cxf="http://www.mulesoft.org/schema/mule/cxf" xmlns:http="http://www.mulesoft.org/schema/mule/http" version="CE-3.4.0" 4 xml

Mule ESB 自带例子hello初体验

1 配置的流的效果图 2 应用配置文件hello.xml内容 1 <?xml version="1.0" encoding="UTF-8"?> 2 3 <mule xmlns:vm="http://www.mulesoft.org/schema/mule/vm" xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns="http://w

Geant4采用make和cmake编译运行geant4自带例子的方法

该教程介绍如何将geant4中自带的例子通过camke编译成可执行文件,并运行程序. 1 在linux主目录下创建一个geant4_workdir目录,并将geant4自带的例子B1复制到该目录下,如图1所示,geant4自带的B1源文件所在目录为geant4安装目录,如图2所示. 图1 图2 2 复制完成后到终端并进入到B1文件里面(~/geant4_workdir/B1/),然后在终端输入make开始编译文件,开始与结果分别如图3所示,这样便完成了编译. 图3 编译之后再回到~/geant4

可视化工具solo show-----Prefuse自带例子GraphView讲解

2014.10.15日以来的一个月,挤破了头.跑断了腿.伤透了心.吃够了全国最大餐饮连锁店——沙县小吃.其中酸甜苦辣,绝不是三言两语能够说得清道的明的.校招的兄弟姐妹们,你们懂得…… 体会最深的一句话还是:出来混,迟早要还的. 一个月过去了,迷茫之际有太多无奈,无奈中又夹杂些许庆幸,岁月匆匆,人生不息,奋斗不止. 遵守最初的诺言,继续走我可视化的道路: 上集摘要:一个月博文中大概介绍了可视化的一些常用工具,从可操作性.实用性.交互性等各方面进行了简单的对比和总结,具体参见http://www.c

asp.net web api 2.2 启动模板(带例子)

链接:https://github.com/solenovex/asp.net-web-api-2.2-starter-template 简介 这个是我自己编写的asp.net web api 2.2的启动模板,使用了Entity Framework 6.2(beta)作为ORM. 该模板主要采用了 Unit of Work 和 Repository 模式,使用autofac进行控制反转(ioc). 记录Log采用的是NLog. 结构 项目列表如下图: 该启动模板为多层结构,其结构如下图: 开发

PHP开发常用函数和必须会的函数总结 --带例子

PHP开发常用函数 在共过开发中,我经常要用到一些PHP函数,有时会不记得,这里把这些常用函数总结到一起.本篇列举了PHP程序员开发中经常用到的php函数.几乎每个函数都有例子,老手可以看看当做温习,新手可以背理论,然后把例子敲他几遍,后面再开发中,开发效率绝对有所提高.例子大多取自w3cschool标准例子和网上的一些资源,部分为个人所写,均经过测试.如果要装载本文,还请注明来源 :http://blog.csdn.net/qq_22327455. 一.检查函数 1.empty() empty

Mule入门基础

Mule入门文档 零.前提 在按照本文进行操作之前,假设您的系统已经具备以下前提: 已经安装了Sun公司的JDK1.4或JDK5.0版本,推荐使用JDK5.0. 正确设置了JAVA_HOME环境变量到JDK目录(注意不是JRE目录). 确保%JAVA_HOME%\bin路径在系统寻找路径中. 安装有Eclipse3.2或以上版本的开发环境. 安装有Apache Tomcat 5.0或以上版本,推荐使用5.5.文档假设Tomcat的安装目录为%TOMCAT_HOME%. 一.下载与安装 到Mule

NVIDIA DIGITS 学习笔记(NVIDIA DIGITS-2.0 + Ubuntu 14.04 + CUDA 7.0 + cuDNN 7.0 + Caffe 0.13.0)

转自:http://blog.csdn.net/enjoyyl/article/details/47397505?from=timeline&isappinstalled=0#10006-weixin-1-52626-6b3bffd01fdde4900130bc5a2751b6d1 NVIDIA DIGITS-2.0 + Ubuntu 14.04 + CUDA 7.0 + cuDNN 7.0 + Caffe 0.13.0环境配置 引言 DIGITS简介 DIGITS特性 资源信息 说明 DIGI