Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Mule项目调用安全webservice时出错_Mule_Esb - Fatal编程技术网

从Mule项目调用安全webservice时出错

从Mule项目调用安全webservice时出错,mule,esb,Mule,Esb,需要从我的Mule项目之一调用安全web服务。为此,我创建了一个自签名证书,并按照以下方式配置了我的项目: 1) 将keystore.jks保存在我的项目的资源文件夹中 2) 在Globals.xml文件中定义了https连接器 <https:connector name="movilcashHttpsConnector" doc:name="HTTP-HTTPS" clientSoTimeout="10000" cookieSpec="netscape" receiveBacklog="

需要从我的Mule项目之一调用安全web服务。为此,我创建了一个自签名证书,并按照以下方式配置了我的项目:

1) 将keystore.jks保存在我的项目的资源文件夹中

2) 在Globals.xml文件中定义了https连接器

<https:connector name="movilcashHttpsConnector" doc:name="HTTP-HTTPS" clientSoTimeout="10000" cookieSpec="netscape" receiveBacklog="0" receiveBufferSize="0" sendBufferSize="0" serverSoTimeout="10000" socketSoLinger="0" validateConnections="true">
      <https:tls-key-store path="keystore.jks" keyPassword="changeit" storePassword="changeit" />
      <https:tls-server path="keystore.jks" storePassword="changeit" />
</https:connector> 

3) 在调用https端点时,我使用了以下配置

    <https:outbound-endpoint method="POST"
        doc:name="HTTP" exchange-pattern="request-response" transformer-refs="Message_Properties2"
        responseTimeout="90000"
        address="https://partners.masmovilcash.com/TelepinWeb/TpinBulkLoading?BatchType=7&amp;FileExt=PNG&amp;FileAbbrv=C_R&amp;FileType=KYC_Documents&amp;CustomerID=#[flowVars['tpin-customerid']]&amp;FileSequence=2"
        connector-ref="movilcashHttpsConnector">
    </https:outbound-endpoint>

4) 在运行mule standlaone的Linux服务器上部署了该项目

但不幸的是,每次我都会遇到以下错误: 消息:未能通过端点路由事件:DefaultOutboundEndpoint{endpointUri=,connector=HttpsConnector

消息负载的类型为:PostMethod(org.mule.api.transport.DispatchException) sun.security.validator.validator异常:未找到受信任的证书 位于sun.security.validator.SimpleValidator.buildTrustedChain(SimpleValidator.java:384)



我遗漏了什么吗?请帮助。

因为您想要对外部服务执行HTTPS请求(),所以您需要确保您的应用程序信任服务证书。这意味着如果您为HTTPS连接器设置了信任存储,则所述信任存储需要包含服务证书

考虑到我已经能够从我的浏览器访问您需要的服务,它可能由适当的证书颁发机构(CA)签名,这意味着默认的Java信任存储应该可以工作。这意味着,尝试不设置任何信任存储/密钥存储数据,以便使用JVM默认值。例如:

<https:connector name="movilcashHttpsConnector" doc:name="HTTP-HTTPS" clientSoTimeout="10000" cookieSpec="netscape" receiveBacklog="0" receiveBufferSize="0" sendBufferSize="0" serverSoTimeout="10000" socketSoLinger="0" validateConnections="true"/>

由于要对外部服务()执行HTTPS请求,因此需要确保应用程序信任服务证书。这意味着,如果为HTTPS连接器设置信任存储,则所述信任存储需要包含服务证书

考虑到我已经能够从我的浏览器访问您需要的服务,它可能由适当的证书颁发机构(CA)签名,这意味着默认的Java信任存储应该可以工作。这意味着,尝试不设置任何信任存储/密钥存储数据,以便使用JVM默认值。例如:

<https:connector name="movilcashHttpsConnector" doc:name="HTTP-HTTPS" clientSoTimeout="10000" cookieSpec="netscape" receiveBacklog="0" receiveBufferSize="0" sendBufferSize="0" serverSoTimeout="10000" socketSoLinger="0" validateConnections="true"/>


感谢您的回复。修改连接器配置后,我收到以下错误:sun.security.provider.certpath.SunCertPathBuilderException:找不到请求目标的有效证书路径似乎默认JVM信任存储没有CA证书。我认为CA是GoDaddy,因此可能需要检查。我认为最新更新具有证书,因此您可能希望尝试更新Java。此处有一些数据:。感谢您的回复。修改连接器配置后,Iam收到以下错误:sun.security.provider.certpath.SunCertPathBuilderException:找不到请求目标的有效证书路径似乎是默认的JVM信任存储没有CA证书。我认为CA是GoDaddy,因此可能需要检查。我认为最新更新具有证书,因此您可能需要尝试更新Java。此处有一些数据:。