使用xfire搭建webService服务

后边有个项目需要接入4A,要用到webService服务,暂时还不确定是不是会有我的事,但为了有备无患,还是抽时间学习了以下相关的知识。

本来我所了解到的发布webService服务有用cxf和xfire两种,但这个项目明确说了需要用xfire,因此便先学习一下这个。参考网上一些文档,搭建的过程大概如下:

一、环境基础:eclipse4.4.1、maven3.2.5、tomcat7、jdk1.7;

二、搭建过程:

1、下载依赖jar包:由于看到那些xfire入门教程中都说要先下载XFire 框架的安装包,而我在那些文章里提供的官网都没有找到下载的地方,于是只好放弃掉,最终在csdn中下载到,这些包如下图所示:

2、使用eclipse创建一个maven web项目,创建完基本结构如图(由于我的eclipse有些问题,导致项目名上有个红叉,不影响功能):

 

3、在src下的webapp的WEB-INF下创建一个lib文件夹,然后把下载好的xfire的依赖jar包粘贴进来,并选中lib中所有的jar包右键加入到build path中,如图:

4、在/src/main/resources下建立META-INF/xfire文件夹,然后在里边创建services.xml,xml文件最终的配置代码如下:

<?xml version="1.0" encoding="UTF-8"?>
 <!--  beans xmlns="http://xfire.codehaus.org/config/1.0">-->
<beans>
    <service xmlns="http://xfire.codehaus.org/config/1.0">
    <!-- webService服务的名称 -->
    <name>HelloWorld</name>
    <namespace>http://xfireTest/HelloWorldService</namespace>
    <!-- 自己所写的接口路径 -->
    <serviceClass>
        xfireTest.HelloService
    </serviceClass>
    <!-- 实现类路径 -->
    <implementationClass>
        xfireTest.HelloWorldServiceImpl
    </implementationClass>

</service>
</beans>

5、配置web.xml文件,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">

      <display-name>xfireTest</display-name>
      <description>
         使用eclipse和maven搭建基于XFire框架发布Web服务的例子
      </description>

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

      <servlet-mapping>
        <servlet-name>XFireServlet</servlet-name>
        <url-pattern>/servlet/XFireServlet/*</url-pattern>
      </servlet-mapping>

      <servlet-mapping>
        <servlet-name>XFireServlet</servlet-name>
        <url-pattern>/services/*</url-pattern>
    </servlet-mapping>
</web-app>

6、创建相关的业务逻辑代码,如下:

service接口:

package xfireTest;
public interface HelloService {
    /**
     * Hello 方法声明了 Web 服务对外暴露的接口
     *
     * @return 返回给客户端的字符串
     */
    public String Hello();
}

实现类:

package xfireTest;
public class HelloWorldServiceImpl implements HelloService {

    /*
     * Hello 方法为 HelloWorldService 服务接口定义的 sayHello 方法提供具体实现
     */
    public String Hello() {
        return "HelloWorld!";
    }

}

7、如上基本上就搭建完成了,但是当我启动的时候出现了如下的异常:

 警告: Failed to scan JAR [file:/D:/eclipseWorkspace1/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/webapps/xfireTest/WEB-INF/lib/XmlSchema-1.1.jar] from WEB-INF/lib
java.util.zip.ZipException: zip file is empty

检查之后才发现这个下载的包中。这个jar是空的,从第一张图中也可以看到字节数是0.于是只好从网上重新下载这个包再放进去。再启动之后可以正常访问,证明webService服务发布成功,访问如图:

8、另外,在查资料的时候又看到有的地方说需要xalan相关的jar包,不过不知道是版本问题还是其他的,我这里并没有导入这些

包。

参考:http://blog.csdn.net/arui_email/article/details/7703592

时间: 2024-10-18 09:23:36

使用xfire搭建webService服务的相关文章

使用CXF和spring搭建webService服务

虽然下一个项目需要使用xfire,但是在查资料的过程中还是看到有不少地方都说cxf比xfire更好,cxf继承了xfire,但是不仅仅包含xfire,因此便也一起来尝试尝试.大概是有了xfire的经验吧,cxf的搭建比xfire快了许多. cxf的许多参数感觉和xfire差不多,因此便不做太多的解释,如果不明白的可以参考之前的xfire搭建来促进理解. 搭建过程如下: 1.使用eclipse创建一个maven项目,maven导包的pom.xml的整体内容如下: <project xmlns=&quo

XFire创建WebService服务端和客户端

感谢这篇博客http://clq9761.iteye.com/blog/1261963的分享. 可能是环境搭建的原因,按照资料有些地方没有成功,于是自己改了一部分,写了下面的demo 1.服务端 1.1.新建web工程,复制需要的jar包到lib文件夹 1.2.web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/

java 搭建webservice服务+test客户端测试

整理别人的日志: 一.什么是webservice 一种构建应用程序的普遍模型,可以在任何支持网络通信的操作系统中运行,一种新的web应用程序分支,可以发布.定位通过web调用.它是一个应用组件,为其他应用程序提供数据与服务,各应用程序通过网络协议和规定的一些标准数据格式(http.xml.soap)来访问webservice,通过web service内部执行得到所需的结果. 二.关键的技术和一些规则: 1.xml:描述数据的标准方法. 2.soap:表示信息交换的协议. 3.wsdl:web服

java程序调用xfire发布的webService服务(二)

在上一篇的调用xfire发布的webService服务中,我只是从服务端返回了一个字符串给客户端,却没有测试从客户端传递数据给服务端.而实际应用中一般是不太可能只出现这样的应用场景的,因此我便更进一步测试了客户端传递数据给服务端. 因为相关的jar包在上一篇已经说过,因此便不再重复说明,这次的测试步骤如下: 一.测试向服务端传递字符串(重点在第二个): 为了进一步理解服务搭建,我重新写了一个服务端服务类: 接口: package xfireTest; public interface XFire

搭建web项目结合spring+cxf的webservice服务

服务端: 服务端和客户端都需要引入包 1 antlr-2.7.7.jar 2 aopalliance-1.0.jar 3 asm-3.3.jar 4 commons-collections-3.2.1.jar 5 commons-lang-2.6.jar 6 commons-logging-1.1.1.jar 7 cxf-2.4.2.jar 8 cxf-manifest.jar 9 cxf-xjc-boolean-2.4.0.jar 10 cxf-xjc-bug671-2.4.0.jar 11

xfire构建webservice项目步骤以及使用

简单搭建xfire开源软件的webservice开发及其步骤: 1.创建好一个web工程,引入xfire下的jar包,注意lib下的和xfire-all.jar 2.定义接口: Java代码   package com.iteye.webservice; public interface IHelloService { public String sayHelleWorld(String inputStr); }3.接口实现: Java代码   package com.iteye.webserv

XFire整合webservice

在网上找了很多关于XFire整合webservice相关的文章,发现都不齐全,让人学起来很费解,下面我给大家详细的讲解一下步骤,让初学者很容易掌握使用: 一.服务端编写 1.在Myeclipse中新建web project,我取名为XFireServer,这个自己随便取,在webRoot中的web-info的lib中导入XFire整合webservice相关jar包,在我的资源库中直接下载使用:http://download.csdn.net/detail/harderxin/8665367 我

myeclipse-简历webservice服务端和客户端

一.建立webservice服务端: 1.新建一个web service project,名称为webservice_server截图如下,点击finish. 2.选择工程,点击右键,选择new->other,选择myelipse中的webservice->Web Service,点击next, 此处的hello可在server.xml中匹配可见,点击finish,然后修改其生成的方法. 3.将该工程部署至Tomcat中,并启动该工程,在浏览器中输入http://localhost:8080/

solr之webservice服务兼容性升级

摘要:本人这次升级是一次比较大的升级.从底层搜索引擎solr4.8升级到solr6.4,由于solr底层从6.x开始以来的jdk必须指定为1.8,而且很多内部实现类都已经废弃或者干脆被砍掉了,导致很多实现类都需要进行兼容性的修改,第三方以来的库也需要跟着进行升级改造.例如IK词库加载,就需要手动编译修改源代码,具体可以参考我的另外一篇博客:http://www.cnblogs.com/liang1101/articles/6395016.html.本篇主要是从应用实现兼容修改以及项目发布遇到的问