love fish大鹏一曰同风起,扶摇直上九万里

常用链接

统计

积分与排名

friends

link

最新评论

学习Java6(一) WebServices (3)在tomcat中发布

为了满足广大网友的要求,今天抽时间搞了下WebServices 在tomcat中的发布
相关文章:
tomcat启动时自动加载servlet
学习Java6(一) WebServices (1)服务端
学习Java6(一) WebServices (2)客户端

新建一个servlet,偶太,能少打一个字符都是好的,所以servlet写的非常简洁,也适合初学者看得懂。。。。。。。。。。
WebServiceStarter.java

 1 import javax.servlet.ServletException;
 2 import javax.servlet.http.HttpServlet;
 3 import javax.xml.ws.Endpoint;
 4 
 5 public class WebServiceStarter extends HttpServlet {
 6     
 7     private static final long serialVersionUID = 5870534239093709659L;
 8 
 9     public WebServiceStarter() {
10         super();
11     }
12 
13     public void destroy() {
14         super.destroy();
15     }
16 
17     public void init() throws ServletException {
18         System.out.println("准备启动服务");
19         Endpoint.publish("http://localhost:8080/HelloService"new Hello());
20         System.out.println("服务启动完毕");
21     }
22 }
23 

web service类Hello.java也是非常简单
 1 
 2 
 3 import javax.jws.WebMethod;
 4 import javax.jws.WebService;
 5 import javax.jws.soap.SOAPBinding;
 6 
 7 @WebService(targetNamespace = "http://jdk.study.hermit.org/client")
 8 @SOAPBinding(style = SOAPBinding.Style.RPC)
 9 public class Hello {
10     @WebMethod
11     public String sayHello(String name) {
12         return "hello:" + name;
13     }
14 }
web.xml
 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
 5     http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
 6     <servlet>
 7         <servlet-name>WebServiceStarter</servlet-name>
 8         <servlet-class>WebServiceStarter</servlet-class>
 9         <load-on-startup>1</load-on-startup>
10     </servlet>
11 </web-app>
12 

ok
就这三个文件。。。。。。。。。啥jar都不要。。。。
发布,启动服务器
2007-1-5 13:28:37 org.apache.catalina.core.AprLifecycleListener init
信息: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: G:\JDK6\bin;F:\tomcat6\bin
2007-1-5 13:28:37 org.apache.coyote.http11.Http11Protocol init
信息: Initializing Coyote HTTP/1.1 on http-8080
2007-1-5 13:28:37 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 937 ms
2007-1-5 13:28:38 org.apache.catalina.core.StandardService start
信息: Starting service Catalina
2007-1-5 13:28:38 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/6.0.7
2007-1-5 13:28:38 org.apache.catalina.core.StandardHost start
信息: XML validation disabled
2007-1-5 13:28:38 org.apache.catalina.core.ApplicationContext log
信息: ContextListener: contextInitialized()
2007-1-5 13:28:38 org.apache.catalina.core.ApplicationContext log
信息: SessionListener: contextInitialized()
准备启动服务
服务启动完毕
2007-1-5 13:28:39 org.apache.coyote.http11.Http11Protocol start
信息: Starting Coyote HTTP/1.1 on http-8080
2007-1-5 13:28:39 org.apache.jk.common.ChannelSocket init
信息: JK: ajp13 listening on /0.0.0.0:8009
2007-1-5 13:28:39 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=16/62  config=null
2007-1-5 13:28:39 org.apache.catalina.startup.Catalina start
信息: Server startup in 1969 ms


访问:http://localhost:8080/HelloService?wsdl
 1   <?xml version="1.0" encoding="UTF-8" ?> 
 2 <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://jdk.study.hermit.org/client" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" targetNamespace="http://jdk.study.hermit.org/client" name="HelloService">
 3   <types /> 
 4 <message name="sayHello">
 5   <part name="arg0" type="xsd:string" /> 
 6   </message>
 7 <message name="sayHelloResponse">
 8   <part name="return" type="xsd:string" /> 
 9   </message>
10 <portType name="Hello">
11 <operation name="sayHello" parameterOrder="arg0">
12   <input message="tns:sayHello" /> 
13   <output message="tns:sayHelloResponse" /> 
14   </operation>
15   </portType>
16 <binding name="HelloPortBinding" type="tns:Hello">
17   <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" /> 
18 <operation name="sayHello">
19   <soap:operation soapAction="" /> 
20 <input>
21   <soap:body use="literal" namespace="http://jdk.study.hermit.org/client" /> 
22   </input>
23 <output>
24   <soap:body use="literal" namespace="http://jdk.study.hermit.org/client" /> 
25   </output>
26   </operation>
27   </binding>
28 <service name="HelloService">
29 <port name="HelloPort" binding="tns:HelloPortBinding">
30   <soap:address location="http://localhost:8080/HelloService" /> 
31   </port>
32   </service>
33   </definitions>
看到以上代码就ok!
客户端写法照旧

posted on 2007-01-12 15:22 liaojiyong 阅读(421) 评论(0)  编辑  收藏 所属分类: WebService


只有注册用户登录后才能发表评论。


网站导航: