Mule-无法通过HTTPS端点进行路由

Mule-无法通过HTTPS端点进行路由,mule,Mule,我有一个带有HTTPS入站请求/响应的流,它接受带有XML数据的post(端口8081)。我对数据进行了一些处理,然后希望通过443向不同的URL执行另一个HTTPS post,以便通过外部进程(PeopleSoft IB)处理数据 问题是,当我试图将从HTTPS:8081入站收到的内容发布到HTTPS:443出站时,我会得到如下所示的错误 但是,如果我将入站连接器设置为HTTP而不是HTTPS,并注释掉HTTPS:connector name=“httpsConnector”我已经设置好了,那

我有一个带有HTTPS入站请求/响应的流,它接受带有XML数据的post(端口8081)。我对数据进行了一些处理,然后希望通过443向不同的URL执行另一个HTTPS post,以便通过外部进程(PeopleSoft IB)处理数据

问题是,当我试图将从HTTPS:8081入站收到的内容发布到HTTPS:443出站时,我会得到如下所示的错误

但是,如果我将入站连接器设置为HTTP而不是HTTPS,并注释掉HTTPS:connector name=“httpsConnector”我已经设置好了,那么一切都可以正常工作,我可以发布到HTTPS/443端点

为了避免这个错误,我到处寻找,尝试了很多不同的方法,但到目前为止,所有的尝试都失败了。我知道这与有效负载有关,因为MuleSoft对此犹豫不决,从不路由到HTTPS端点。我通过将有效负载更改为纯文本确认了这一点,并成功发送了它。如上所述,当我以HTTP的形式进入8081时,它也被成功发送

我是MuleSoft新手,所以如果这是一个简单的解决方案,请原谅我的无知

错误摘要

Failed to route event via endpoint:  
DefaultOutboundEndpoint{endpointUri=https://corp853.dev.corp.edu:443/PSIGW
/HttpListeningConnector, connector=HttpsConnector { name=httpsConnector lifecycle=start  
this=3a2b2faa numberOfConcurrentTransactedReceivers=4 
createMultipleTransactedReceivers=true connected=true supportedProtocols=[https] 
serviceOverrides= session.handler=org.mule.session.NullSessionHandler 
message.factory=org.mule.transport.http.HttpMuleMessageFactory } , 
name='endpoint.https.corp853.dev.corp.edu.443.PSIGW.HttpListeningConnector', 
mep=REQUEST_RESPONSE, properties={exceptionOnMessageError=true, http.method=POST}, 
transactionConfig=Transaction{factory=null, action=INDIFFERENT, timeout=0}, 
deleteUnacceptedMessages=false, initialState=started, responseTimeout=10000, 
endpointEncoding=UTF-8, disableTransportTransformer=false}. Message payload is of type: 
PostMethod
捕获错误

Could not find a transformer to transform
"SimpleDataType{type=org.apache.commons.httpclient.methods.PostMethod,
mimeType='text/xml'}" to "SimpleDataType{type=org.mule.api.transport.OutputHandler,  
mimeType='*/*'}". (org.mule.api.transformer.TransformerException) 
(org.mule.api.transformer.TransformerException). The current MuleMessage is null! Please 
report this to dev@mule.codehaus.org 
(org.mule.api.transformer.TransformerMessagingException). Message payload is of type: 
PostMethod
日志详细信息

+ Started app 'checklisttest'                              +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
INFO  2014-08-29 04:20:04,623 [[checklisttest].httpsConnector.receiver.02] org.mule.api.processor.LoggerMessageProcessor: 
org.mule.DefaultMuleMessage
{
  id=6cca1ad0-2f6e-11e4-89b1-001c42000009
  payload=org.apache.commons.httpclient.ContentLengthInputStream
  correlationId=<not set>
  correlationGroup=-1
  correlationSeq=-1
  encoding=UTF-8
  exceptionPayload=<not set>

Message properties:
  INVOCATION scoped properties:
    Content-Type=text/xml
  INBOUND scoped properties:
    Accept=*/*
    Accept-Encoding=gzip,deflate
    Accept-Language=en-US,en;q=0.8
    Cache-Control=no-cache
    Connection=true
    Content-Length=632
    Content-Type=text/xml
    Host=localhost:8082
    Keep-Alive=true
    MULE_ORIGINATING_ENDPOINT=endpoint.https.localhost.8082.checklist.v1
    MULE_REMOTE_CLIENT_ADDRESS=/127.0.0.1:56585
    Origin=chrome-extension://fhbjgbiflinjbdggehcddcbncdddomop
    Postman-Token=721feb2b-281c-382e-169d-2c2792153944
    User-Agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.94 Safari/537.36
    http.context.path=/checklist_v1
    http.context.uri=https://localhost:8082/checklist_v1
    http.headers={Origin=chrome-extension://fhbjgbiflinjbdggehcddcbncdddomop, Keep-Alive=true, Accept=*/*, Connection=true, User-Agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.94 Safari/537.36, Host=localhost:8082, Accept-Encoding=gzip,deflate, Cache-Control=no-cache, Postman-Token=721feb2b-281c-382e-169d-2c2792153944, Accept-Language=en-US,en;q=0.8, Content-Length=632, Content-Type=text/xml}
    http.method=POST
    http.query.params={}
    http.query.string=
    http.relative.path=
    http.request=/checklist_v1
    http.request.path=/checklist_v1
    http.version=HTTP/1.1
  OUTBOUND scoped properties:
    LOCAL_CERTIFICATES=[Ljava.security.cert.X509Certificate;@59884baf
    MULE_ENCODING=UTF-8
  SESSION scoped properties:
}
INFO  2014-08-29 04:20:04,636 [[checklisttest].httpsConnector.receiver.02] org.mule.transport.service.DefaultTransportServiceDescriptor: Loading default outbound transformer: org.mule.transport.http.transformers.ObjectToHttpClientMethodRequest
INFO  2014-08-29 04:20:04,642 [[checklisttest].httpsConnector.receiver.02] org.mule.transport.service.DefaultTransportServiceDescriptor: Loading default response transformer: org.mule.transport.http.transformers.MuleMessageToHttpResponse
INFO  2014-08-29 04:20:04,643 [[checklisttest].httpsConnector.receiver.02] org.mule.transport.service.DefaultTransportServiceDescriptor: Loading default outbound transformer: org.mule.transport.http.transformers.ObjectToHttpClientMethodRequest
INFO  2014-08-29 04:20:04,643 [[checklisttest].httpsConnector.receiver.02] org.mule.lifecycle.AbstractLifecycleManager: Initialising: 'httpsConnector.dispatcher.699512478'. Object is: HttpsClientMessageDispatcher
INFO  2014-08-29 04:20:04,645 [[checklisttest].httpsConnector.receiver.02] org.mule.lifecycle.AbstractLifecycleManager: Starting: 'httpsConnector.dispatcher.699512478'. Object is: HttpsClientMessageDispatcher
INFO  2014-08-29 04:20:04,660 [[checklisttest].httpsConnector.receiver.02] org.mule.transport.http.transformers.ObjectToHttpClientMethodRequest: Content-Type not set on outgoing request, defaulting to: text/plain
ERROR 2014-08-29 04:20:04,698 [[checklisttest].httpsConnector.receiver.02] org.mule.exception.DefaultMessagingExceptionStrategy: 
********************************************************************************
Message               : Failed to route event via endpoint: DefaultOutboundEndpoint{endpointUri=https://corp853.dev.corp.edu:443/PSIGW/HttpListeningConnector, connector=HttpsConnector
{
  name=httpsConnector
  lifecycle=start
  this=3a2b2faa
  numberOfConcurrentTransactedReceivers=4
  createMultipleTransactedReceivers=true
  connected=true
  supportedProtocols=[https]
  serviceOverrides=
    session.handler=org.mule.session.NullSessionHandler
    message.factory=org.mule.transport.http.HttpMuleMessageFactory
}
,  name='endpoint.https.corp853.dev.corp.edu.443.PSIGW.HttpListeningConnector', mep=REQUEST_RESPONSE, properties={exceptionOnMessageError=true, http.method=POST}, transactionConfig=Transaction{factory=null, action=INDIFFERENT, timeout=0}, deleteUnacceptedMessages=false, initialState=started, responseTimeout=10000, endpointEncoding=UTF-8, disableTransportTransformer=false}. Message payload is of type: PostMethod
Code                  : MULE_ERROR--2
--------------------------------------------------------------------------------
Exception stack is:
1. The server corp853.dev.corp.edu failed to respond (org.apache.commons.httpclient.NoHttpResponseException)
  org.apache.commons.httpclient.HttpMethodBase:1976 (null)
2. Failed to route event via endpoint: DefaultOutboundEndpoint{endpointUri=https://corp853.dev.corp.edu:443/PSIGW/HttpListeningConnector, connector=HttpsConnector
{
  name=httpsConnector
  lifecycle=start
  this=3a2b2faa
  numberOfConcurrentTransactedReceivers=4
  createMultipleTransactedReceivers=true
  connected=true
  supportedProtocols=[https]
  serviceOverrides=
    session.handler=org.mule.session.NullSessionHandler
    message.factory=org.mule.transport.http.HttpMuleMessageFactory
}
,  name='endpoint.https.corp853.dev.corp.edu.443.PSIGW.HttpListeningConnector', mep=REQUEST_RESPONSE, properties={exceptionOnMessageError=true, http.method=POST}, transactionConfig=Transaction{factory=null, action=INDIFFERENT, timeout=0}, deleteUnacceptedMessages=false, initialState=started, responseTimeout=10000, endpointEncoding=UTF-8, disableTransportTransformer=false}. Message payload is of type: PostMethod (org.mule.api.transport.DispatchException)
  org.mule.transport.http.HttpClientMessageDispatcher:151 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/transport/DispatchException.html)
--------------------------------------------------------------------------------
Root Exception stack trace:
org.apache.commons.httpclient.NoHttpResponseException: The server corp853.dev.corp.edu failed to respond
        at org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:1976)
        at org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1735)
        at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:1098)
    + 3 more (set debug level logging or '-Dmule.verbose.exceptions=true' for everything)
********************************************************************************
+已启动应用程序“checklisttest”+
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
信息2014-08-29 04:20:04623[[checklisttest].httpsConnector.receiver.02]org.mule.api.processor.LoggerMessageProcessor:
org.mule.DefaultMuleMessage
{
id=6cca1ad0-2f6e-11e4-89b1-001c42000009
有效负载=org.apache.commons.httpclient.contentLengthinInputStream
相关ID=
correlationGroup=-1
correlationSeq=-1
编码=UTF-8
例外有效载荷=
消息属性:
调用范围的属性:
内容类型=文本/xml
入站作用域属性:
接受=*/*
接受编码=gzip,放气
接受语言=en US,en;q=0.8
缓存控制=无缓存
连接=真
内容长度=632
内容类型=文本/xml
主机=本地主机:8082
保持活力
MULE_origing_ENDPOINT=ENDPOINT.https.localhost.8082.checklist.v1
MULE_远程客户端_地址=/127.0.0.1:56585
原点=铬-extension://fhbjgbiflinjbdggehcddcbncdddomop
邮递员代币=721feb2b-281c-382e-169d-2c2792153944
用户代理=Mozilla/5.0(Macintosh;英特尔Mac OS X 10_9_4)AppleWebKit/537.36(KHTML,如Gecko)Chrome/37.0.2062.94 Safari/537.36
http.context.path=/checklist\u v1
http.context.uri=https://localhost:8082/checklist_v1
http.headers={Origin=chrome-extension://fhbjgbiflinjbdggehcddcbncdddomop,Keep Alive=true,Accept=*/*,Connection=true,User-Agent=Mozilla/5.0(Macintosh;英特尔Mac OS X 10_9_4)AppleWebKit/537.36(KHTML,如Gecko)Chrome/37.0.2062.94 Safari/537.36,主机=localhost:8082,接受编码=gzip,deflate,缓存控制=no Cache,邮递员令牌=721feb2b-281c-382e-169d-2c2792153944,接受语言=en-US,en;q=0.8,内容长度=632,内容类型=text/xml}
http.method=POST
http.query.params={}
http.query.string=
http.relative.path=
http.request=/checklist\u v1
http.request.path=/checklist\u v1
http.version=http/1.1
出站作用域属性:
本地证书=[Ljava.security.cert.X509Certificate;@59884baf
MULE_编码=UTF-8
会话作用域属性:
}
INFO 2014-08-29 04:20:04636[[checklisttest].httpsConnector.receiver.02]org.mule.transport.service.DefaultTransportServiceDescriptor:加载默认出站转换器:org.mule.transport.http.transformers.ObjectToHttpClientMethodRequest
INFO 2014-08-29 04:20:04642[[checklisttest].httpsConnector.receiver.02]org.mule.transport.service.DefaultTransportServiceDescriptor:加载默认响应转换器:org.mule.transport.http.transformers.MuleMessageToHttpResponse
INFO 2014-08-29 04:20:04643[[checklisttest].httpsConnector.receiver.02]org.mule.transport.service.DefaultTransportServiceDescriptor:加载默认出站转换器:org.mule.transport.http.transformers.ObjectToHttpClientMethodRequest
INFO 2014-08-29 04:20:04643[[checklisttest].httpsConnector.receiver.02]org.mule.lifecycle.AbstractLifecycleManager:初始化:“httpsConnector.dispatcher.699512478”。对象是:HttpsClientMessageDispatcher
INFO 2014-08-29 04:20:04645[[checklisttest].httpsConnector.receiver.02]org.mule.lifecycle.AbstractLifecycleManager:开始:“httpsConnector.dispatcher.699512478”。对象是:HttpsClientMessageDispatcher
INFO 2014-08-29 04:20:04660[[checklisttest].httpsConnector.receiver.02]org.mule.transport.http.transformers.ObjectToHttpClientMethodRequest:传出请求中未设置内容类型,默认为:text/plain
错误2014-08-29 04:20:04698[[checklisttest].httpsConnector.receiver.02]org.mule.exception.DefaultMessaginExceptionStrategy:
********************************************************************************
消息:未能通过端点路由事件:DefaultOutboundEndpoint{endpointUri=https://corp853.dev.corp.edu:443/PSIGW/HttpListeningConnector,连接器=https连接器
{
name=httpsConnector
生命周期=开始
这=3a2b2faa
ConcurrentTransacticedReceiver的数量=4
CreateMultipleTransactedReceiver=true
已连接=真
supportedProtocols=[https]
服务覆盖=
session.handler=org.mule.session.NullSessionHandler
message.factory=org.mule.transport.http.HttpMuleMessageFactory
}
,name='endpoint.https.corp853.dev.corp.edu.443.PSIGW.HttpListeningConnector',mep=REQUEST\u-RESPONSE,properties={exceptionNMessageError=true,http.method=POST},transactionConfig=Transaction{factory=null,action=interference,timeout=0},DeleteUnceptedMessages=false,initialState=started,responseTimeout=10000,endpointEncoding=UTF-8,disableTransportTransformer=false}。消息负载的类型为:PostMethod
代码:MULE_错误--2
--------------------------------------------------------
    <?xml version="1.0" encoding="UTF-8"?>

<mule xmlns:http="http://www.mulesoft.org/schema/mule/http"
xmlns:https="http://www.mulesoft.org/schema/mule/https" xmlns="http://www.mulesoft.org/schema/mule/core"
xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:spring="http://www.springframework.org/schema/beans" version="EE-3.5.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/https http://www.mulesoft.org/schema/mule/https/current/mule-https.xsd">
<https:connector name="httpsConnector" clientSoTimeout="10000"
    cookieSpec="netscape" doc:name="HTTP-HTTPS" proxyHostname="localhost"
    receiveBacklog="0" receiveBufferSize="0" sendBufferSize="0"
    serverSoTimeout="10000" socketSoLinger="0" validateConnections="true">
    <service-overrides messageFactory="org.mule.transport.http.HttpMuleMessageFactory" 
        sessionHandler="org.mule.session.NullSessionHandler" />
    <https:tls-client path="${corp.folder}/conf/mulekeystore.jks"
        storePassword="pwd" />
    <https:tls-key-store path="${corp.folder}/conf/mulekeystore.jks"
        keyPassword="pwd" storePassword="pwd" />
    <https:tls-server path="${corp.folder}/conf/mulekeystore.jks"
        storePassword="pwd" />
</https:connector>
<spring:beans>
    <spring:bean id="corpProperties"
        class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <spring:property name="ignoreUnresolvablePlaceholders"
            value="true" />
        <spring:property name="location" value="classpath:custom.properties" />
        <!-- Added to support multiple placeholders -->
    </spring:bean>
</spring:beans>
<flow name="checklisttestFlow1" doc:name="checklisttestFlow1">
    <https:inbound-endpoint exchange-pattern="request-response"
        host="localhost" port="8082" doc:name="HTTP" contentType="text/xml"
        connector-ref="httpsConnector" path="checklist_v1" />
    <logger level="INFO" doc:name="Logger" />
    <https:outbound-endpoint exchange-pattern="request-response"
        host="corp853.dev.corp.edu" port="443" path="PSIGW/HttpListeningConnector"
        method="POST" doc:name="HTTP" />
</flow>
</mule>
Root Exception stack trace:
sun.security.validator.ValidatorException: No trusted certificate found
at sun.security.validator.SimpleValidator.buildTrustedChain(SimpleValidator.java:344)
at sun.security.validator.SimpleValidator.engineValidate(SimpleValidator.java:109)
at sun.security.validator.Validator.validate(Validator.java:218)
+ 3 more (set debug level logging or '-Dmule.verbose.exceptions=true' for everything)