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