我正在关注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。
我没有更多想法可以改变这项工作。希望有人对此有一些好的建议。提前谢谢!
答案 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。您看到的错误是工作室中的错误,如果您正确配置,则不会受到影响。