0

こんにちは私はしかし、私は、デバッグのこのラインを持っているサービスを使用してヘルプを提供すべてのソースを読んでいる氏は述べています。java-SDK:IBM Watson Visual RecognitionはJavaのアンドロイドで空の結果を返しますか?

I/CredentialUtils: JNDI string lookups is not available. 

が コンパイル「com.ibm.watson.developer_cloudでコンパイルします。 3.0.1'

VisualRecognition service = new VisualRecognition(VisualRecognition.VERSION_DATE_2016_05_19); 
service.setApiKey("<api_key>"); 
ClassifyImagesOptions options = new ClassifyImagesOptions.Builder().images(currentSelectFileLocation).build(); 
VisualClassification result = service.classify(options).execute(); 
System.out.println(result); 
+0

そのデバッグ行は完全に正常です。 Androidには 'javax.naming'がありません。何か間違いはありますか? – meskobalazs

+0

問題は空の結果{}を返すことです – user2641733

答えて

1

あなたが取得しているエラーは、IBMワトソン視覚認識Bluemixサービスから付属していませんが、ワトソンのJava SDKライブラリーから、使用しています。

あなたはbluemix内部のいくつかのJavaコードをデプロイする場合、自由コンテナに、それは内部bluemixからのサービスの資格情報を取得するためにJNDIを使用することができます

https://github.com/watson-developer-cloud/java-sdk/search?utf8=%E2%9C%93&q=javax.naming

を参照してください。しかし、あなたが外部のブルーミックスから実行する場合、もちろん、サービスにアクセスするためには、あなたのアンドロイドアプリであなたのケースでは、資格情報を提供する必要があります。

あなたのAndroidアプリケーションがjavax.naming.Contextをインポートしていて、SDKがちょっと混乱しているようです。

あなたはあなたのアンドロイドプロジェクト

  • ダウンロードからのjavax.naming.Contextを削除し、資格情報を提供することをその
  • お知らせを修正するためにSDKのコードを再コンパイルIMO

    1. ここで、これらのオプションを持っていますアンドロイドアプリではおそらく良いアイデアではないので、私はここで別の道を取ることをお勧めします。 Watsonサービスに呼び出しをラップする、BluemixでRESTful Webサービスを作成します。もちろん、Watsonサービスへのすべての呼び出しがbluemixアカウントで請求されるため、このアクセスを保護することができます。

    関連する問題