• Introducing Dark Mode! Switch by clicking on the lightbulb icon next to Search or by clicking on Default style at the bottom left of the page!

Consumer BSSV TLS Error - com.sun.xml.ws.client.ClientTransportException

BOster

Legendary Poster
I am going to just post the same verbiage from the ticket I opened with Oracle. Any ideas?

TR9.2.4.1
JDeveloper 12.2.1.3
JDK 1.8.0_131

When trying to call a third party SOAP based web service with an HTTPS endpoint from a consumer BSSV I am getting a javax.net.ssl.SSLHandshakeException (see below). I have a unit test that allows me to call the consumer BSSV from a POJO running in JDeveloper as a simple Java Process. Errors and logging are from the console output of this unit test Java process. I have enabled additional SSL logging with the following Java Options in the unit test:

-Dssl.debug=true -Djavax.net.debug=all

I have added the three certificates listed in the certificate chain from the remote endpoint to cacerts (based on the logging this is the keystore that appears to be used by the Java process), restarted JDeveloper but I am still having the error.

Our third party provider is deprecating HTTP endpoints and we must switch to HTTPS endpoints by the end of March. The consumer BSSV works fine (including the unit test) with an HTTP endpoint but is having what appears to be transport layer encryption errors when switching to an HTTPS endpoint. I did NOT regen any client proxy code from their WSDL because their WSDL still specifies HTTP endpoints so I just manually edited the endpoint URLs to specify HTTPS. I effectively did the same thing in SOAPUI and was able to successfully call the Web Service in SOAPUI using an HTTPS endpoint.

Console output with error (some content clipped out):
Code:
trustStore is: c:\jdk32_1.8.0_131\jre\lib\security\cacerts
trustStore type is : jks
trustStore provider is : 
init truststore

<<<<<<< content clipped >>>>>>>

*** ClientHello, TLSv1.2
RandomCookie:  GMT: 1583356510 bytes = { 100, 194, 162, 123, 144, 29, 172, 76, 42, 206, 124, 64, 181, 124, 86, 46, 156, 159, 10, 72, 47, 95, 58, 211, 51, 234, 58, 240 }
Session ID:  {}
Cipher Suites: [TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256, TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, TLS_DHE_DSS_WITH_AES_128_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDH_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_DSS_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA, TLS_EMPTY_RENEGOTIATION_INFO_SCSV]
Compression Methods:  { 0 }
Extension elliptic_curves, curve names: {secp256r1, secp384r1, secp521r1, sect283k1, sect283r1, sect409k1, sect409r1, sect571k1, sect571r1, secp256k1}
Extension ec_point_formats, formats: [uncompressed]
Extension signature_algorithms, signature_algorithms: SHA512withECDSA, SHA512withRSA, SHA384withECDSA, SHA384withRSA, SHA256withECDSA, SHA256withRSA, SHA256withDSA, SHA1withECDSA, SHA1withRSA, SHA1withDSA
***
[write] MD5 and SHA1 hashes:  len = 161
0000: 01 00 00 9D 03 03 5E 60   1A 5E 64 C2 A2 7B 90 1D  ......^`.^d.....
0010: AC 4C 2A CE 7C 40 B5 7C   56 2E 9C 9F 0A 48 2F 5F  .L*..@..V....H/_
0020: 3A D3 33 EA 3A F0 00 00   3A C0 23 C0 27 00 3C C0  :.3.:...:.#.'.<.
0030: 25 C0 29 00 67 00 40 C0   09 C0 13 00 2F C0 04 C0  %.).g.@...../...
0040: 0E 00 33 00 32 C0 2B C0   2F 00 9C C0 2D C0 31 00  ..3.2.+./...-.1.
0050: 9E 00 A2 C0 08 C0 12 00   0A C0 03 C0 0D 00 16 00  ................
0060: 13 00 FF 01 00 00 3A 00   0A 00 16 00 14 00 17 00  ......:.........
0070: 18 00 19 00 09 00 0A 00   0B 00 0C 00 0D 00 0E 00  ................
0080: 16 00 0B 00 02 01 00 00   0D 00 16 00 14 06 03 06  ................
0090: 01 05 03 05 01 04 03 04   01 04 02 02 03 02 01 02  ................
00A0: 02                                                 .
main-[https://ws.xataxrs.com/DriverLogWebService.svc/soap], WRITE: TLSv1.2 Handshake, length = 161
[Raw write]: length = 166
0000: 16 03 03 00 A1 01 00 00   9D 03 03 5E 60 1A 5E 64  ...........^`.^d
0010: C2 A2 7B 90 1D AC 4C 2A   CE 7C 40 B5 7C 56 2E 9C  ......L*..@..V..
0020: 9F 0A 48 2F 5F 3A D3 33   EA 3A F0 00 00 3A C0 23  ..H/_:.3.:...:.#
0030: C0 27 00 3C C0 25 C0 29   00 67 00 40 C0 09 C0 13  .'.<.%.).g.@....
0040: 00 2F C0 04 C0 0E 00 33   00 32 C0 2B C0 2F 00 9C  ./.....3.2.+./..
0050: C0 2D C0 31 00 9E 00 A2   C0 08 C0 12 00 0A C0 03  .-.1............
0060: C0 0D 00 16 00 13 00 FF   01 00 00 3A 00 0A 00 16  ...........:....
0070: 00 14 00 17 00 18 00 19   00 09 00 0A 00 0B 00 0C  ................
0080: 00 0D 00 0E 00 16 00 0B   00 02 01 00 00 0D 00 16  ................
0090: 00 14 06 03 06 01 05 03   05 01 04 03 04 01 04 02  ................
00A0: 02 03 02 01 02 02                                  ......
[Raw read]: length = 5
0000: 15 03 03 00 02                                     .....
SEVERE: Error while invoking endpoint https://ws.xataxrs.com/DriverLogWebService.svc/soap from client; ServiceName: {http://tempuri.org/}DriverLogWebService ; PortName: {http://tempuri.org/}ClearUsernameBinding_IDriverLogWebService ; Client side features: [weblogic.jws.jaxws.client.ClientIdentityFeature]; Client side policies: 
[Raw read]: length = 2
0000: 02 28                                              .(
main-[https://ws.xataxrs.com/DriverLogWebService.svc/soap], READ: TLSv1.2 Alert, length = 2
main-[https://ws.xataxrs.com/DriverLogWebService.svc/soap], RECV TLSv1.2 ALERT:  fatal, handshake_failure
main-[https://ws.xataxrs.com/DriverLogWebService.svc/soap], called closeSocket()
main-[https://ws.xataxrs.com/DriverLogWebService.svc/soap], handling exception: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
main-[https://ws.xataxrs.com/DriverLogWebService.svc/soap], called close()
main-[https://ws.xataxrs.com/DriverLogWebService.svc/soap], called closeInternal(true)
com.sun.xml.ws.client.ClientTransportException: HTTP transport error: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
	at com.sun.xml.ws.transport.http.client.HttpClientTransport.getOutput(HttpClientTransport.java:132)
	at com.sun.xml.ws.transport.http.client.HttpTransportPipe.process(HttpTransportPipe.java:223)
	at weblogic.wsee.jaxws.transport.http.client.WLSHttpTransportPipe.process(WLSHttpTransportPipe.java:30)
	at com.sun.xml.ws.transport.http.client.HttpTransportPipe.processRequest(HttpTransportPipe.java:145)
	at com.sun.xml.ws.transport.DeferredTransportPipe.processRequest(DeferredTransportPipe.java:139)
	at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:1136)
	at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:1050)
	at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:1019)
	at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:877)
	at com.sun.xml.ws.client.Stub.process(Stub.java:463)
	at com.sun.xml.ws.client.sei.SEIStub.doProcess(SEIStub.java:191)
	at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:108)
	at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:92)
	at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:161)
	at com.sun.proxy.$Proxy63.getDriverLogById(Unknown Source)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at weblogic.wsee.jaxws.spi.ClientInstanceInvocationHandler.invoke(ClientInstanceInvocationHandler.java:147)
	at com.sun.proxy.$Proxy64.getDriverLogById(Unknown Source)
	at com.acme.bssv.J56XRS01.DriverLogProcessorST.getDriverLogByIdImpl(DriverLogProcessorST.java:233)
	at com.acme.bssv.J56XRS01.DriverLogProcessorST.getDriverLogById(DriverLogProcessorST.java:162)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at oracle.e1.bssvfoundation.impl.jdenet.CallSBFHandler.callSBF(Unknown Source)
	at oracle.e1.bssvfoundation.impl.jdenet.CallSBFHandler.callSBF(Unknown Source)
	at oracle.e1.bssvfoundation.base.TestBusinessService.callBSSVWithXMLFile(Unknown Source)
	at com.acme.bssv.J56XRS01.test.Test1GetDriverLogById.main(Test1GetDriverLogById.java:21)
 
Top