CXF Client ignores TLSClientParameters

Solution Verified - Updated -

Issue

A server is running on https://localhost:8080/server but in the wsdl, we have :

       <service name="ServerJDKService">
              <port name="ServerJDKPort" binding="tns:ServerJDKPortBinding">
                     <soap:address location="http://localhost/wsha"></soap:address>
              </port>
       </service>

When we want to get the WebService port in JAVA, we’ll explicitly do:

ServerJDK port = super.getPort(new QName("http://example/", "ServerJDKPort"), ServerJDK.class);
Map<String, Object> requestContext = ((BindingProvider) port).getRequestContext();
requestContext.put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, "https://localhost:8080/server");

If we configure custom TLSClientParameters, it seems that they will be ignored with that configuration and the SSL handshake fails.

By setting this line, TLSClientParameters are not ignored anymore. Is it this a bug and is this the correct way to fix it?

HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy();
// If not set, TLSClientParameters will be ignored !!!! Uncomment this line to make it work.
http.getTarget().getAddress().setValue("https://localhost:8080/server");

Environment

  • Red Hat JBoss Enterprise Application Platform
    • 6.x
  • JBossWS CXF
  • Fuse CXF

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content