2017-01-17 29 views
1

私はgithub(https://github.com/watson-developer-cloud/java-sdk)のWatson Java SDKを使用して、スピーチ - テキストサービスのテストを行っています。私はファイアウォールとhttpプロキシが設定されている私の職場からの例を実行しています。企業のプロキシを介してJavaからWatsonスピーチをテキストに呼び出す

リモートサーバーにアクセスできないため、テストに失敗しました。次のようにスタックトレースは次のとおりです。

Exception in thread "main" java.lang.RuntimeException: java.net.UnknownHostException: stream.watsonplatform.net 
    at com.ibm.watson.developer_cloud.service.WatsonService$1.execute(WatsonService.java:182) 
    at com.costaisa.app.api.test.ibm.watson.TestIBMWatson.testSpeechToText(TestIBMWatson.java:76) 
    at com.costaisa.app.api.test.ibm.watson.TestIBMWatson.main(TestIBMWatson.java:37) 
Caused by: java.net.UnknownHostException: stream.watsonplatform.net 
    at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) 
    at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928) 
    at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323) 
    at java.net.InetAddress.getAllByName0(InetAddress.java:1276) 
    at java.net.InetAddress.getAllByName(InetAddress.java:1192) 
    at java.net.InetAddress.getAllByName(InetAddress.java:1126) 
    at okhttp3.Dns$1.lookup(Dns.java:39) 
    at okhttp3.internal.http.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:173) 
    at okhttp3.internal.http.RouteSelector.nextProxy(RouteSelector.java:139) 
    at okhttp3.internal.http.RouteSelector.next(RouteSelector.java:81) 
    at okhttp3.internal.http.StreamAllocation.findConnection(StreamAllocation.java:172) 
    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) 
    ... 2 more 

okhttp3は、環境変数やシステムのプロパティを使用してHTTPプロキシをサポートしていますがないように私には思えます。

何か不足していますか? Watsonの音声対話サービスをJavaからプロキシ経由で呼び出すことは可能ですか?

+1

ねえフアンホ、あなたがセットアップできるサービスURLをプロキシを指すように手順に従ってください。 HTTPClientをokHttpから公開しないので、このためにokhttpを使用できなくなります –

+0

返信いただきありがとうございます。そして、私はそのようなことをどうやってしますか?私はgithub repoでそれを参照することはできません。 「プロキシ」と言えば、httpプロキシを意味しますか?それが私の言いたいことです。 –

+0

実装をあまりにも露出させることなくこの機能を持つ方法を見つけたら、プルリクエストをマージできます –

答えて

0

Juanjoこれは企業のプロキシを介してリクエストを渡すためにできることです。

TextToSpeech(ExtendedTextToSpeech that I wrote for me.)から拡張されたクラスを作成します。 sun.security.validator.ValidatorException:PKIXパスの構築に失敗しました:sun.security.providerを は、その後、あなたがjavax.net.ssl.SSLHandshakeExceptionを取得する場合

   TextToSpeech textService = new com.ibm.cloudoe.samples.ExtendedTextToSpeech(); 
      textService.setUsernameAndPassword("username", "password"); 
      String voice = req.getParameter("voice"); 
      String text = req.getParameter("text"); 
      String format = "audio/ogg; codecs=opus"; 
      in = textService.synthesize(text, new Voice(voice, null, null), format); 

以下のようにワトソンのサンプルが付属していますDemoServletを変更します。 certpath.SunCertPathBuilderException:あなたのワトソンアカウントのテキストベースから受け取ったユーザー名/パスワードでstream.watsonplatform.net/text-to-speech/api/v1する要求されたターゲットへの有効な証明書パスを見つけることができない、そして

+0

情報をありがとうですが、TextToSpeechではなくSpeechToText 。 いずれの場合でも、私はSpeechToTextサービスを使用しています。私のコードはstream.watsonplatform.netホストに到達できないため、失敗します。したがって、私の質問:どのように私は企業の代理人を介してそれを行うことができます。 –

+0

こんにちは@JuanjoAparicioJara私はSpeechToTextクラスを見て、クラスExtendedSpeechToText thats拡張com.ibm.watson.developer_cloud.speech_to_text.v1.SpeechToText(私はExtendedTextToSpeechを作成した)を作成する必要があります。クラスには、プロキシ構成を持つOkHttpClientクライアントを作成するExtendedTextToSpeechと同じコードが必要です。次にSpeechToTextをインスタンス化するクライアントで、 'SpeechToTect service = new ExtendedSpeechToText(); サービス。setUsernameAndPassword( ""、 ""); これが役立つことを願っています。 –

+0

本当に助けになります。しかし、これはサービスにプロキシ設定を指定できないことを意味し、接続を部分的に再実装する必要があります。 ご協力いただきありがとうございます。 –

関連する問題