2016-08-10 2 views
0

Ich brauche eine JSON-Struktur aus einem RESTful Web-Service abgerufen wird, und ich würde Ich schätze einen Vorschlag, wie Sie dieses JSON erhalten und es dem zweiten Web Service-Aufruf zur Verfügung stellen können., wie Kette RESTful Web-Service-Aufrufe in Mule 3.5.2

<http:connector name="Service-Connector_restRef" proxyHostname="" proxyPassword="" proxyPort="${Service-Connector-One.ProxyPort}" proxyUsername="" /> 

<http:outbound-endpoint address="http://${Service.Host}:8080/#[header:_REST_PATH]" exchange-pattern="request-response" followRedirects="true" responseTimeout="10000" connector-ref="Service-Connector_restRef"> 

The Mule-Website einiger Anweisungen mit AnypointStudio liefern, aber ich habe einen vorhandenen Mule Fluss ändern, so muß ich mit der XML-Konfigurationsdatei arbeiten. TIA.

Antwort

0

Sie können Studio weiterhin verwenden, um die Bearbeitung eines vorhandenen Datenflusses zu vereinfachen. Es ist eine einfache Sache, entweder zu importieren oder sogar ausschneiden und in ein Projekt einfügen. Dadurch ergeben sich viele Vorteile. Haben Sie eine Option, um zu einer neuen Laufzeit zu wechseln? Wenn Sie eine neuere Laufzeit verwenden, können Sie Dateweave verwenden, um von einem JSON-Format in ein anderes zu transformieren. Wenn Sie eine ältere Version verwenden, verwenden Sie Datamapper anstelle des folgenden Beispiels.

Ihre Frage war jedoch bei der Verkettung Restful HTTP-Aufrufe. Wenn Sie den ersten Restful-Service aufrufen, erhalten Sie eine # [Payload] zurück, die Sie dann mithilfe von Datamapper oder DataWeaver in ein neues Format umwandeln können. Sie fügen dann nach der Umwandlung einen neuen http-Endpunkt hinzu, und die neue Nutzlast wird als Teil des Aufrufs zu ihm weitergeleitet, da sie im Ablauf folgt. Sie müssen sicherstellen, dass Sie den HTTP-Vorgang für beide entsprechend festlegen.

Skeleton Visuell: Chain Skeleton

Skelett als XML:

<http:request-config name="HTTP_Request_Configuration_1" host="localhost" port="8082" doc:name="HTTP Request Configuration"/> 
    <http:request-config name="HTTP_Request_Configuration_2" host="localhost" port="8083" doc:name="HTTP Request Configuration"/> 
    <flow name="chainFlow"> 
     <http:listener config-ref="HTTP_Listener_Configuration" path="/chain" doc:name="HTTP"/> 
     <logger message="#[payload]" level="INFO" doc:name="Logger"/> 
     <http:request config-ref="HTTP_Request_Configuration_1" path="/path1" method="GET" doc:name="HTTP"/> 
     <logger message="#[payload]" level="INFO" doc:name="Logger"/> 
     <dw:transform-message doc:name="Transform Message"> 
      <dw:set-payload><![CDATA[%dw 1.0 
%output application/java 
--- 
{ 
}]]></dw:set-payload> 
     </dw:transform-message> 
     <logger message="#[payload]" level="INFO" doc:name="Logger"/> 
     <http:request config-ref="HTTP_Request_Configuration_2" path="/path2" method="POST" doc:name="HTTP"/> 
     <logger message="#[payload]" level="INFO" doc:name="Logger"/> 
    </flow>