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

XFire令WebService如此简单

发布时间:2020-12-17 02:00:51 所属栏目:安全 来源:网络整理
导读:1. ?????? 利用 xFire 发布 WebServiceo:p/o:p 对于一般的接口方法,即方法的返回类型或参数不是 List 或 Map 中存放对象的方法,则只需要两步简单的配置即可。 一、 配置 web.xml 添加一个 servlet xml 代码 servlet ?? ???????? servlet-name webservice /

1.?????? 利用xFire发布WebService<o:p></o:p>

对于一般的接口方法,即方法的返回类型或参数不是ListMap中存放对象的方法,则只需要两步简单的配置即可。

一、配置web.xml

添加一个servlet

xml 代码
  1. <servlet>??
  2. ????????<servlet-name>webservice</servlet-name>??
  3. ????????<servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class>??
  4. ????</servlet>??
  5. ??
  6. ????<servlet-mapping>??
  7. ????????<servlet-name>webservice</servlet-name>??
  8. ????????<url-pattern>/servlet/XFireServlet/*</url-pattern>??
  9. ????</servlet-mapping>??
  10. ????<servlet-mapping>??
  11. ????????<servlet-name>webservice</servlet-name>??
  12. ????????<url-pattern>/services/*</url-pattern>??
  13. </servlet-mapping>??

?

?

一、建立services.xml

? 在源代码包src(也可能是其它的名称)下建立META-INF/xfire文件夹,并在下面建立services.xml文件。

xml 代码
  1. <!--?START?SNIPPET:?services?-->??
  2. <beans??xmlns="http://xfire.codehaus.org/config/1.0">??
  3. ??<service?>??
  4. ????<name>helloWorld</name>??
  5. ????<namespace>http://6.1.8.16:8080/xfireWebService/services/helloWorld</namespace>??
  6. ????<serviceClass>com.excellence.webservice.test.helloWorld</serviceClass>??
  7. ????<implementationClass>com.excellence.webservice.test.HelloWorldImpl</implementationClass>??
  8. ??</service>??
  9. </beans>??
  10. <!--?END?SNIPPET:?services?-->??

?

?

一 name 元素:表示该webService的名称<o:p></o:p>

二 namespace 元素:表示该webService的命名空间<o:p></o:p>

三 serviceClass 元素:表示该webService的接口<o:p></o:p>

四 implementationClass 元素:表示该webService的实现类<o:p></o:p>

  <o:p></o:p>

对!就是这么简单,就可以啦。

? <o:p></o:p>

如果返回类型是ListMap,并且里面存放的是自定义类的话,则需要增加一个对于服务接口的配置文件。该文件的命名规则是 接口文件名.aegis.xml。例如接口是HelloWorld.java的话,则此配置文件命名为HelloWorld.aegis.xml<o:p></o:p>

xml 代码
  1. <?xml?version="1.0"?encoding="UTF-8"?>??
  2. <mappings>??
  3. ??<mapping?>??
  4. ????<method?name="getUsers">??
  5. ??????<return-type?componentType="com.excellence.webservice.test.User"/>??
  6. ????</method>??
  7. ??</mapping>??
  8. </mappings>??

?

getUsers方法返回类型是List,里面装的User对象。对于这种类型的方法,在配置文件中描述了它的返回值类型。<o:p></o:p>

如果返回的类型是Map的话,做法和List一样。但定义的类型,是Map中的Value部分,并且这样的话,MapValue所存放的对象就必须全部是同一种类啦。<o:p></o:p>

(编辑:李大同)

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

    推荐文章
      热点阅读