使用Xfire、Axis、Axis2框架实现WebService

使用XfireAxisAxis2框架实现WebService

     

一、 xfire发布WebService

1、完成接口、实现类以及相关的bean代码编写

      本示例中用到的接口、实现类、bean如下:

      接口:

@WebService(name = "HellowWord", targetNamespace = "http://webserviceDemo/schema/HelloWord/")

@SOAPBinding(use = SOAPBinding.Use.LITERAL, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED)

public interface HellowWord

{

    @WebMethod(operationName = "sayHellow", action = "")

    public void sayHellow(

            @WebParam(name = "user", targetNamespace = "") User user);

 

    @WebMethod(operationName = "sayAllHellow", action = "")

    public void sayAllHellow(

            @WebParam(name = "users", targetNamespace = "") List<User> users);

}

实现类:

@WebService(name = "HellowWord", targetNamespace = "http://webserviceDemo/schema/HelloWord/")

public class HelloWordImpl implements HellowWord

{

 

    public void sayAllHellow(List<User> users)

    {

        if (null == users || users.size() <= 0)

        {

            System.out.println("No people!");

        }

 

        for (User user : users)

        {

            System.out.println(user.getUserName() + " hellow!");

        }

    }

 

    public void sayHellow(User user)

    {

        if (null == user)

        {

            System.out.println("No people!");

        }

 

        System.out.println(user.getUserName() + " hellow!");

    }

}

使用到的自定义bean

public class User

{

    private String userName;

    private int age;

    private String gender;

    // get\set方法略  

}

2、导入Xfire相关jar

    将已下载的相关xfire所有jar包导入工程(jar包没有按功能区分,有兴趣可以自己研究),本工程的导入方式为,在工程的最上层目录下新建一个lib/xfire目录,将相关jar包拷入该目录,本工程是用Eclips开发的,所以将本工程的.settings/org.eclipse.wst.common.component中添加上<wb-resource deploy-path="/WEB-INF/lib" source-path="/lib/xfire"/>,最后执行导入工作,这样做有助于对工程不同功能的jar包进行管理。

3、添加xfire的配置文件

配置文件添加方法一:

在工程的src目录下新建META-INF\xfire\services.xml文件。

配置文件添加方法二:

    该方法可以让工程的结构层次更清晰,在工程的最上层目录下新建conf\META-INF\xfire\services.xml文件,然后将conf目录下的内容设置为编译至WebRoot\WEB-INF\classes目录下即可,其实不论配置文件放在什么地方只要工程编译完成后,在WebRoot\WEB-INF\classes目录中有META-INF\xfire\services.xml即可。

4、完成services.xml配置

本工程配置示例:

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

<beans xmlns="http://xfire.codehaus.org/config/1.0">

  <service>

    <name>HellWord</name>

    <namespace>http://webserviceDemo/schema/HelloWord/</namespace>

    <serviceClass>server.spi.HellowWord</serviceClass>

    <implementationClass>server.impl.HelloWordImpl</implementationClass>

    <serviceFactory>org.codehaus.xfire.jaxb2.JaxbServiceFactory</serviceFactory>

  </service>

</beans>

配置文件解释:

<name>服务的名称</name>

<namespace>命名空间</namespace>

<serviceClass>接口</serviceClass>

<implementationClass>实现类</implementationClass>

<serviceFactory>如果在接口中加入标注,必须配置此项</serviceFactory>

5、完成web.xml配置

    本工程的配置示例如下:

    <!-- XFire配置 -->

    <servlet>

       <servlet-name>xfire</servlet-name>     <servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class>

    </servlet>

    <servlet-mapping>

       <servlet-name>xfire</servlet-name>

       <url-pattern>/services/xfire/*</url-pattern>

    </servlet-mapping>

    注:

    <servlet-name><url-pattern>任意。

6、测试是否发布成功

    启动工程,在浏览器输入http://ip:port/SoapDemo/services/xfire /HellWord?wsdl(其中ip:port为部署工程的ip和端口),查看是否显示WSDL文件(具体wsdl文件是啥东东这里就不做描述了,大家可以自己网上查查),如果显示表示发布成功,否则定位看到底哪出现了问题。

二、用Axis2发布WebService

……

由于字数的限制,只能发这么多了,具体的可以下载附件查看

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值