WAS Liberty Profileの最新バージョンは、com.ibm.watson.developer_cloud:java-sdkを破損しているようです。 私のアプリのイメージを再構築して、最終バージョン17.0.0.1を取得しました。また、watsonのjava-sdkは上記の例外を除いて動作を停止しました。私のDockerfileで16.0.0.4の自由を使ってバージョンを再構築できるようにするために、どのタグを使うのか? ... 17.0.0.1でどうすればいいですか?WAS Liberty 17.0.0.1がWatson Java SDKで動作しない
Caused by: java.net.UnknownServiceException: Unable to find acceptable protocols. isFallback=false, modes=[ConnectionSpec(cipherSuites=[TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_3DES_EDE_CBC_SHA], tlsVersions=[TLS_1_2, TLS_1_1, TLS_1_0], supportsTlsExtensions=true), ConnectionSpec(cipherSuites=[TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_3DES_EDE_CBC_SHA], tlsVersions=[TLS_1_0], supportsTlsExtensions=true), ConnectionSpec()], supported protocols=[TLSv1]
at okhttp3.internal.ConnectionSpecSelector.configureSecureSocket(ConnectionSpecSelector.java:72)
at okhttp3.internal.io.RealConnection.connectTls(RealConnection.java:232)
at okhttp3.internal.io.RealConnection.establishProtocol(RealConnection.java:196)
at okhttp3.internal.io.RealConnection.buildConnection(RealConnection.java:171)
at okhttp3.internal.io.RealConnection.connect(RealConnection.java:111)
at okhttp3.internal.http.StreamAllocation.findConnection(StreamAllocation.java:187)
at okhttp3.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:123)
at okhttp3.internal.http.StreamAllocation.newStream(StreamAllocation.java:93)
at okhttp3.internal.http.HttpEngine.connect(HttpEngine.java:296)
at okhttp3.internal.http.HttpEngine.sendRequest(HttpEngine.java:248)
at okhttp3.RealCall.getResponse(RealCall.java:243)
at okhttp3.RealCall$ApplicationInterceptorChain.proceed(RealCall.java:201)
at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:163)
at okhttp3.RealCall.execute(RealCall.java:57)
at com.ibm.watson.developer_cloud.service.WatsonService$1.execute(WatsonService.java:179)
... 53 more
編集: https://www.ibm.com/support/knowledgecenter/SSYKE2_7.0.0/com.ibm.java.security.component.70.doc/security-component/jsse2Docs/matchsslcontext_tls.html そして、私はJDKのプロパティが正しく設定されていることを確認するために私のドッキングウィンドウのインスタンスにPSをチェックします:ここで説明したように、私は、システムのプロパティを追加しようとしている
[email protected]:/# ps xuww
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 4.9 9.4 8512396 3131596 ? Ssl 17:35 10:32 /opt/ibm/java/jre/bin/java -javaagent:/opt/ibm/wlp/bin/tools/ws-javaagent.jar -Djava.awt.headless=true -Xms950m -Xmx3500m -Dcom.ibm.jsse2.overrideDefaultTLS=true -jar /opt/ibm/wlp/bin/tools/ws-server.jar defaultServer
しかし、問題はそれで解決されません。 JDKが-Dで実行するようにシステムプロパティを取得するためにLibertyプロファイルを設定していませんか? (私はjvm.propertiesファイルを使用しています)
に関連する、のOutOfMemoryエラーを克服するためにmemory_sizesあなたはで見ることができる開発環境を持っていますか両方のバージョンのハンドシェイクのプロパティ? – covener
あなたの返事をありがとう。私は数日前に完全なドッカーホストの破損の後にドッカーイメージを再構築しなければならなくなりました。私はもう16.0.0.4バージョンを持っていません。そのバージョンのドッカープルを行うことはできないと思われるので、私はもう16.0.0.4でテストすることはできません。ドッカーハブから17.0.0.1を取り出した新しいドッカービルドが動作する前に動作していたことが分かりました。さらに、両方のバージョンのハンドシェイクではどういう意味ですか? okhttp3のログを有効にするにはどうすればよいですか?ありがとう。 – icordoba
(もちろん、16.0.0を引き出す方法を考えることができます。4画像、それは私が17.0.0.1で問題を解決するまで私の会話チャットボットをもたらすでしょう) – icordoba