在使用 xfire 编写 webservice 服务端代码(java)的时候,有2个问题一直在困扰着,上网找了半天,也没找到答案,可能是查找的描述不正确吧。
在这里问各位大虾。
配置文件配置如下:
applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util" xmlns:p="http://www.springframework.org/schema/p" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd" default-autowire="byName"> <!-- 数据源 --> <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> <property name="dataSource"> <ref bean="dataSource" /> </property> </bean> <!-- DAO配置 --> <bean id="dao" class="com.techstar.common.BaseDao"> <property name="jdbcTemplate" ref="jdbcTemplate" /> </bean> <!-- 事务配置 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource"> <ref bean="dataSource" /> </property> </bean> <!-- xfire配置 --> <!-- 需要import下面这个xml文件 --> <import resource="classpath:org/codehaus/xfire/spring/xfire.xml" /> <!-- WebService Impl WebService接口的实现类--> <bean id="userServiceImp" class="com.techstar.service.webserviceDemo.impl.UserServiceImp"> <property name="userdao" ref="userDao"/> </bean> <!-- end --> <bean id="userService" class="org.codehaus.xfire.spring.remoting.XFireExporter" parent="baseWebService"> <!-- WebService的名字 --> <property name="xfire" ref="xfire" /> <property name="serviceBean" ref="userServiceImp" /> <!-- WebService的实现类bean --> <property name="serviceClass" value="com.techstar.service.webserviceDemo.service.UserService" /> <property name="inHandlers"> <list> <ref bean="domInHandler"/> <ref bean="addressingHandler"/> </list> </property> <property name="outHandlers"> <list> <ref bean="domOutHandler"/> <ref bean="addressingOutHandler"/> </list> </property> <!--普通的用户名密码的方式进行WebService的验证--> </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="domInHandler" class="org.codehaus.xfire.util.dom.DOMInHandler"/> <bean id="domOutHandler" class="org.codehaus.xfire.util.dom.DOMOutHandler"/> <bean id="addressingHandler" class="com.techstar.common.interceptor.SoapInHandler"> <property name="ipFilter" value="0" /> <!-- 是否对IP进行校验 1:校验 0:不校验 --> <property name="ip" value="127.0.0.1;localhost" /> <!-- 允许访问的ip地址,以;隔开 --> </bean> <bean id="addressingOutHandler" class="com.techstar.common.interceptor.SoapOutHandler"/> <tx:annotation-driven transaction-manager="transactionManager" proxy-target-class="true" /> </beans>
现有如下2个问题请教:
1. 怎样在<soapenv:Header></soapenv:Header> 中加上自定义的元素?
服务端wsdl地址是 http://localhost:9002/techstar_application/servlet/XFireServlet/UserService?wsdl
如,我用soapUI连接我的webservice服务端后生成的xml如下
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://service.webserviceDemo.service.techstar.com" xmlns:dom="http://domain.webserviceDemo.service.techstar.com"> <soapenv:Header/> <soapenv:Body> <ser:addUser> <ser:user> <!--Optional:--> <dom:userAge>?</dom:userAge> <!--Optional:--> <dom:userId>?</dom:userId> <!--Optional:--> <dom:userName>?</dom:userName> <!--Optional:--> <dom:userPassword>?</dom:userPassword> <!--Optional:--> <dom:userSex>?</dom:userSex> </ser:user> <ser:reqSeq>?</ser:reqSeq> </ser:addUser> </soapenv:Body> </soapenv:Envelope>
比如需要在 <soapenv:Header/> 中加入reqTime和reqSequence:
<soapenv:Header>
<dom:reqTime></dom:reqTim>
<dom:reqSequence></dom:reqSequence>
</soapenv:Header>
2. 在我的webservice服务端程序中,有2个或多个 service,我想将这多个service整合到一个 wsdl 地址中,是否可行?如果可行,应该怎么做?
即,只通过一个wsdl地址,就可以访问不同的 service 接口。
相关推荐
在本文中,我们将深入探讨Xfire调用Web服务时遇到的参数传递问题以及解决策略。 首先,让我们了解Web服务的基本概念。Web服务基于SOAP(Simple Object Access Protocol)协议,通过HTTP协议进行通信,使得不同的...
压缩包中的"wsbook"可能是xfire相关文档或教程的集合,可能包含了关于xfire的API文档、开发指南、或者是用户手册等内容。这些文档对于想要基于xfire进行二次开发或者了解xfire工作原理的人来说是非常宝贵的资源。 ...
xfire是一个早期流行的开源Web服务框架,主要用于构建SOAP(简单对象访问协议)和RESTful(Representational State Transfer)服务。这个框架使得Java开发者能够轻松地创建、部署和消费Web服务。xfire依赖于一系列的...
标题"Xfire调用webservice无法接收到参数问题解决"指出的核心问题是:当使用Xfire作为客户端调用Web服务时,服务端无法正确接收到传递的参数。这可能是由于多种原因引起的,如: 1. **XML序列化与反序列化问题**:...
《Xfire全方位解析:1.2.6版本的全面探讨》 Xfire,这款曾经在游戏社区中广受欢迎的即时通讯软件,以其独特的游戏整合功能和社交特性,为玩家提供了便捷的游戏内通信和社区交流平台。本文将深入探讨Xfire 1.2.6这一...
为了更好地理解和使用Xfire API,开发者可以参考提供的帮助文档,文档中通常会包含API接口的详细说明、示例代码以及常见问题解答。对于初学者,理解每个API方法的功能和参数、以及如何正确构造HTTP请求是非常重要的...
这个问题在标题“cxf和xfire的jar包冲突解决”中得到了明确指出。 Apache CXF是一个全面的服务开发框架,它支持SOAP、RESTful Web服务,以及多种协议和绑定。而XFire是CXF的前身,也是一个强大的Web服务框架,但它...
**XFire v1.99:WebService开发框架详解** XFire,全称为XFire Integration Library,是一个基于Java的开源框架,专门用于构建和部署Web服务。这个“XFire最高版本”指的是XFire项目的最终或最优化的版本,它提供了...
进行WebService开发中所用到的xfire所有相关包如:xfire-jsr181-api-1.0-M1.jar、xfire-jaxws-1.2.6.jar、xfire-java5-1.2.6.jar、xfire-core-1.2.6.jar、xfire-annotations-1.2.6.jar、xfire-aegis-1.2.6.jar、...
通过查看源代码,开发者可以深入理解XFire的工作机制,进行定制化开发,解决特定场景下的问题,或优化性能。源代码的开放性也是开源项目的一大优势,促进了技术的交流与进步。 再者,`xfire-distribution-1.2.6.zip...
【XFire创建的WebService】是基于Java平台的开源框架,用于构建和消费Web服务。它在Web服务领域提供了一个轻量级、高性能的选择,尤其适合快速开发。在本例中,我们将探讨如何使用XFire来创建一个简单的WebService...
以下是关于使用Xfire实现HTTPS调用WebService接口的一些详细步骤和知识点: 1. **环境准备**:首先,你需要安装Java Development Kit (JDK) 和Eclipse IDE。然后,将提供的jar包导入到Eclipse项目的类路径中,这些...
在本案例中,"Xfire的client.zip"是一个包含了Xfire客户端代码的压缩包,主要用于调用Web服务。 Xfire客户端代码是实现与Xfire服务器通信的代码库,它可能包含了多种语言的实现,如Java、C#或Python等。这些代码...
"Java 使用 XFire 调用 webService 接口" 在本文中,我们将学习如何使用 XFire 框架在 Java 中调用 webService 接口。XFIRE 是一个基于 Java 的开源框架,用于简化 Web 服务的开发和集成。下面,我们将通过一个简单...
1、以下四个类调用了XmlSchema-1.1.jar包 因与cxf包xmlschema-core-*.jar... xfire-all-1.2.6-incomplete.jar 替换 xfire-all-1.2.6.jar 3、XmlSchema-1.1.jar 可以与 xmlschema-core-*.jar 共存避开同路径同名类冲突
6. **异常处理**:在调用Web服务时,可能会遇到网络问题或服务端错误,XFire会将这些异常封装成特定的Java异常,方便开发者捕获并处理。 7. **日志和调试**:为了调试和优化,XFire支持日志记录,开发者可以通过...
【xfire myeclipse10包】是一款专为MyEclipse10集成开发环境设计的XFire插件安装包。XFire是一款强大的Java Web服务框架,它提供了对Web服务的全面支持,包括创建、部署和消费Web服务的能力。在MyEclipse这样的集成...
- 确保 XFire 版本与 Spring 版本兼容,以避免兼容性问题。 - 测试时,可以使用 SOAP UI 或类似的工具来调用 Web 服务,验证其功能。 - 考虑使用 CXF 或其他现代的 Web 服务框架,因为 XFire 已经不再活跃维护,而 ...
XFire,全称为XML Fire,是一款历史悠久的开源Java框架,主要用作服务导向架构(SOA)中的Web服务实现工具。它允许开发者快速构建、部署和管理基于HTTP的服务,支持SOAP和RESTful通信协议。在Java开发中,XFire通过...