You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ode.apache.org by Ian Harrigan <ia...@hotmail.com> on 2009/09/26 20:23:18 UTC
Problem invoking SSL websevice servicemix/ode -> tomcat/axis2
Hi All,
Im wondering if someone might be able to help me. I have a web service deployed inside axis2/tomcat and have secured it using https using the command below:
%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA
I have also changed my tomcat configuration to use SSL with the following in /conf/server.xml:
<Connector port="8443"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" debug="0" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
I can then invoke this web service successfully via soapUI, however, when i try to do this from servicemix/ode i get the following issue:
ERROR - HttpComponent - Error processing exchange InOut[
id: ID:192.168.1.101-123f776dd6b-2:11
status: Active
role: provider
service: {urn:servicemix:http}HttpComponent
endpoint: https://localhost:8443/axis2/services/VosSvr
operation: {urn:servicemix:http}Authenticate
in: <?xml version="1.0" encoding="UTF-8"?><Authenticate xmlns="http://ws.vision">
<practiceNACSCode>XXXX</practiceNACSCode>
<username>XXXX</username>
<password>XXXX</password>
</Authenticate>
]
java.lang.NullPointerException
at org.apache.servicemix.http.processors.CommonsHttpSSLSocketFactory.<init>(CommonsHttpSSLSocketFactory.java:47)
at org.apache.servicemix.http.processors.ProviderProcessor.getHostConfiguration(ProviderProcessor.java:269)
at org.apache.servicemix.http.processors.ProviderProcessor.process(ProviderProcessor.java:160)
at org.apache.servicemix.soap.SoapEndpoint.process(SoapEndpoint.java:367)
at org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:600)
at org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:554)
at org.apache.servicemix.common.AsyncBaseLifeCycle.onMessageExchange(AsyncBaseLifeCycle.java:510)
at org.apache.servicemix.common.SyncLifeCycleWrapper.onMessageExchange(SyncLifeCycleWrapper.java:60)
at org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:620)
at org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
at org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:168)
at org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
It seems to be calling it all in the correct way but just nothing is happening. The axis2 web service is never called. I have setup my ssl endpoint as follows:
<http:endpoint service="vision:VosSvr"
endpoint="VosSvrSOAP11port_http"
role="provider"
soap="true"
locationURI="http://localhost:8443/axis2/services/VosSvr"
wsdlResource="classpath:VosSvr.wsdl"
soapVersion="1.1">
<http:ssl>
<http:sslParameters keyStore="classpath:org/apache/servicemix/http/server.keystore"
keyStorePassword="password"/>
</http:ssl>
</http:endpoint>
Is this a bug of somekind? I cant even seem to find the "ProviderProcessor.java" file where the problem (i feel is originating).
Can anyone help? Or point me in the right direction?
Thanks in advance,
Ian Harrigan