WebService使用的一些总结.docx

上传人:b****1 文档编号:2523226 上传时间:2023-05-03 格式:DOCX 页数:8 大小:47.75KB
下载 相关 举报
WebService使用的一些总结.docx_第1页
第1页 / 共8页
WebService使用的一些总结.docx_第2页
第2页 / 共8页
WebService使用的一些总结.docx_第3页
第3页 / 共8页
WebService使用的一些总结.docx_第4页
第4页 / 共8页
WebService使用的一些总结.docx_第5页
第5页 / 共8页
WebService使用的一些总结.docx_第6页
第6页 / 共8页
WebService使用的一些总结.docx_第7页
第7页 / 共8页
WebService使用的一些总结.docx_第8页
第8页 / 共8页
亲,该文档总共8页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

WebService使用的一些总结.docx

《WebService使用的一些总结.docx》由会员分享,可在线阅读,更多相关《WebService使用的一些总结.docx(8页珍藏版)》请在冰点文库上搜索。

WebService使用的一些总结.docx

WebService使用的一些总结

webService总结

(一)——使用CXF发布和调用webService(不使用Spring)

分类:

webService2014-07-2617:

562581人阅读评论(7)收藏举报

webservicehelloworldspringcxfaxis2

 CXF和Axis2是两个比较流行的webService框架,接下来我会写几篇博客简单介绍如何使用这两种框架。

首先,先简单介绍一下CXF的使用。

CXF发布webService有多种方法,这里我介绍三种:

1、不使用Spring,CXF自动发布webService

2、不使用Spring,CXF手动发布webService

3、使用Spring+CXF发布webService

这篇博客以实例介绍第一种方法——不使用Spring,CXF自动发布webService。

服务端:

目录结构如下:

IHelloWorldServer代码:

[java]viewplaincopyprint?

1.

Microsoft YaHei;font-size:

18px;">package com.test.server;  

2.  

3.public interface IHelloWorldServer {  

4.    public String sayHello(String username);   

5.}  

MicrosoftYaHei;font-size:

18px;">packagecom.test.server;publicinterfaceIHelloWorldServer{publicStringsayHello(Stringusername);}

HelloWorldServerImp代码:

[java]viewplaincopyprint?

1.

Microsoft YaHei;font-size:

18px;">package com.test.server;  

2.  

3.public class HelloWorldServerImp implements IHelloWorldServer {  

4.  

5.    @Override  

6.    public String sayHello(String username) {  

7.        return username+" :

 HelloWorld";  

8.    }  

9.}  

MicrosoftYaHei;font-size:

18px;">packagecom.test.server;publicclassHelloWorldServerImpimplementsIHelloWorldServer{@OverridepublicStringsayHello(Stringusername){returnusername+":

HelloWorld";}}

这两个是最最简单的java类。

WebServlet代码:

[java]viewplaincopyprint?

1.

Microsoft YaHei;font-size:

18px;">package com.test.server;  

2.  

3.import javax.servlet.ServletConfig;  

4.  

5.import org.apache.cxf.Bus;  

6.import org.apache.cxf.BusFactory;  

7.import org.apache.cxf.frontend.ServerFactoryBean;  

8.import org.apache.cxf.transport.servlet.CXFNonSpringServlet;  

9.  

10.public class WebServlet extends CXFNonSpringServlet {  

11.//  private static final String SERVICE_SUFFIX = "";  

12.    private static final long serialVersionUID = 1L;    

13.        

14.    @Override    

15.    protected void loadBus(ServletConfig servletConfig) {    

16.        super.loadBus(servletConfig);    

17.          

18.        Bus bus = getBus();    

19.        BusFactory.setDefaultBus(bus);    

20.        HelloWorldServerImp helloWorld = new HelloWorldServerImp();//实现类    

21.         

22.        ServerFactoryBean serverFactoryBean = new ServerFactoryBean(); //server工厂    

23.        serverFactoryBean.setServiceClass(IHelloWorldServer.class);// 接口类    

24.        serverFactoryBean.setAddress("/helloWorld"); //服务请求路径    

25.        serverFactoryBean.setServiceBean(helloWorld);    

26.        serverFactoryBean.create();    

27.    }    

28.}  

MicrosoftYaHei;font-size:

18px;">packagecom.test.server;importjavax.servlet.ServletConfig;importorg.apache.cxf.Bus;importorg.apache.cxf.BusFactory;importorg.apache.cxf.frontend.ServerFactoryBean;importorg.apache.cxf.transport.servlet.CXFNonSpringServlet;publicclassWebServletextendsCXFNonSpringServlet{//privatestaticfinalStringSERVICE_SUFFIX="";privatestaticfinallongserialVersionUID=1L;@OverrideprotectedvoidloadBus(ServletConfigservletConfig){super.loadBus(servletConfig);Busbus=getBus();BusFactory.setDefaultBus(bus);HelloWorldServerImphelloWorld=newHelloWorldServerImp();//实现类ServerFactoryBeanserverFactoryBean=newServerFactoryBean();//server工厂serverFactoryBean.setServiceClass(IHelloWorldServer.class);//接口类serverFactoryBean.setAddress("/helloWorld");//服务请求路径serverFactoryBean.setServiceBean(helloWorld);serverFactoryBean.create();}}

这个Servlet用于发布webService,当程序部署后,容器会自动调用这里面的方法。

Web.xml文件

[html]viewplaincopyprint?

1.

Microsoft YaHei;font-size:

18px;">

xml version="1.0" encoding="UTF-8"?

>  

2.

xsi="http:

//www.w3.org/2001/XMLSchema-instance"  

3.    xmlns=" xmlns:

web="  

4.    xsi:

schemaLocation="   

5.    id="WebApp_ID" version="3.0">  

6.    cxf_demo  

7.      

8.        index.html  

9.        index.htm  

10.        index.jsp  

11.        default.html  

12.        default.htm  

13.        default.jsp  

14.      

15.    cxf_demo  

16.      

17.      

18.        CXFServlet  

19.        com.test.server.WebServlet  

20.        1  

21.      

22.      

23.        CXFServlet  

24.        /ws/*  

25.      

26.  

MicrosoftYaHei;font-size:

18px;">

xmlversion="1.0"encoding="UTF-8"?

>

xsi="http:

//www.w3.org/2001/XMLSchema-instance"xmlns="xmlns:

web="xsi:

schemaLocation="id="WebApp_ID"version="3.0">cxf_demoindex.htmlindex.htmindex.jspdefault.htmldefault.htmdefault.jspcxf_demoCXFServletcom.test.server.WebServlet1CXFServlet/ws/*

将上述项目发布到Tomcat中,他会自动发布webService,输入网址:

http:

//localhost:

8080/cxf_demo_noSpring_1/ws,即可看到发布好的webService,输入网址:

http:

//localhost:

8080/cxf_demo_noSpring_1/ws/helloWorld?

wsdl,查看wsdl文件,能正常显示,说明webService发布成功。

客户端:

HelloWorldClient代码:

[java]viewplaincopyprint?

1.

Microsoft YaHei;font-size:

18px;">package com.test.client;  

2.import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;  

3.  

4.public class HelloWorldClient {  

5.    public static void main(String[] args) {  

6.        JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();  

7.        org.apache.cxf.endpoint.Client client = dcf.createClient("http:

//localhost:

8080/cxf_demo_noSpring_1/ws/helloWorld?

wsdl");  

8.                Object[] objects;  

9.        try {  

10.            objects = client.invoke("sayHello", "haitao");  

11.            //输出调用结果  

12.            System.out.println(objects[0].toString());  

13.        } catch (Exception e) {  

14.            e.printStackTrace();  

15.        }   

16.    }  

17.}  

18.  

MicrosoftYaHei;font-size:

18px;">packagecom.test.client;importorg.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;publicclassHelloWorldClient{publicstaticvoidmain(String[]args){JaxWsDynamicClientFactorydcf=JaxWsDynamicClientFactory.newInstance();org.apache.cxf.endpoint.Clientclient=dcf.createClient("http:

//localhost:

8080/cxf_demo_noSpring_1/ws/helloWorld?

wsdl");Object[]objects;try{objects=client.invoke("sayHello","haitao");//输出调用结果System.out.println(objects[0].toString());}catch(Exceptione){e.printStackTrace();}}}

run之后,结果如下:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2