Java 正在打电话给沃森翻译公司

Java 正在打电话给沃森翻译公司,java,eclipse,ibm-cloud,ibm-watson,Java,Eclipse,Ibm Cloud,Ibm Watson,我试图通过Java中的REST调用调用IBMWatson服务。我在Eclipse中有一个Web项目,它是通过Bluemix工具发布的。我还使用.jar文件。但是当我尝试一个简单的代码时,比如: LanguageTranslation service = new LanguageTranslation(); service.setUsernameAndPassword("{username}","{password}"); List <IdentifiedLanguage> lang

我试图通过Java中的REST调用调用IBMWatson服务。我在Eclipse中有一个Web项目,它是通过Bluemix工具发布的。我还使用.jar文件。但是当我尝试一个简单的代码时,比如:

LanguageTranslation service = new LanguageTranslation();
service.setUsernameAndPassword("{username}","{password}");

List <IdentifiedLanguage> langs = service.identify("this is a test");
System.out.println(langs);

我想你可能有一个过时的JAR文件。你能试着从下载最新版本吗

完成此操作后,将JAR文件添加到项目的构建路径,然后尝试以下操作:

LanguageTranslation service = new LanguageTranslation();
service.setUsernameAndPassword("username", "password");

ServiceCall<List<IdentifiedLanguage>> langs = service.identify("this is a test");
System.out.println(langs.execute());
LanguageTranslation服务=新语言翻译();
设置用户名和密码(“用户名”、“密码”);
ServiceCall langs=service.identify(“这是一个测试”);
System.out.println(langs.execute());

与Bluemix上使用的JVM以及该库的最新版本(3.0.0.RC1)似乎存在一些不兼容之处

我可以在本地很好地运行示例代码。只是不在Bluemix上

我的解决方法是使用较旧的2.10版本的库:


在那里一切正常(但是您需要从translate调用的末尾删除.execute(),以便与旧库兼容)。

您使用什么类型的凭据作为“用户名”和“密码”?Bluemix帐户或AlchemyAPI的api_密钥?我正在使用Bluemix帐户的凭据。我使用的是翻译语言服务,不是炼金术。请看一看。>“服务凭据与您的Bluemix帐户用户名和密码不同”是的,对不起,我的意思是我使用了通过Bluemix从服务获得的凭据。似乎与SSL有关。对于watson,我们使用确保您可以从浏览器访问该页面,并且JVM具有访问该主机的证书。我认为问题在于JVM没有验证SSL证书,但我可能错了。对不起,这对我不起作用。我得到了同样的例外OK,嗯,你能确认你正在从中获取用户名和密码吗?如果是,也许可以尝试删除服务实例并创建一个新实例。看起来这已经被声明为一个bug。非常感谢你。代码现在正在使用旧的2.10库!
LanguageTranslation service = new LanguageTranslation();
service.setUsernameAndPassword("username", "password");

ServiceCall<List<IdentifiedLanguage>> langs = service.identify("this is a test");
System.out.println(langs.execute());