`

xfire配置webService的方法步骤

 
阅读更多
第一步:建一个secn的services.xml文件  META-INF > xfire > services.xml
<?xml version="1.0"?>
<beans xmlns="http://xfire.codehaus.org/config/1.0">
	<!-- 这个是xfirer的配置文件 -->
	<service>
		<!-- 这个是xfire的名字 -->
		<name>HelloWorldService</name>
		<!-- 这个是名字空间 -->
		<namespace>urn:helloworld:service:xfire:itcast:cn</namespace>
		<!-- 这个是接口 -->
		<serviceClass>cn.itcast.xfire.service.HelloWorld</serviceClass>
		<!-- 这个是实现类 -->
		<implementationClass>cn.itcast.xfire.service.HelloWorldService</implementationClass>
	</service>	
</beans>

第二步:建一个web.xml文件
<!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>
	<servlet>
		<servlet-name>XFireServlet</servlet-name>
		<display-name>XFire Servlet</display-name>
		<servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class>
		<!-- 通过初始化参数改变xfire配置文件的位置 ;如果改改了.那么services.xml就要和web.xml在一起-->
		<!-- 
			<init-param>
				<param-name>config</param-name>
				<param-value>services.xml</param-value>
			</init-param>
		-->
	</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>


测试方法一:
@Test
	public void testXfire1() throws Exception{
		Service service = new Service();
		Call call = (Call) service.createCall();
		String url = "http://localhost:8080/secn/services/HelloWorldService" ;
		call.setTargetEndpointAddress(new URL(url));
		call.setOperationName("sayHello");
		System.out.println(call.invoke(new Object[]{"tom"}));
	}

测试方法二:这个url地址一定要加上?wsdl并在 new Object[]{"tom"})[0]这里要加上[0]
@Test
	public void testXfire2() throws Exception{
		String url = "http://localhost:8080/secn/services/HelloWorldService?wsdl" ;
		Client c = new Client(new URL(url));
		System.out.println(c.invoke("sayHello", new Object[]{"tom"})[0]);
	}
测试方法三:
@Test
	public void testXfire3() throws Exception{
		String url = "http://localhost:8080/secn/services/HelloWorldService" ;
		ObjectServiceFactory serviceFactory = new ObjectServiceFactory();
		org.codehaus.xfire.service.Service serviceModel = serviceFactory.create(IHelloWorld.class);
		XFireProxyFactory proxyFactory = new XFireProxyFactory();
		IHelloWorld hw = (IHelloWorld)proxyFactory.create(serviceModel,url);
		System.out.println(hw.sayHello("Tome"));
	}

第三步:
<!-- jsr181的配置,是对于用注释方式生成webService -->
	<service>
		<serviceClass>cn.com.secn.xfire.service.jsr181.CustomerService</serviceClass>
		<!--  serviceFactory>jsr181</serviceFactory -->
		<!-- 这里用的是#号引用下面的Bean -->
		<serviceFactory>#jsr181ServiceFactory</serviceFactory>

	</service>

	<bean id="config" class="org.codehaus.xfire.aegis.type.Configuration">
		<property name="defaultExtensibleElements" value="false" />
		<property name="defaultExtensibleAttributes" value="false" />
		<property name="defaultNillable" value="false" />
		<property name="defaultMinOccurs" value="1" />
	</bean>

	<bean name="jsr181ServiceFactory" class="org.codehaus.xfire.annotations.AnnotationServiceFactory">
		<constructor-arg ref="xfire.transportManager" index="0" />
		<constructor-arg ref="config" index="1" type="org.codehaus.xfire.aegis.type.Configuration" />
	</bean>

CostomerService类:
//在这里也可以添服务名
@WebService
public class CustomerService {
	private List<Customer> customers = new ArrayList<Customer>();

	public CustomerService() {
	}

	//header = true是以头部发送方式
	@WebMethod
	@WebResult(name = "Customers") //返回类型
	public Collection<Customer> getCustomers(
			@WebParam(name = "UserToken", header = true)
			UserToken auth) {
		authorize(auth);

		return customers;
	}

	private void authorize(UserToken auth) {
		System.out.println(auth.getUsername());
		System.out.println(auth.getPassword());
	}

	@WebMethod
	public String addCustomer(@WebParam(name = "UserToken", header = true)
	UserToken auth, @WebParam(name = "customer") Customer customer) {
		authorize(auth);

		customers.add(customer);

		return "tommm";
	}
}









 

分享到:
评论

相关推荐

    java使用XFire调用webService接口

    "Java 使用 XFire 调用 webService 接口" ...我们了解了服务端和客户端的开发步骤,并了解了使用 XFire 调用 webService 接口的优点。通过本文,我们可以更好地理解和应用 XFire 框架,提高 Web 服务的开发和集成效率。

    xfire实现webservice实例

    三、XFire实现Web服务的步骤 1. **创建服务接口**:首先,我们需要定义一个Java接口,这个接口将代表我们的Web服务。接口中的方法就是服务提供的操作。 ```java public interface HelloWorld { String sayHello...

    xfire发布webservice服务

    虽然描述为空,但我们可以推测文章可能包含了从安装XFire到编写服务接口,再到部署和测试Web服务的完整步骤。XFire的核心特性包括自动代码生成、强大的注解支持以及对各种协议(如HTTP、JMS)的集成。 【标签】:...

    spring+xfire( 编写webservice完整配置+案例)

    这个案例中的压缩包文件可能包含了上述所有步骤的源代码示例,包括Spring配置文件、Java接口和实现类,以及可能的测试脚本。通过学习和分析这些文件,你可以更好地理解Spring和XFire如何协同工作,以及如何在实际...

    基于 xfire 的 webservice 项目

    这个基于XFire的WebService项目,可能是为了演示如何利用XFire框架来构建和部署Web服务,以及如何与其他系统进行交互。 【描述】:虽然描述为空,但我们可以推断,这个项目可能包括了以下几个关键步骤和概念: 1. ...

    axis和xfire配置webService的源代码

    配置Axis通常包括以下步骤: 1. 安装并配置Axis环境。 2. 创建Web服务接口和实现。 3. 使用Axis工具生成服务部署描述符(WSDL文件)。 4. 将服务部署到Axis服务器。 5. 创建客户端代码,调用Web服务。 **XFire** ...

    xfire构建WebService例子

    本教程将详细讲解如何使用XFire来创建和消费一个简单的WebService。 首先,我们需要理解什么是XFire。XFire(现已被Apache CXF项目吸收)是一个基于Java的Web服务栈,它简化了SOAP(简单对象访问协议)和WS-*(Web...

    Java使用XFire调用WebService接口.docx编程资料

    1. **部署项目**:确保Tomcat服务器已正确配置,并将项目部署到Tomcat中。 2. **启动服务器**:启动Tomcat服务器。 3. **测试接口**:在MyEclipse中选择工具栏上的`Launch SOAP Web Service Explorer`,在Web ...

    用XFire开发Webservice简单实例

    在这个实例中,`MyEclipse下XFire开发Webservice实例.doc`文件应该包含了详细的步骤说明和源码示例,帮助读者更好地理解和实践这个过程。通过阅读文档和动手操作,开发者可以快速掌握XFire的使用技巧,从而在实际...

    xfire发布webservice

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

    Xfire建立WebService.zip

    6. 文件"Xfire建立WebService.doc":这个文档很可能包含了详细的步骤指导、示例代码或最佳实践,用于帮助开发者理解和实现Xfire的WebService。 7. 测试与调试:使用工具如 SoapUI 或 Postman 对WebService进行测试...

    使用XFire发布WebService

    通过以上步骤,我们成功地使用XFire发布了WebService并进行了客户端调用。XFire的强大之处在于其易于使用和丰富的功能集,可以方便地处理复杂的Web服务交互。在实际项目中,还可以利用XFire进行更高级的配置,例如...

    XFire发布WebService方法如果返回的是LIST的处理

    这篇博客“XFire发布WebService方法如果返回的是LIST的处理”探讨了在使用XFire时,如何正确处理Web服务方法返回一个List对象的情况。 首先,我们要理解Web服务的基本工作原理。Web服务通常基于SOAP(Simple Object...

    XFire建立Webservice实例,入门级别,适合初学者

    【XFire建立Webservice实例详解】对于初学者来说,理解并构建一个Web Service是一个重要的学习步骤,而XFire作为一款曾经流行的开源框架,提供了一种简单的方法来创建和部署Web Service。本文将详细介绍如何利用...

    Spring XFire 实现webService

    在Spring配置中,我们可以通过以下步骤来配置XFire: 1. 引入XFire的Bean定义:在Spring的XML配置文件中,你需要导入XFire的相关bean,例如`XFireServiceFactoryBean`,它负责创建并管理Web服务实例。 ```xml ...

    xfire webservice 完整实例下载

    XFire Webservice是一个基于Java的开源工具,它简化了创建、部署和消费Web服务的过程。在深入探讨这个完整实例之前,我们首先需要了解Web服务的基本概念。Web服务是一种通过网络进行通信的应用程序接口(API)。它们...

    XFire_WebService开发例子.zip

    2. **安装与配置**:详细步骤指导如何下载、安装和配置XFire环境,包括所需的依赖项和系统需求。 3. **创建Web服务**:解释如何使用XFire创建一个新的Web服务,可能涉及编写服务接口、实现和服务端点。 4. **部署...

    xfire,webservice基本开发步骤

    下面我们将详细探讨使用Xfire开发Web服务的基本步骤。 1. **项目准备** 首先,你需要创建一个新的Web工程,命名为"xfire"。为了支持Xfire的功能,需要导入必要的依赖库,如xfire-core-1.26.jar。这个库包含了Xfire...

    XFire+WebService的jar包合集

    在XFire中实现WebService的基本步骤包括: 1. 创建服务接口:使用Java注解或XML配置文件定义服务接口和方法。 2. 实现服务接口:编写具体的业务逻辑代码。 3. 配置XFire:配置服务端点、绑定等信息。 4. 发布服务:...

Global site tag (gtag.js) - Google Analytics