質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Bluemix

Bluemixは、IBMが提供しているソフトウェア込みのクラウドプラットフォーム (PaaS) です。開発環境と実行環境をクラウドサービス上で利用することが可能で、開発言語としてSwift/Java/JavaSciptなどの主要な言語を全て使用することができます。

Watson

Watsonは、IBMが開発した質問応答・意思決定支援を行うシステムです。人口知能と言われることもあるが、IBMは自然言語処理と機械学習を用いて人間の意思決定を支援するコグニティブコンピューティングプラットホームと呼んでいます。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

0回答

2543閲覧

WatsonのJavaアプリケーションが動かない

good_morning

総合スコア61

Bluemix

Bluemixは、IBMが提供しているソフトウェア込みのクラウドプラットフォーム (PaaS) です。開発環境と実行環境をクラウドサービス上で利用することが可能で、開発言語としてSwift/Java/JavaSciptなどの主要な言語を全て使用することができます。

Watson

Watsonは、IBMが開発した質問応答・意思決定支援を行うシステムです。人口知能と言われることもあるが、IBMは自然言語処理と機械学習を用いて人間の意思決定を支援するコグニティブコンピューティングプラットホームと呼んでいます。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2016/12/02 08:00

編集2016/12/05 03:59

IBM Bluemix Accountを作成し、カタログ→CloudFoundaryランタイム→Liverty for Javaでアプリケーションを選択し、Bluemix applicationを作成し、Gitを追加し、GIT linkをコピーして、Eclipse上でGitリポジトリを複製して、GitリポジトリのURIにそのコピーをベースとしました。
そうして、エクリプスプロジェクトをインポートしました。
その後、次のサイトの記載に沿って、SimpleServletを下記のとおりに書き換えました。
https://developer.ibm.com/recipes/tutorials/bluemix-watson-apis-quickstart-using-java-sdk/#r_step2
そして、vcap.txtファイルとsample.flacファイルを所定のフォルダに保存しました。
そうしていよいよアプリケーションを実行しようとしたら、SimpleServlet内のinitメソッドが実行され、vcap.txtファイルが読み込まれました。しかし、SimpleServlet内のmainメソッドが実行されないため、sample.flacファイルが読み込まれていないことがわかりました。ちなみにエラーは一つもありません。
この問題、どのように解決したらよろしいでしょうか。

書き換えたSimpleServletのソースは、次のとおりです。

package wasdev.sample.servlet;

import java.io.File;
import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.io.FileUtils;

import com.ibm.watson.developer_cloud.speech_to_text.v1.SpeechToText;
import com.ibm.watson.developer_cloud.speech_to_text.v1.model.SpeechResults;
import com.ibm.watson.developer_cloud.util.CredentialUtils;

@WebServlet("/SimpleServlet")
public class SimpleServlet extends HttpServlet {

private SpeechToText s2t = new SpeechToText();

@Override
public void init() throws ServletException {
super.init();
String vcap = System.getProperty("VCAP_SERVICES");
if (vcap == null){
try {
vcap = FileUtils.readFileToString(new File("./leoks/vcap.txt"));
} catch (IOException e) {
e.printStackTrace();
}
}
CredentialUtils.setServices(vcap);
s2t.setApiKey(CredentialUtils.getAPIKey("speech_to_text"));
}

public static void main(String[] args) throws ServletException{
SimpleServlet ss = new SimpleServlet();
ss.init();
SpeechResults results = ss.s2t.recognize(new File("./leoks/sample.flac"));
System.out.println(results.getResults().get(0).toString());
}

private static final long serialVersionUID = 1L;

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
response.getWriter().print("Hello World!");
}

}

追伸

その後わかったことがあります。
次のURLに続きがありました。
https://developer.ibm.com/recipes/tutorials/bluemix-watson-apis-quickstart-using-java-sdk/

そこで、アプリケーション”Speech to Text”を追加しました。
そこまでは良かったのですが、アプリケーション”SQL DATABASE”がカタログの中から見つからないのです。

それとも、他のアプリケーションで代替できるのでしょうか。
ここからがまたわからなくなってきました。
よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/12/04 08:48

多分 FileNotFoundExceptionが発生しているように感じる ログをちゃんと確認しよう
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問