将Web服务与Java servlet一起使用

将Web服务与Java servlet一起使用,java,web-services,jsp,servlets,wsdl,Java,Web Services,Jsp,Servlets,Wsdl,我正在尝试使用JSP和servlet开发一个非常简单的JavaWeb应用程序 1)页面上有一个文本框和一个提交按钮, 2)用户在文本框中输入他的名字,比如John,然后单击按钮, 3)字符串被转发到我的servlet, 4)在servlet的doPost方法中,我访问发布的字符串变量 5)我将使用的web服务有一个sayHello方法,该方法接受一个参数并返回与该参数连接的“Hello” 6)因此,我调用web服务的sayHello方法,获取返回的变量并将其转发给JSP,JSP基本上编写Hell

我正在尝试使用JSP和servlet开发一个非常简单的JavaWeb应用程序

1)页面上有一个文本框和一个提交按钮,
2)用户在文本框中输入他的名字,比如John,然后单击按钮,
3)字符串被转发到我的servlet,
4)在servlet的doPost方法中,我访问发布的字符串变量
5)我将使用的web服务有一个
sayHello
方法,该方法接受一个参数并返回与该参数连接的
“Hello”
6)因此,我调用web服务的
sayHello
方法,获取返回的变量并将其转发给JSP,JSP基本上编写
Hello John

我熟悉JSP和Servlet,但不知道如何使用已经存在的web服务,或者如何使用已经在该web服务中实现的功能

我只知道方法的名称,
sayHello
,web服务的URL,
http://example.com/hello_service
和指向
wsdl
文件的链接,该文件包含我不知道如何使用的类似xml的代码

我的问题是,如何使用该web服务,或者如何调用servlet中的方法

提前感谢。

您可以使用jax-ws中的“wsimport”为web服务生成客户机jar。然后,在类路径中包含客户机jar,您可以像调用任何常规方法一样调用web服务

我正在为JavaEE开发人员使用Eclipse。如何自动生成客户端

将WSDL文件放到动态web项目中(或为其创建新项目),右键单击它,选择web服务>生成客户端,使用默认设置完成向导。将在放置生成的WSDL客户机代码的位置创建一个新包。其中一个类的类名中有一个
ServiceLocator

在servlet中,您需要实例化
ServiceLocator
类,从中获取SOAP服务,然后在其上调用所需的方法。由于WSDL未知,因此无法提供进一步的详细信息

另见:
  • (Eclipse自己的教程做得有点不同)

您必须创建客户端存根,它将成为您的代码项目(具有servlet)的一部分。WSDL定义了如何生成这些存根。您可以从servlet调用存根中的方法。可以使用多种工具生成这些存根,Axis2是使用最广泛的工具之一

是ApacheAxis2文档,它告诉您如何做


此存根将具有wsdl定义的方法。您将基本上调用这些方法,并且在内部,存根实现(由axis2从wsdl自动生成)将基于您传递给该方法的参数创建SOAP请求。然后它将通过HTTP或HTTPS将此请求发送到webservice URL。您会觉得自己在调用驻留在计算机上的代码,但在内部它会调用远程Web服务。

您是否使用Eclipse之类的IDE?如果有,哪一个?大多数IDE都有内置的向导/工具来从WSDL生成客户机。@BalusC-是的,我正在为JavaEE开发人员使用Eclipse。如何自动生成客户端?