L'envoi de données d'un formulaire dans une page jsp à un client de service web (SOAP)
Fondamentalement, j'ai un service web connecté à une base de données, qui est une méthode d'insertion.
J'ai créé un formulaire d'inscription dans une jsp et j'ai besoin d'envoyer des données à l'utilisateur inséré dans l'enregistrement.jsp forme de mon web service. J'ai donc utilisé un client de service web invocation que l'action à l'enregistrement.jsp en cliquant sur le bouton "soumettre".
Je ne sais pas comment obtenir les données saisies par l'utilisateur dans le formulaire et de le transmettre au client web qui à son tour l'insérer dans mon service web de la base de données.
Voici mes codes:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title> Registration</title>
</head>
<body>
<h1> Welcome</h1>
<form name="test" action="Wclient2.jsp" method="POST" enctype="multipart/formdata">
<table border="0">
<thead>
<tr>
<th>Register Here</th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>First Name:</td>
<td><input type="text" name="fname" value="" size="50" /></td>
</tr>
<tr>
<td>Last Name:</td>
<td><input type="text" name="lname" value="" size="50" /></td>
</tr>
<tr>
<td>Email:</td>
<td><input type="text" name="email" value="" size="50" /></td>
</tr>
<tr>
<td>Password:</td>
<td><input type="password" name="password" value="" size="50"/> </td>
</tr>
<tr>
<td></td>
<td> <input type="submit" value="submit" name="submit" /> </td>
</tr>
</tbody>
</table>
</form>
</body>
</html>
Et c'est le code pour le client web en cliquant sur le bouton envoyer de la
enregistrement( action="Wclient2.jsp" method="POST")
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title> Enroll</title>
</head>
<body>
<h1> Welcome</h1>
<form name="test"<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<%-- start web service invocation --%><hr/>
<%
try {
mypack.Bioweb_Service service = new mypack.Bioweb_Service();
mypack.Bioweb port = service.getBiowebPort();
//TODO initialize WS operation arguments here
java.lang.String fname = "";
java.lang.String lname = "";
java.lang.String email = "";
java.lang.String password = "";
//TODO process result here
java.lang.String result = port.insert(fname, lname, email, password);
out.println("Result = " + result);
} catch (Exception ex) {
//TODO handle custom exceptions here
}
%>
<%-- end web service invocation --%><hr/>
</body>
</html>
Je ne sais pas comment obtenir les paramètres de la fname à partir de l'enregistrement.jsp pour mettre dans le client web.
Quand j'écris:
java.lang.Chaîne fname = request.getParameter("fname");
pour obtenir la valeur de textfield fname dans mon web service, dans ma base de données, une ligne est créée, mais la valeur NULL est inséré à la place des valeurs de mon utilisateur a entré dans le formulaire.
S'il vous plaît aider.
Vous devez vous connecter pour publier un commentaire.
Je ne vois aucun problème avec votre code côté client(html/jsp) si vous utilisez de la demande.getParameter("fname") aussi longtemps que vous fournir des commentaires sur le Prénom. Pour isoler le problème, imprimer la valeur de la fname dans votre jsp
Si cette affiche votre entrée correctement, vous devriez voir le service de la mise en œuvre pour vérifier les lectures et les processus de l'entrée correctement. Si c'est fname est nulle , alors nous pouvons revenir à l'HTML/JSP pour la deuxième look.
Mise à jour:
À la demande dans les détails, vous pourriez utiliser code ci-dessous
Essayer cela et permet de voir si vous obtenez les valeurs pour l'entrée de votre enterd dans votre formulaire html.
Satheesh
Ce n'est pas vraiment mon domaine d'expertise, mais au lieu d'appeler action="Wclient2.jsp" on pourrait appeler action="pass.php" puis créer un fichier php pour saisir les variables et les rediriger vers Wclient2.jsp passage de variables dans une chaîne de requête.
Par exemple dans le pass.php fichier:
Que pourrait être vraiment bizarre (ou débutant) pour accomplir cela, mais juste le haut de ma tête, je ne sais que cela fonctionne.
J'espère que quelqu'un d'autre aura plus de réponse appropriée, mais en cas d'absence de l'une des réponses assez rapidement, j'espère que cela vous aide un peu 🙂