J'essaye de faire une application web en utilisant JAX -WS. Mon problème semble être très simple, mais je ne peux pas comprendre comment le résoudre. J'ai des variables de classe dont les valeurs doivent être utilisées dans les requêtes GET et POST. Par exemple, j'initie 'response' dans la méthode GET et je dois l'utiliser ensuite dans la méthode POST, mais quand j'appelle POST api/conversation de js, je reçois une erreur parce que 'response' est toujours nul. Comment puis-je enregistrer la valeur pour les variables? Voici mon codeUtiliser une variable entre les requêtes 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);
}
}
J'ai utilisé 1 approche, cela a fonctionné. Je vous remercie! – Tanya