2017-02-17 1 views
0

Ich habe eine einfache Restful Web-Services in einem Mule-Projekt erstellt.Mule: HTTP-Anforderung ausgehenden Endpunkt kann keine Anfrage an RESTFul-Webdienste senden (HTTP Listener)

XML Config-Datei von Restful WS: -

<?xml version="1.0" encoding="UTF-8"?> 

<mule xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" 
    xmlns:spring="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="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/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd"> 
    <http:listener-config name="American_HTTP_Listener_Configuration" host="0.0.0.0" port="8181" doc:name="HTTP Listener Configuration"/> 
    <flow name="americanFlow"> 
     <http:listener config-ref="American_HTTP_Listener_Configuration" path="/api/flights" doc:name="HTTP" allowedMethods="GET"/> 
     <set-payload value="[{&quot;ID&quot;:1, &quot;code&quot;: &quot;ER38sd&quot;,&quot;price&quot;: 400, &quot;departureDate&quot;: &quot;2016/03/20&quot;, &quot;origin&quot;: &quot;MUA&quot;, &quot;destination&quot;: &quot;SFO&quot;, &quot;emptySeats&quot;: 0, &quot;plane&quot;: {&quot;type&quot;: &quot;Boeing 737&quot;, &quot;totalSeats&quot;: 150}}, {&quot;ID&quot;:2,&quot;code&quot;: &quot;ER45if&quot;, &quot;price&quot;: 345.99, &quot;departureDate&quot;: &quot;2016/02/11&quot;, &quot;origin&quot;: &quot;MUA&quot;, &quot;destination&quot;: &quot;LAX&quot;, &quot;emptySeats&quot;: 52, &quot;plane&quot;: {&quot;type&quot;: &quot;Boeing 777&quot;, &quot;totalSeats&quot;: 300}}]" mimeType="application/json" doc:name="Set Payload"/> 
    </flow> 
</mule> 

Und im selben Projekt habe ich eine weitere Web-Services nur die oben Restful WS zu nennen.

Unten ist die XML-Konfigurationsdatei für den Aufruf WS: -

<mule xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns:context="http://www.springframework.org/schema/context" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" 
    xmlns:spring="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="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.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-current.xsd 
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd"> 
    <context:property-placeholder location="flights-${env}.properties"/> 
    <http:listener-config name="HTTP_Listener_Configuration" host="0.0.0.0" port="8081" doc:name="HTTP Listener Configuration"/> 
    <http:request-config name="American_HTTP_Request_Configuration" protocol="HTTPS" host="localhost" port="8181" responseTimeout="300000" doc:name="HTTP Request Configuration"/> 
    <flow name="implemantationFlow"> 
     <http:listener config-ref="HTTP_Listener_Configuration" path="/american" allowedMethods="GET" doc:name="HTTP"/> 
     <flow-ref name="setAirportCodeSubFlow" doc:name="setAirportCodeSubFlow"/> 
     <http:request config-ref="American_HTTP_Request_Configuration" path="/api/flights" method="GET" doc:name="American REST Request"/> 
     <logger level="INFO" doc:name="Logger"/> 
    </flow> 
</mule> 

hier zuerst prüfe ich den Code mit Standard-Antwortzeit, aber ein Fehler auftreten wie "Fehler HTTP-Anforderung senden ". Später habe ich die Standard-Reaktionszeit 30s auf 300s geändert, immer noch der gleiche Fehler kommt. Kann mir jemand sagen, wie dieses Problem gelöst wird? Ich habe viele ähnliche Posts durchgespielt, aber in all diesen Posts sagen sie, dass sie die Antwortzeit erhöhen und überprüfen sollen. Aber die Erhöhung der Reaktionszeit kann mir auch nicht helfen, aus diesem Problem herauszukommen.

BEARBEITEN: - Ich habe auch den Proxy zu meinem Anypoint Studio.

Antwort

0

In Ihrer Anfrage Config setzen protocol="HTTP" statt HTTPS

<http:request-config name="American_HTTP_Request_Configuration" protocol="HTTP" host="localhost" port="8181" responseTimeout="300000" doc:name="HTTP Request Configuration"/> 
Verwandte Themen