加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

WebService入门实例项目详细教程(图)

发布时间:2020-12-16 23:22:45 所属栏目:安全 来源:网络整理
导读:http://www.voidcn.com/article/p-pdnfogkj-bk.html 1.在ECLIPSE中创建工程项目,并导入XFIRE包,结构图 ? ? ? ? 2. 在WEB.XML中进行配置 ? ? [xhtml] ? view plain copy servlet ?? ?? servlet-name XFireServlet / ?? ?? servlet-class ??org.codehaus.xfire

http://www.voidcn.com/article/p-pdnfogkj-bk.html

1.在ECLIPSE中创建工程项目,并导入XFIRE包,结构图

?

?

WS-1

?

?

2. 在WEB.XML中进行配置

?

?

[xhtml]? view plain copy
  1. <servlet>??
  2. ??servlet-name>XFireServlet</>??
  3. ??servlet-class ??org.codehaus.xfire.transport.http.XFireConfigurableServlet??
  4. load-on-startup>0 servlet-mappingurl-pattern>/services/*>??

?

?

3. 创建HelloService接口及HelloService.aegis.xml配置文件

?

WS-3

HelloService:

?

[java]? copy
    package?cn.test;??
  1. ??
  2. import?java.util.List;??
  3. public?interface?HelloService?{??
  4. ???
  5. ?public?String?sayHello(List?names);??
  6. }??

?

HelloService.aegis.xml:

?

copy
    <?xml?version="1.0"?encoding="UTF-8"?>??
  1. mappings ????mapping ???????method?name="sayHello" ???????????parameter?index="0"?componentType="java.lang.String"?/>??
  2. ???????????return-type?componentType="java.lang.String"?/>??
  3. ???????method ????>??

?

4. 创建接口实现类HelloServiceImpl

?

copy
    ??
  1. import?java.util.ArrayList;??
  2. import?java.util.Iterator;??
  3. import?java.util.List;??
  4. /**?
  5. ?
  6. *?
  7. *用户传入LIST类型参数,??然后获取里面所有数据?
  8. **/??
  9. class?HelloServiceImpl?implements?HelloService?{??
  10. public?String?sayHello(List?names)?{??
  11. ??String?result?=?"";??
  12. ??for(Iterator?it?=?names.iterator();?it.hasNext();){??
  13. ???String?value?=?(String)it.next();??
  14. ???result?+=?"Hello:?"?+?value?+?"/n";???
  15. ??}??
  16. return?result;??
  17. ?}??
  18. }??
  19. ???

?

5.配置services.xml文件

WS-2

?

?

copy
    beans?xmlns="http://xfire.codehaus.org/config/1.0"service ??????name>HelloService ??????namespace>http://cn.test/HelloServiceserviceClass>cn.test.HelloServiceimplementationClass>cn.test.HelloServiceImplbeans>??

?

6. 创建客户端测试类ClientTest

?有两种调用方法

?

第一种适用于JAVA编写的webservice:

?

?

copy
    Service?srvcModel?=?new?ObjectServiceFactory().create(HelloService.class);??
  1. ??XFireProxyFactory?factory?=?new?XFireProxyFactory(XFireFactory.newInstance().getXFire());??
  2. ??String?url?=?"http://127.0.0.1:8088/WebService/services/HelloService";??
  3. ??List?values?=?new?ArrayList();??
  4. ??values.add("liming");??
  5. ??values.add("HanMeiMei");??
  6. ??HelloService?hello?=?null;??
  7. ??try?{??
  8. ????hello?=?(HelloService)factory.create(srvcModel,?url);??
  9. ??}?catch?(MalformedURLException?e)?{??
  10. ???//?TODO?Auto-generated?catch?block??
  11. ???e.printStackTrace();??
  12. ??}??
  13. ??String?val?=?hello.sayHello(values);??
  14. ??System.out.println(val);??
  15. ???

第二种适合于所有程序开发的WEBSERVICE

通过WSDL描述文件进行交互:

Client client = new Client (new URL("http://127.0.0.1:8088/WebService/services/HelloService?wsdl"));

Object[] result = client.invoke("sayHello",new String[]{"LiMing","HanMeiMei"});

?

7. 部署WS程序

?

WS-4

?

8. 运行客户端程序输出结果:

?

WS-5

?

?

这是自己编写的一个完整简单的入门教程,不足之处请指正,希望对各位新手有所帮助.

贵在坚持,不要因为一时的挫败而放弃.

?

如果你热爱各种主流开发技术,欢迎加入本人群号:19310171

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读