Mule ESB:连接到https服务 [英] Mule ESB: Connect to https service
本文介绍了Mule ESB:连接到https服务的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
有人可以向我展示一个如何创建骡子流以向https服务发送请求的小例子吗?我试图这样做,但是我收到以下错误:
Can someone show me a small example of how to create a mule flow to send requests to a https service? I tried to do it, but I get the following errors:
INFO 2012-09-21 21:40:40,980 [[myapp_kareo].connector.http.mule.default.receiver.02] org.mule.transport.http.transformers.ObjectToHttpClientMethodRequest: Content-Type not set on outgoing request, defaulting to: text/plain
WARN 2012-09-21 21:40:41,081 [[myapp_kareo].connector.http.mule.default.receiver.02] org.mule.transformer.simple.ObjectToString: Could not close stream
java.io.IOException: Stream closed
at java.io.BufferedInputStream.getBufIfOpen(BufferedInputStream.java:145)
at java.io.BufferedInputStream.read(BufferedInputStream.java:308) at org.apache.commons.httpclient.ContentLengthInputStream.read(ContentLengthInputStream.java:170)
等......
我看到至少2件奇怪的东西:
I see at least 2 strange things:
-
org.mule.transport.http.transformers .ObjectToHttpClientMethodRequest
:未在传出请求上设置Content-Type,defaulti ng to:text / plain - 我不知道从哪里得到这个,内容类型在所有端点上设置为text / xml。 -
org。 mule.transformer.simple.ObjectToString
:无法关闭流 - 我无法解释它来自何处......
org.mule.transport.http.transformers.ObjectToHttpClientMethodRequest
: Content-Type not set on outgoing request, defaulting to: text/plain - I don't know from where I get this, the content type is set on all endpoints to text/xml.org.mule.transformer.simple.ObjectToString
: Could not close stream - I cannot explain where this comes from...
我的xml配置:
<?xml version="1.0" encoding="UTF-8"?>
<https:connector name="HTTP_HTTPS" cookieSpec="netscape" validateConnections="true" sendBufferSize="0" receiveBufferSize="0" receiveBacklog="0" clientSoTimeout="10000" serverSoTimeout="10000" socketSoLinger="0" proxyHostname="localhost" proxyPort="80" doc:name="HTTP\HTTPS">
<https:tls-key-store path="/src/main/app/keystore/javakeystore.jks" storePassword="somepassword"/>
</https:connector>
<flow name="KareoFlow1" doc:name="KareoFlow1">
<http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8081" path="kareo" contentType="text/xml" doc:name="SomeApp"/>
<https:outbound-endpoint exchange-pattern="request-response" host="webservice.kareo.com/" port="443" path="services/soap/2.1/KareoServices.svc" connector-ref="HTTP_HTTPS" contentType="text/xml" doc:name="Kareo"/>
<echo-component doc:name="Echo"/>
</flow>
非常感谢!
推荐答案
向HTTPS发送请求的一个简单示例如下: -
A simple example of sending request to HTTPS will be as follows :-
<https:connector name="httpsBSConnector" doc:name="HTTP\HTTPS" clientSoTimeout="10000" cookieSpec="netscape" proxyHostname="proxy-nc.abc.com" proxyPort="80" receiveBacklog="0" receiveBufferSize="0" sendBufferSize="0" serverSoTimeout="10000" socketSoLinger="0" validateConnections="true">
<https:tls-key-store path="${keystore.path}" keyPassword="${keystore.password}" storePassword="${keystore.password}"/>
<https:tls-server path="${truststore.path}" storePassword="${truststore.password}"/>
</https:connector>
<https:outbound-endpoint address="https://${url}:${port}${path}" doc:name="getDataCall" exchange-pattern="request-response" method="POST" connector-ref="httpsBSConnector" />
这篇关于Mule ESB:连接到https服务的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文