Mule http请求配置代理

时间:2017-05-10 20:37:21

标签: web-services mule http-proxy anypoint-studio

我正在关注mulesoft(DataWeave Tutorial)的教程,该教程实现了一个调用外部公共Web服务(WSDL)的Web服务使用者。我按照描述设置项目没有问题,但是当我启动服务器时出现以下错误:“由以下引起:java.net.ConnectException:Connection refused:connect”。

首先想到的是,网络服务不可用。但是我在SoapUI中对它进行了测试,它工作得很好。

我认为错误是因为对Web服务的调用没有使用我在Anypoint Studio中设置的代理配置。因此,在我的Web服务使用者中,我已经设置了HTTP请求配置,其中我添加了代理配置。但它也没有用。那是我的步骤:

网络服务消费者

https://i.stack.imgur.com/hN584.png

参考标签

https://i.stack.imgur.com/NIV84.png

HTTP请求配置

https://i.stack.imgur.com/Ubpwa.png

代理商标签

https://i.stack.imgur.com/bBYx1.png

代理配置

https://i.stack.imgur.com/JDQdf.png

立即引起注意的一件事是HTTP请求配置上的TLS错误。一旦我选择使用代理,就会出现此错误,当我转到TLS / SSL选项卡时,我无法删除TLS配置,如下图所示:

TLS / SSL标签

https://i.stack.imgur.com/xFqEW.png

这是我的流程的XML:

    <flow name="dataweave_tutorialFlow">
    <http:listener config-ref="HTTP_Listener_Configuration" path="ex1" doc:name="HTTP" metadata:id="b34a6c34-653f-4b68-8aa3-8292e41a20cf"/>
    <dw:transform-message doc:name="Transform Message">
        <dw:input-payload doc:sample="C:\temp\dw_example1.json"/>
        <dw:set-payload><![CDATA[%dw 1.0
        %output application/xml
        %namespace ns0 http://mulesoft.org/tshirt-service
        ---
        {
            ns0#OrderTshirt: {
                size: "M" unless payload.buyer.state == "TX" otherwise "XXL",
                email: payload.buyer.email,
                name: payload.buyer.name,
                address1: payload.buyer.address,
                address2: null,
                city: payload.buyer.city,
                stateOrProvince: payload.buyer.state,
                postalCode: payload.buyer.postCode,
                country: payload.buyer.nationality
            }
        }]]></dw:set-payload>
    </dw:transform-message>
    <ws:consumer config-ref="Web_Service_Tshirt" operation="OrderTshirt" doc:name="Web Service Consumer"/>
</flow>

我正在使用Anypoint Studio 6.2.5和Mule ESB Server 3.8.2。

我没有更多想法可以改变这项工作。希望有人对此有一些好的建议。提前谢谢!

1 个答案:

答案 0 :(得分:0)

您不需要在代理网址中提及 http 主机可以使用以下示例设置代理: -

<http:request-config name="HTTP_Request_Configuration" host="www.webservicex.com" port="80" doc:name="HTTP Request Configuration">
     <http:proxy host="my.example.proxy.com" port="8080"/>
</http:request-config>

您可能需要根据代理提供代理用户名和密码 最好的例子是如果你按照这里写的一步一步: - http://www.corralict.nl/wsc-connector-proxy/

https://docs.mulesoft.com/mule-user-guide/v/3.8/web-service-consumer

关于tls,请勿触摸tls部分,并确保您的HTTP请求协议设置为HTTP而不是HTTPS。您看到的错误是工作室中的错误,如果您正确配置,则不会受到影响。