2014-07-21 85 views
1

我有以下騾子流量:騾子ESB REST測試(捲曲和Eclipse)

<?xml version="1.0" encoding="UTF-8"?> 
<mule xmlns:tracking="http://www.mulesoft.org/schema/mule/ee/tracking" xmlns:json="http://www.mulesoft.org/schema/mule/json" version="EE-3.5.0" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:core="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns:spring="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd 
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd 
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd 
http://www.mulesoft.org/schema/mule/json http://www.mulesoft.org/schema/mule/json/current/mule-json.xsd 
http://www.mulesoft.org/schema/mule/ee/tracking http://www.mulesoft.org/schema/mule/ee/tracking/current/mule-tracking-ee.xsd"> 
    <json:object-to-json-transformer name="Object_to_JSON" doc:name="Object to JSON"/> 
    <flow doc:name="HelloWorldFlow1" name="HelloWorldFlow1"> 
     <http:inbound-endpoint doc:description="This endpoint receives an HTTP message." doc:name="HTTP" exchange-pattern="request-response" host="localhost" port="8081" contentType="application/json" path="mule/getBalance"/> 
     <json:json-to-object-transformer doc:name="JSON to Object" returnClass="java.util.HashMap"/> 
    <choice doc:name="Determine Bank" > 
      <when expression="#[message.payload.get('uid') == 'ABC']"> 
       <set-payload value="When ABC case" doc:name="Fin Acct"/> 
      </when> 
      <otherwise> 
       <set-payload value="#['Default case, payload: ' + payload + ', payload.get(\047uid\047): ' + payload.get('uid')]" doc:name="SOF Bank"/> 
      </otherwise> 
     </choice> 
    </flow> 
</mule> 

,我測試如下:

C:\curl>curl -H "Content-Type: application/json" -i -d @input2.txt http://localh 
ost:8081/mule/getBalance 
HTTP/1.1 200 OK 
Date: Sun, 20 Jul 2014 18:53:06 -0700 
Server: Mule EE Core Extensions/3.5.0 
Content-Type: application/json 
X-MULE_SESSION: rO0ABXNyACNvcmcubXVsZS5zZXNzaW9uLkRlZmF1bHRNdWxlU2Vzc2lvbi7rdtEW 
7GGKAwAFWgAFdmFsaWRMAA1mbG93Q29uc3RydWN0dAAmTG9yZy9tdWxlL2FwaS9jb25zdHJ1Y3QvRmxv 
bd0NvbnN0cnVjdDtMAAJpZHQAEkxqYXZhL2xhbmcvU3RyaW5nO0wACnByb3BlcnRpZXN0AA9MamF2YS91 
dGlsL01hcDtMAA9zZWN1cml0eUNvbnRleHR0ACdMb3JnL211bGUvYXBpL3NlY3VyaXR5L1NlY3VyaXR5 
Q29udGV4dDt4cAFwdAAkYzI3OGM3NjAtMTA3OS0xMWU0LTlmYTctMDAyMTVlNmIzZDkwc3IAJWphdmEu 
dXRpbC5Db2xsZWN0aW9ucyRTeW5jaHJvbml6ZWRNYXAbc/kJS0s5ewMAAkwAAW1xAH4AA0wABW11dGV4 
dAASTGphdmEvbGFuZy9PYmplY3Q7eHBzcgAkb3JnLm11bGUudXRpbC5DYXNlSW5zZW5zaXRpdmVIYXNo 
TWFwndHZ72dFzgADAAB4cHcMP0AAAAAAABAAAAAAeHEAfgAJeHB4 
X-MULE_ENCODING: UTF-8 
Content-Length: 13 
Connection: close 

When ABC case 

我總是用捲曲,因爲這是該工具由各種論壇引用。

有沒有一種工具可以測試Mule ESB Eclipse平臺中的RESTful或HTTP?這可能會緩解一些測試情況。到目前爲止,我找不到任何,但我可以找到捲曲實現。

回答

3

你能請與下面的配置,HTTP入站與mimeType="application/json"', payload.get(\047uid\047): '從集有效載荷去除contentType="application/json"嘗試和檢查: -

<json:object-to-json-transformer name="Object_to_JSON" doc:name="Object to JSON"/> 
<flow doc:name="HelloWorldFlow1" name="HelloWorldFlow1"> 
    <http:inbound-endpoint doc:description="This endpoint receives an HTTP message." mimeType="application/json" doc:name="HTTP" exchange-pattern="request-response" host="localhost" port="8081" path="mule/getBalance"/> 
    <json:json-to-object-transformer doc:name="JSON to Object" returnClass="java.util.HashMap"/> 
    <choice doc:name="Determine Bank" > 
     <when expression="#[message.payload.get('uid') == 'ABC']"> 
      <set-payload value="When ABC case" doc:name="Friendly Bank"/> 
     </when> 
     <otherwise> 
      <set-payload value="#['Default case, payload: ' + payload + ', payload.get(\047uid\047): ' + message.payload.id]" doc:name="SOF Bank"/> 
     </otherwise> 
    </choice> 
</flow>