码迷,mamicode.com
首页 > Web开发 > 详细

CXF-01: WebService的第一个例子

时间:2015-11-26 06:51:32      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:

技术分享

HelloWorld.java:

1 package com.war3.ws;
2 
3 import javax.jws.WebService;
4 
5 @WebService
6 public interface HelloWorld {
7 
8     String sayHi(String name);
9 }

HelloWorldWS.java:

 1 package com.war3.ws.impl;
 2 
 3 import javax.jws.WebService;
 4 import com.war3.ws.HelloWorld;
 5 
 6 @WebService(endpointInterface="com.war3.ws.HelloWorld")
 7 public class HelloWorldWS implements HelloWorld {
 8 
 9     @Override
10     public String sayHi(String name) {
11         return name+",你好!";
12     }
13 
14 }

ServerMain.java:

 1 package com.war3.ws.server;
 2 
 3 import javax.xml.ws.Endpoint;
 4 
 5 import com.war3.ws.HelloWorld;
 6 import com.war3.ws.impl.HelloWorldWS;
 7 
 8 public class ServerMain {
 9 
10     public static void main(String[] args) {
11         HelloWorld hw = new HelloWorldWS();
12         Endpoint.publish("http://localhost:8080/hello", hw);
13         System.out.println("WebService暴露服务成功!");
14     }
15 }

运行ServerMain.java,控制台打印"WebService暴露服务成功!"。

浏览器输入:http://localhost:8080/hello?wsdl,回车得到:

 1 <wsdl:definitions xmlns:ns1="http://ws.war3.com/" xmlns:ns2="http://schemas.xmlsoap.org/wsdl/soap/http" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://impl.ws.war3.com/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="HelloWorldWSService" targetNamespace="http://impl.ws.war3.com/">
 2 <wsdl:import location="http://localhost:8080/hello?wsdl=HelloWorld.wsdl" namespace="http://ws.war3.com/"></wsdl:import>
 3 <wsdl:binding name="HelloWorldWSServiceSoapBinding" type="ns1:HelloWorld">
 4 <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
 5 <wsdl:operation name="sayHi">
 6 <soap:operation soapAction="" style="document"/>
 7 <wsdl:input name="sayHi">
 8 <soap:body use="literal"/>
 9 </wsdl:input>
10 <wsdl:output name="sayHiResponse">
11 <soap:body use="literal"/>
12 </wsdl:output>
13 </wsdl:operation>
14 </wsdl:binding>
15 <wsdl:service name="HelloWorldWSService">
16 <wsdl:port binding="tns:HelloWorldWSServiceSoapBinding" name="HelloWorldWSPort">
17 <soap:address location="http://localhost:8080/hello"/>
18 </wsdl:port>
19 </wsdl:service>
20 </wsdl:definitions>

然后我们再新建一个Java工程WebService_Client:

技术分享

利用wsdl2java命令和wsdlurl参数,我们在src目录下生成了一些代码:

技术分享

然后我们写一个类ClientMain.java:

技术分享

 1 package com.war3.ws.client;
 2 
 3 import com.war3.ws.HelloWorld;
 4 import com.war3.ws.impl.HelloWorldWSService;
 5 
 6 public class ClientMain {
 7 
 8     public static void main(String[] args) {
 9         HelloWorldWSService factory = new HelloWorldWSService();
10         HelloWorld hw = factory.getHelloWorldWSPort();
11         System.out.println(hw.sayHi("tom"));
12     }
13 }

运行代码,控制台输出“tom,你好!”。

 

CXF-01: WebService的第一个例子

标签:

原文地址:http://www.cnblogs.com/build-up/p/4996474.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!