2013-10-03 7 views
6

Ich habe einen AXIS-Dienst erstellt, der eine Verbindung mit WSO2 Identity Server herstellt und ein Token validiert. Wenn ich diesen Achsenservice auf dem WSO2 App Server deploye, erhalte ich die richtige Antwort. Wo, wie, wenn ich bereitstellen es auf WSO2 ESB, ich folgende FehlermeldungWSO2 ESB Axis2-Dienst ist fehlgeschlagen Überprüfung des Hostnamens fehlgeschlagen für Host

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] erhalten ERROR - TargetHandler I/O-Fehler: Hostname Überprüfung fehlgeschlagen für Host: 172.20.5.110 javax.net.ssl.SSLException: Überprüfung des Hostnamens fehlgeschlagen für Host: 172.20.5.110 bei org.apache.synapse.transport.http.conn.ClientSSLSetupHandler.verify (ClientSSLSetupHandler.java:152) bei org. apache.http.nio.reactor.ssl.SSLIOSession.doHandshake (SSLIOSession.java:285) bei org.apache.http.nio.reactor.ssl.SSLIOSession.isAppInputReady (SSLIOSession.java:372) bei org.apache. http.impl.nio.reactor.AbstractIODispatch.inpu tReady (AbstractIODispatch.java:118) bei org.apache.http.impl.nio.reactor.BaseIOReactor.readable (BaseIOReactor.java:160) bei org.apache.http.impl.nio.reactor.AbstractIREactor.processEvent (AbstractIOReactor.java:342) bei org.apache.http.impl.nio.reactor.AbstractIREeactor.processEvents (AbstractIOReactor.java:320) bei org.apache.http.impl.nio.reactor.AbstractIREeactor.execute (AbstractIOReactor. Java: 280) bei org.apache.http.impl.nio.reactor.BaseIOReactor.execute (BaseIOReactor.java:106) bei org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor $ Worker.run (AbstractMultiworkerIOReactor. Java: 604) bei java.lang.Thread.run (Thread.java:724)

Antwort

13

Setzen Sie die Parameter HostnameVerifier bis AllowAll für transportSender in der Axis2-Konfiguration (axis2.xml).

+0

Danke, es hat dieses Problem gelöst. Ich erhalte jetzt einen anderen Fehler - ERROR - AxisEngine Message Receiver wurde nicht für AxisOperation gefunden. Aber es funktioniert 100% gut auf AS - Irgendwelche Gedanken in dieser Hinsicht, bitte! –

+0

Folgendes ist der Fehler, den ich bekommeERROR - AxisEngine Nachrichtenempfänger nicht gefunden für AxisOperation: {http://oauth2.identity.carbon.wso2.org} validiere org.apache.axis2.AxisFault: Nachrichtenempfänger wurde für AxisOperation nicht gefunden: {http://oauth2.identity.carbon.wso2.org} validate –

+0

Wenn ich den TransportSender von ESB Standard eins zu AS Standard für HTTPS ändere - Es funktioniert wie erwartet. Ich bin mir nicht sicher, ob das richtige Vorgehen ist oder nicht, bitte schlagen Sie vor! –

1

Zu Rathas Antwort gibt die folgende offizielle Dokumentation eine detaillierte Erklärung zur Überprüfung des Hostnamens in WSO2-Produkten.

Enabling HostName Verification

Verwandte Themen