Hi,

I noticed that the system keystore is not being used for the part where CXF
is the server, and sends the decoupled response to the ReplyTo url.

I tried putting an Out Interceptor that does this:

  void handleMessage(Message message) throws Fault {
    def conduit = message.getExchange().getConduit()
    if (conduit instanceof HTTPConduit) {
      def keyStore = /* obtain keystore */
      def keyManagerFactory =
KeyManagerFactory.getInstance(KeyManagerFactory.defaultAlgorithm)
      keyManagerFactory.init(keyStore, [] as char[])
      conduit.tlsClientParameters = new TLSClientParameters()
      conduit.tlsClientParameters.keyManagers =
keyManagerFactory.keyManagers
    }
  }

This doesn't work either.

I always get this exception:

Interceptor for
{urn:ihe:iti:xds-b:2007}RespondingGatewayQuery_Service#{urn:ihe:iti:xds-b:2007}RespondingGateway_CrossGatewayQuery
has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault: Could not send Message.
        at
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:64)
        at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262)
        at
org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:77)
        at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262)
        at
org.apache.cxf.phase.PhaseInterceptorChain.resume(PhaseInterceptorChain.java:231)
        at
org.apache.cxf.ws.addressing.impl.InternalContextUtils$1.run(InternalContextUtils.java:264)
        at
org.apache.cxf.workqueue.AutomaticWorkQueueImpl$3.run(AutomaticWorkQueueImpl.java:426)
        at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at
org.apache.cxf.workqueue.AutomaticWorkQueueImpl$AWQThreadFactory$1.run(AutomaticWorkQueueImpl.java:351)
        at java.lang.Thread.run(Thread.java:722)
Caused by: javax.net.ssl.SSLHandshakeException: SSLHandshakeException
invoking https://hl-connect2/hl/Clinic/xca-r-query: Received fatal alert:
handshake_failure
        at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.mapException(HTTPConduit.java:1474)
        at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1459)
        at
org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOutputStream.java:50)
        at 
org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:229)
        at 
org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
        at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:660)
        at
org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
        ... 10 more
Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert:
handshake_failure
        at java.io.BufferedInputStream.fill(BufferedInputStream.java:235)
        at java.io.BufferedInputStream.read1(BufferedInputStream.java:275)
        at java.io.BufferedInputStream.read(BufferedInputStream.java:334)
        at 
java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:468)
        at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1611)
        at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1537)
        at
org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1445)
        ... 15 more


Is there any documentation or trick to get this to work?

R,
rahul



--
View this message in context: 
http://cxf.547215.n5.nabble.com/Setting-TLS-Client-Parameters-on-Decoupled-Response-tp5753578.html
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to