Я использую Watson Java SDK от github (https://github.com/watson-developer-cloud/java-sdk), чтобы запустить тест службы речи в текст. Я запускаю пример с моего рабочего места, в котором установлен брандмауэр и http-прокси.Вызов речи Watson из Java через корпоративный прокси
Тестирование не выполняется, так как удаленный сервер не может быть достигнут. Трассировка стека выглядит следующим образом:
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 через прокси?
Эй Juanjo, вы можете настроить URL службы, чтобы указать на прокси-сервере. Мы не выставляем HTTPClient из okHttp, поэтому вы не сможете использовать okhttp для этого –
Спасибо за ответ. И как мне это сделать? Я не могу найти ссылки на это в репозитории github. И когда вы упоминаете «прокси», вы имеете в виду прокси-сервер http? Это то, о чем я говорю. –
Я могу объединить запрос на тяну, если вы найдете способ отладки для этой функции без чрезмерного воздействия на реализацию –