JAX-WSを使用してWebアプリケーションを作成しようとしています。私の問題は非常に単純なようですが、解決方法を理解できません。 GETとPOSTリクエストで使用する必要があるクラス変数があります。たとえば、私はGETメソッドで「レスポンス」を開始し、POSTメソッドでそれを使用する必要がありますが、POST API /会話をjsから呼び出すと、「レスポンス」がnullのためエラーが発生します。変数の値を保存するにはどうすればよいですか?ここに私のコードは、問題のJavaクラスは、コンテナ管理BeanではないようですJAX-WSリクエスト間の変数を使用する
import javax.ws.rs.*;
@ApplicationPath("api")
@Path("conversation")
public class Conversation {
private final String conversationWorkspace = "myworkspace";
private final static String CONVERSATION_ID = "myid";
private final static String CONVERSATION_PASS = "mypass";
private MessageRequest request;
private MessageResponse response;
private ConversationService service;
@GET
@Produces("application/text")
public String getInitiatePhrase(){
service = new ConversationService("2017-05-26", CONVERSATION_ID, CONVERSATION_PASS);
response = service.message(conversationWorkspace, null).execute(); //here response gets its value
return response.getText().get(0);
}
@POST
@Produces("application/text")
@Consumes("application/text")
public String getBotAnswer(String userText){
System.out.println("response " + response);
request = new MessageRequest.Builder().inputText(userText).context(response.getContext()).build(); //response must not be null
response = service.message(conversationWorkspace, request).execute();
return response.getText().get(0);
}
}
私は1つのアプローチを使用しました。ありがとうございました! – Tanya