2017-02-17 32 views
0

Я создал простую веб-службу Restful в проекте mule.Mule: HTTP-адрес исходящей конечной точки не может отправить запрос на веб-службы RESTFul (HTTP-прослушиватель)

XML-файл конфигурации успокоительной 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> 

И в том же проекте я создал еще один веб-сервисов только для вызова выше RESTful WS.

Ниже файл XML конфигурации для вызова 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> 

Здесь Сначала я проверить код с временем отклика по умолчанию, но возникает ошибка, как "Ошибка отправки HTTP запроса ». Позже я изменил время отклика по умолчанию от 30 с до 300 с. Может ли кто-нибудь сказать мне, как эта проблема решена? Я прошел через много подобных сообщений, но во всех этих сообщениях они говорят, чтобы увеличить время отклика и проверить. Но увеличение времени отклика также не может помочь мне избавиться от этой проблемы.

EDIT: - Я также установил прокси-сервер для своей студии Anypoint.

ответ

0

В запросе конфигурации поместить protocol="HTTP" вместо HTTPS

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