2015-11-13 2 views
0

J'ai créé un service Web (http://localhost:8081/HRIS_WS_SRV/services/HelloWS?wsdl)Service Web passage de paramètre dans une autre classe/projet

public String hello(String name){ 
    return "Hello " + name; 
} 

J'utilise bas vers le haut pour la création (axis2 dans Eclipse), et le service Web suppose que j'ai cette méthode 1 appelée Bonjour pour retourner une chaîne. Ce que je veux demander est, la raison pour laquelle je veux utiliser le service Web est parce que j'ai 3 application (projet différent dans l'éclipse) qui doit être lié et peut passer le paramètre au service Web et un autre projet peut obtenir la valeur de retour. J'ai créé le serveur ws et le client ws, mais dans le client il ne peut utiliser que la méthode et récupérer directement le paramètre retourné par lui-même, ce que je veux faire c'est qu'une autre application web puisse accéder au retour valeur.

Par exemple, l'application Web 1 envoie une chaîne au service Web, puis l'application Web 2 peut obtenir la valeur de retour de la fonction dans le service Web.

Est-ce possible? Dans l'avenir je veux utiliser ceci pour la session passant entre l'application, ainsi mon application 2 et 3 peut encore reconnaître la session de l'application 1.

Je suis encore nouveau au service Web, et ma date limite est proche (projet final programme de formation en cours). S'il vous plaît aider les gars :) Merci. Cordialement, Nico.

+1

Java peut renvoyer la chaîne de résultat uniquement à l'appelant (celui qui appelle la méthode). Pourquoi ne fournissez-vous pas simplement la fonctionnalité de service Web de votre application 1 directement? Ainsi, chaque fois que l'application 2 et l'application 3 accèdent au service Web de l'application 1, vous pouvez directement fournir les informations de la session. – additionster

+0

@additionster oh ouais? Pouvez-vous m'expliquer s'il vous plaît plus? Je n'ai jamais utilisé le service Web et je me suis trompé avec. Je peux créer le service Web à partir de l'application 1, mais qu'y a-t-il à l'intérieur? dans l'application 2 et 3, il sera juste le client droit? comment peut-il passer les informations de session? merci ... – Nico

+0

Quel cadre utilisez-vous sur l'application 1? – additionster

Répondre

2

Dans web.xml

<servlet> 
    <display-name>WebServiceServlet</display-name> 
    <servlet-name>WebServiceServlet</servlet-name> 
    <servlet-class>full path of ur serlvet class</servlet-class> 
</servlet> 
<servlet-mapping> 
    <servlet-name>WebServiceServlet</servlet-name> 
    <url-pattern>/UrWebServiceUrl</url-pattern> 
</servlet-mapping> 

Dans le fichier servlet

public void doPost(HttpServletRequest request, HttpServletResponse response) 
{ 
    response.setContentType("application/json"); 
    JSONObject json = new JSONObject(); 
    json.put("session", "sessionValue"); 
    PrintWriter pw = response.getWriter(); 
    pw.write(json); 
    pw.close(); 
} 

Vous pouvez validation de chiffrement ou de sécurité avant d'envoyer la réponse. À partir de votre application2 et de votre application3, appelez le service Web.