首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mule :连接到https服务

Mule :连接到https服务
EN

Stack Overflow用户
提问于 2012-09-22 18:45:49
回答 2查看 4.1K关注 0票数 2

有人能给我举一个小例子,说明如何创建一个骡子流来向https服务发送请求吗?我试过这样做,但我得到了以下错误:

代码语言:javascript
复制
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)

等等。

我至少看到了两件奇怪的事情:

  • org.mule.transport.http.transformers.ObjectToHttpClientMethodRequest:content --在传出请求时不设置类型,默认为:text/平原--我不知道从哪里得到它,在所有端点上都将内容类型设置为text/xml。
  • org.mule.transformer.simple.ObjectToString:无法关闭流-我无法解释这是从哪里来的.

我的xml配置:

代码语言:javascript
复制
<?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>

非常感谢!

EN

回答 2

Stack Overflow用户

发布于 2015-07-24 06:47:32

向HTTPS发送请求的简单示例如下:

代码语言:javascript
复制
<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" />
票数 1
EN

Stack Overflow用户

发布于 2012-09-25 22:05:55

这位先生们似乎解决了他自己的问题,建立一个https服务。也许从他的例子中提取一些信息可以指导你。他有一个不同的错误,至于您的流错误,我想说端口关闭了。

wanted

包括您的骡子配置将让其他人帮助您更多。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12546700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档