Geronimo下部署WebService

Geronimo(以下简称G)下的Web服务开发,部署,测试 例子介绍: 在G下布署一个HelloWorld的Servlet,该Servlet只有一个方法getHelloWorldName,返回一字符串。以Web服务的方式部署到G中,调用这个Web服务的网址为: http://localhost:8080/HelloWorld/ldt Web服务开发过程: 1、J2EE 1.4规范中的Web服务,需要提供以下几个文件: 1) Web服务的接口。供外部应用调用的接口,本例中是:HelloWorldInterface 2) WSDL描述文件。本例中是:WebRoot/META-INF/HelloWorld.wsdl 3) JAX-RPC Mapping文件。本例中是:WebRoot/META-INF/helloworld-server-jaxrpc-mapping.xml 4) 对Web服务进行配置的webservices.xml文件 5) web服务对应的实现类,可以是Servlet,EJB等。在web.xml中进行配置,以供webservices.xml中进行引用这是这里面的2)3)两个文件可以用工具进行生成,并且经过一些必要修改。下面会提到这些工具,以及所要做的修改。 2、开发步骤 1)新建一个Web Application。我用的是MyEclipse。其实直接建立一个Java工程也行。差别不大。WebServicesTest 2)新建接口。包.HelloWorldInterface.java 3)实现接口。包.HelloWorldImpl.java。另:上面是说这个类是Servlet,但这里并没有继承HttpServlet。实不实现这个类都是可以的。 4)由HelloWorldInfterface.java接口生成wsdl。这里我选用了AXIS中自带的工具:java2wsdl。用Ant任务来完成。为了能过使用Ant,在工程中加入Axis中Lib中的Jar包。 location="http://localhost:8080/HelloWorld/ldt" namespace=http://ldt.com/servlet/HelloWorldInfterface output="${basedir}/WebRoot/WEB-INF/HelloWorld.wsdl" style="RPC" bindingname="HelloWorldBinding" serviceelementname="HelloWorldService" serviceportname="HelloWorldServicePort"> Java2wsdl中Ant任务参数可以查看:http://ws.apache.org/axis/java/ant/axis-java2wsdl.html 5)生成JAX-RPC Mapping文件。所使用的工具是:Sun 公司的J2EE服务器下自带的wscompile工具。Wscompile工具的参数与设置,可以参看http://www.huihoo.org/openweb/java_web_services_tutorial/JAXRPC6.html。在这里,先生成etc/hello-world-config.xml。然后在cmd窗口,用wscompile生成JAX-RPC的Mapping文件。存储在WebRoot/META-INF/helloworld-server-jaxrpc-mapping.xml 注意:这时所生成的mapping文件,最好要结合HelloWorld.wsdl文件相对照,看看Message的Part的名称,Namespace是否一至。我在生成Mapping文件时,就发现getHelloWorldName的返回消息的名称以及消息的Part与HelloWorld.wsdl不一样。这可能是用两个不同的工具生成的原因吧。 6) 配置webservices.xml文件。 HelloWorldTest META-INF/HelloWorld.wsdl META-INF/helloworld-server-jaxrpc-mapping.xml ldt HelloWorldServicePort com.ldt.servlet.HelloWorldInterface HelloWorldWS 7) 配置Web.xml。就是把那个HelloWorldImpl以一个Servlet方式配置就可以了 8) 打成War包。War包中的结构是: HelloWorld.war |------------META-INF |----HelloWorld.wsdl |----helloworld-server-jaxrpc-mapping.xml |------------WEB-INF |----classes(包括HelloWorldInterface,HelloWorldImpl) |----webservices.xml |-----web.xml 9)用G的/bin下面的Deploy.bat部署HelloWorld.war包 3、开发JSE的Client端。 因为在客户端方面,要连接到服务器上得到Web服务,就要依据web服务的wsdl生成Stub和JavaBean。和客户端接口等。这些类,可以用Axis的wsdl2java工具来完成。Wsdl2java的ant任务的属性可以查看:http://ws.apache.org/axis/java/ant/axis-wsdl2java.html。然后用ant生成项目中:com.ldt.helloworldws.j2seclient.generated下面的:HelloWorldBindingStub.java;HelloWorldInterface.java;HelloWorldService.java;HelloWorldServiceLocator.java。然后依据这些类,就可以调用刚刚发布的War包中的web服务了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值