`
wangchao_17915566
  • 浏览: 169539 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

xfire+webservice(服务器配置篇)

阅读更多

    今天终于把webservice搞完了,写个总结,我是在原来的项目中,进行webservice扩展的。

    首先在已完成的项目中加入webservice支持,如图

   

 

下一步

   

    接下来选择xfire包

   

    finish 完成。

    这样在你的项目中会产生xfire的工具包,这里完全可以自己将所需要的包放入lib下。

    由于我的原始项目是ssh的,这里就不再说了,接下来进行xfire配置。

    首先web.xml

  <!-- begin XFire 配置 -->
    <servlet>   
       <servlet-name>xfire</servlet-name>   
       <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    </servlet>   
    <servlet-mapping> 
       <servlet-name>xfire</servlet-name>
       <url-pattern>*.ws</url-pattern>
    </servlet-mapping>
    
 <!-- 配合Spring容器中XFire一起工作的Servlet-->  
   <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>

 接下来在src下面建立xfire-servlet.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
    "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
    <!-- 引入XFire预配置信息 -->
    <import resource="classpath:org/codehaus/xfire/spring/xfire.xml" />
    <!-- 定义访问的url -->
    <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
       <property name="urlMap">             
           <map>                 
              <entry key="/webservices.ws">                  
                  <ref bean="webservices" />                 
              </entry>             
           </map>         
       </property>     
    </bean>     

    <!-- 使用XFire导出器 -->
    <bean id="baseWebService" class="org.codehaus.xfire.spring.remoting.XFireExporter" lazy-init="false" abstract="true">
       <!-- 引用xfire.xml中定义的工厂 -->
       <property name="serviceFactory" ref="xfire.serviceFactory" />
       <!-- 引用xfire.xml中的xfire实例 -->
       <property name="xfire" ref="xfire" />
    </bean>
    
    <bean id="webservices" parent="baseWebService">
       <!-- 业务服务bean -->
       <property name="serviceBean" ref="webservicesService" />
       <!-- 业务服务bean的窄接口类 -->
       <property name="serviceClass" value="com.seavision.huayi2.service.IWebservice" />
    </bean>
</beans>

      这里说说为什么定义窄接口,原因xfire会导出spring整个接口,不能控制那些暴露给用户,这样做就不会将所有接口暴露给用户。

    下来说说,在项目下生成的services.xml,这个里面是按照spring2.0的命名空间配置的,所以改写这个xml

    

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

 这样就不会出错了。

 这样启动Tomcat,如果启动时抛以下异常,则删掉发布后lib中的spring1.2版本,原因与spring2冲突

 org.xml.sax.SAXParseException: Document root element "beans", must match DOCTYPE root "null"还有一些就不多说了。

 服务器启动后,在项目名后面键入/services 则出现wsdl,另存为即可。

 

 看看我的spring配置文件 ,和上面的xfire-servlet.xml对应起来。

<!-- webservice -->
	<bean id="iwebserviceTarget" class="com.seavision.huayi2.service.impl.WebserviceImpl">
         <property name="businsesslogDAO">
			<ref local="TBusinsessLogDAO"/>
		</property>
		<property name="sationmonthreportDAO">
			<ref local="TStationMonthReportDAO"/>
		</property>		
	</bean>
     <bean id="webservicesService" parent="txProxyTemplate">
		<property name="target" ref="iwebserviceTarget">
		</property>
	</bean>

 

    service即实现类如下,此代码仅为本人项目代码,仅供参考,切勿抄送

   

public interface IWebservice {
	/***************
	 * 取得基础数据表中所有数据,以基础数据建立日期的倒叙排序(HY0703)
	 * @throws DAOException 
	 * ******************/
	public List<TBusinsessLog> getYeWuList();
	/*******************************
	*增加工作站月工作计划信息
	********************************/
	public boolean insertYueJiHua(TStationMonthReport tStationMonthReport);
}

 实现类

public class WebserviceImpl implements IWebservice{
	TBusinsessLogDAO  businsesslogDAO;
	TStationMonthReportDAO    sationmonthreportDAO;

	
	public TStationMonthReportDAO getSationmonthreportDAO() {
		return sationmonthreportDAO;
	}


	public void setSationmonthreportDAO(TStationMonthReportDAO sationmonthreportDAO) {
		this.sationmonthreportDAO = sationmonthreportDAO;
	}


	public TBusinsessLogDAO getBusinsesslogDAO() {
		return businsesslogDAO;
	}


	public void setBusinsesslogDAO(TBusinsessLogDAO businsesslogDAO) {
		this.businsesslogDAO = businsesslogDAO;
	}


	public List<TBusinsessLog> getYeWuList(){
		System.out.println("调用ok");
		String hql="from TBusinsessLog as t order by t.cretateDate desc";
		List<TBusinsessLog> list= new ArrayList<TBusinsessLog>();
		try {
			List blist=businsesslogDAO.find(hql);
			for(int i=0;i<blist.size();i++){
				list.add((TBusinsessLog) blist.get(i));
			}
		} catch (DAOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return list;
	}
	
	/*******************************
	*增加工作站月工作计划信息
	********************************/
	public boolean insertYueJiHua(TStationMonthReport tStationMonthReport) {	
		System.out.println("调用ok");
		try {
			System.out.println("++++++++++"+tStationMonthReport.getStationMonthReportId());
			sationmonthreportDAO.save(tStationMonthReport);
			return true;
		} catch (DAOException e) {
			
			e.printStackTrace();
			return false;
		}

	}

 dao层就不说了,到此完毕。

  • 大小: 36.9 KB
  • 大小: 31.7 KB
  • 大小: 45.7 KB
分享到:
评论

相关推荐

    xfire+webService 客户端和服务器端的例子

    xfire+webService 客户端和服务器端的例子 xfire-distribution-1.2.6.zip 是xfire的包,网上可以下载的,本人已经下载完毕。 另附两个xfire的配制文档,供大家参考。...Xfire WebService服务器端配置详解.pdf

    xfire+spring+maven构建webservice服务器和客户端

    标题中的“xfire+spring+maven构建webservice服务器和客户端”揭示了本教程将围绕三个主要技术进行讨论:XFire、Spring和Maven。这三者都是Java开发中不可或缺的工具,尤其在构建Web服务方面。 XFire是早期的一个...

    java使用XFire调用webService接口

    "Java 使用 XFire 调用 webService 接口" 在本文中,我们将学习如何使用 XFire 框架在 Java 中调用 webService 接口。XFIRE 是一个基于 Java 的开源框架,用于简化 Web 服务的开发和集成。下面,我们将通过一个简单...

    xFire+spring webService 示例

    在"xFire+Spring WebService"的集成中,你可以使用Spring来配置和管理xFire,这样就可以利用Spring的强大功能,如自动装配、事务管理和安全性,同时利用xFire的Web服务处理能力。下面是一些关键步骤: 1. **配置...

    Xfire调用webservice无法传递参数问题

    标题“Xfire调用WebService无法传递参数问题”暗示了开发者在尝试使用Xfire框架时遇到了参数无法正常传递到Web服务的情况。这可能涉及到多个方面,如编码问题、序列化错误、类型不匹配或者配置不正确等。以下是一些...

    Spring+xFire实现webService

    Spring+xFire 实现 WebService 是一种在 Java 开发中创建和使用 Web 服务的方式,它结合了 Spring 框架的灵活性和 xFire(现在称为 Apache CXF)的 Web 服务功能。以下是对这个技术栈的详细说明: 1. **环境配置**...

    xfire实现webservice实例

    4. **启动XFire服务器**:使用XFire提供的启动器或Spring集成,启动服务监听指定端口。 5. **发布服务**:通过配置文件,XFire会自动扫描并发布实现的服务到指定的URL。 6. **消费Web服务**:使用XFire的客户端API...

    Xfire调用webservice无法接收到参数问题解决

    标题"Xfire调用webservice无法接收到参数问题解决"指出的核心问题是:当使用Xfire作为客户端调用Web服务时,服务端无法正确接收到传递的参数。这可能是由于多种原因引起的,如: 1. **XML序列化与反序列化问题**:...

    xfire发布webservice服务

    这篇博客文章“xfire发布webservice服务”可能详细介绍了如何使用XFire来构建并发布一个Web服务。 【描述】:“NULL” 虽然描述为空,但我们可以推测文章可能包含了从安装XFire到编写服务接口,再到部署和测试Web...

    基于 xfire 的 webservice 项目

    1. **安装与配置XFire**:首先,开发者可能介绍了如何下载XFire库,将其添加到项目的类路径中,以及如何配置相关的XML文件(如xfire-config.xml)来设定服务器和Web服务的行为。 2. **创建WebService接口**:在Java...

    xfire发布webservice

    通过上述步骤,我们可以清晰地看到如何利用XFire框架在服务器端发布一个简单的WebService,以及如何在客户端调用该服务。整个过程涉及项目创建、服务类编写、服务配置、以及客户端的调用,每个环节都是构建一个功能...

    XFire-WebService

    **XFire-WebService** 是一个基于Java的开源项目,它为游戏服务器提供了强大的网络通信支持。这个源码库不仅包含了可直接运行的代码,还包含了详细的开发文件和Service说明文档,便于开发者理解和使用。 首先,我们...

    axis和xfire配置webService的源代码

    配置XFire的基本流程: 1. 添加XFire的库到项目依赖。 2. 使用注解或XML配置定义服务接口和服务实现。 3. 部署服务到Web容器,如Tomcat。 4. 创建客户端代理类,调用服务。 在实际开发中,选择Axis还是XFire取决于...

    Xfire整合webservice jar包

    activation.jar commons-logging.jar jdom-1.0.jar spring.jar ...支持JSR181,可以通过JDK5配置Web服务; 高性能的SOAP实现; 服务器端、客户端代码辅助生成; 对Spring、Pico、Plexus等项目的支持等。

    webservice整合spring+xfire+Hibernate(包含代码+配置手册 测试通过)

    一步一步详细的配置说明。外加代码。jar包太大只好截图相送。...配置时候还遇到spring实现 客户端调用服务器端时候 注入失败 4.在服务器端向客户端做映射的时候失败 5.在服务器端获取非基本类转化问题

    使用XFire发布WebService

    【描述】: 本实例主要分为两个部分——发布WebService服务器端和调用WebService客户端。首先,我们将学习如何创建一个简单的服务接口和服务实现,然后通过XFire将其发布为SOAP Web服务。接着,我们将了解如何创建一...

Global site tag (gtag.js) - Google Analytics