我正在遵循mulesoft(DataWeave Tutorial)的教程,witch实现了调用外部公共Web服务(WSDL)的Web服务消费者。我按照描述设置项目没有问题,但是当我启动服务器时出现以下错误:"由:java.net.ConnectException:连接被拒绝:连接"。
第一个想法是 Web 服务不可用。但我在 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:tempdw_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。
对于要改变什么才能使这项工作,我没有更多的想法。希望有人对此有一些好的建议。提前感谢!
您不需要在代理网址中提及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。您看到的错误是工作室中的错误,不会影响您正确配置。