ssl - WSO2 ESB Axis2 服务抛出主机名验证失败

标签 ssl wso2 apache-axis wso2-esb

我已经创建了一个连接到 WSO2 身份服务器并验证 token 的 AXIS 服务。 当我在 WSO2 App Server 上部署这个轴服务时,我得到了正确的响应。 当我在 WSO2 ESB 上部署它时,出现以下错误

org.apache.axis2.AxisFault: The input stream for an incoming message is null.
at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:93)
at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:68)
at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:346)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:413)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:224)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:149)
at org.wso2.carbon.identity.oauth2.stub.OAuth2TokenValidationServiceStub.validate(OAuth2TokenValidationServiceStub.java:184)
at com.xxx4.yyy.security.token.service.TokenValidationService.validateToken(TokenValidationService.java:67)
at com.xxx4.yyy.security.token.facade.TokenValidationFacade.validateToken(TokenValidationFacade.java:16)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:212)
at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:117)
at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40)
at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:110)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
at org.apache.synapse.transport.passthru.ServerWorker.processEntityEnclosingRequest(ServerWorker.java:404)
at org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:184)
at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:724)

[2013-10-03 14:42:56,160] 错误 - TargetHandler I/O 错误:主机名验证失败:172.20.5.110 javax.net.ssl.SSLException:主机的主机名验证失败:172.20.5.110 在 org.apache.synapse.transport.http.conn.ClientSSLSetupHandler.verify(ClientSSLSetupHandler.java:152) 在 org.apache.http.nio.reactor.ssl.SSLIOSession.doHandshake(SSLIOSession.java:285) 在 org.apache.http.nio.reactor.ssl.SSLIOSession.isAppInputReady(SSLIOSession.java:372) 在 org.apache.http.impl.nio.reactor.AbstractIODispatch.inputReady(AbstractIODispatch.java:118) 在 org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:160) 在 org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:342) 在 org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:320) 在 org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:280) 在 org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:106) 在 org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:604) 在 java.lang.Thread.run(Thread.java:724)

最佳答案

在 Axis2 配置 (axis2.xml) 中将参数 HostnameVerifier 设置为 AllowAll

<transportSender name="https" class="org.apache.synapse.transport.passthru.PassThroughHttpSSLSender">
   <!--...-->
   <!--supports Strict|AllowAll|DefaultAndLocalhost or the default if none specified -->
   <parameter name="HostnameVerifier">AllowAll</parameter>
   <!--supports Strict|AllowAll|DefaultAndLocalhost or the default if none specified -->
</transportSender>

关于ssl - WSO2 ESB Axis2 服务抛出主机名验证失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19155521/

相关文章:

c# - 我应该在 Windows 服务器中的什么位置设置 TLS 安全协议(protocol)?

ssl - Opensips Tls 和证书问题

Java Home 未定义(wso2ei-6.4.0 安装)

oauth-2.0 - 无法在 WSO2 身份服务器上使用 prompt=none 参数通过 OAuth2/OpenID Connect 验证访问 token

validation - 如何从 WSO2 API Manager 验证 JWT

java - 向请求添加自定义 header 时出现 Axis 2 和 Rampart 问题

web-services - Web 服务 - SOAPui - 接收器无法序列化节点 AXIS2

android - 客户端证书不适用于 Android - 如何调试?

qt - 如何在 Windows 10 上为 Qt 设置 OpenSSL?

java - 如何在 axis2 启动期间运行初始化代码?