第一步:建一个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 接口" ...我们了解了服务端和客户端的开发步骤,并了解了使用 XFire 调用 webService 接口的优点。通过本文,我们可以更好地理解和应用 XFire 框架,提高 Web 服务的开发和集成效率。
三、XFire实现Web服务的步骤 1. **创建服务接口**:首先,我们需要定义一个Java接口,这个接口将代表我们的Web服务。接口中的方法就是服务提供的操作。 ```java public interface HelloWorld { String sayHello...
虽然描述为空,但我们可以推测文章可能包含了从安装XFire到编写服务接口,再到部署和测试Web服务的完整步骤。XFire的核心特性包括自动代码生成、强大的注解支持以及对各种协议(如HTTP、JMS)的集成。 【标签】:...
这个案例中的压缩包文件可能包含了上述所有步骤的源代码示例,包括Spring配置文件、Java接口和实现类,以及可能的测试脚本。通过学习和分析这些文件,你可以更好地理解Spring和XFire如何协同工作,以及如何在实际...
这个基于XFire的WebService项目,可能是为了演示如何利用XFire框架来构建和部署Web服务,以及如何与其他系统进行交互。 【描述】:虽然描述为空,但我们可以推断,这个项目可能包括了以下几个关键步骤和概念: 1. ...
配置Axis通常包括以下步骤: 1. 安装并配置Axis环境。 2. 创建Web服务接口和实现。 3. 使用Axis工具生成服务部署描述符(WSDL文件)。 4. 将服务部署到Axis服务器。 5. 创建客户端代码,调用Web服务。 **XFire** ...
本教程将详细讲解如何使用XFire来创建和消费一个简单的WebService。 首先,我们需要理解什么是XFire。XFire(现已被Apache CXF项目吸收)是一个基于Java的Web服务栈,它简化了SOAP(简单对象访问协议)和WS-*(Web...
1. **部署项目**:确保Tomcat服务器已正确配置,并将项目部署到Tomcat中。 2. **启动服务器**:启动Tomcat服务器。 3. **测试接口**:在MyEclipse中选择工具栏上的`Launch SOAP Web Service Explorer`,在Web ...
在这个实例中,`MyEclipse下XFire开发Webservice实例.doc`文件应该包含了详细的步骤说明和源码示例,帮助读者更好地理解和实践这个过程。通过阅读文档和动手操作,开发者可以快速掌握XFire的使用技巧,从而在实际...
通过上述步骤,我们可以清晰地看到如何利用XFire框架在服务器端发布一个简单的WebService,以及如何在客户端调用该服务。整个过程涉及项目创建、服务类编写、服务配置、以及客户端的调用,每个环节都是构建一个功能...
6. 文件"Xfire建立WebService.doc":这个文档很可能包含了详细的步骤指导、示例代码或最佳实践,用于帮助开发者理解和实现Xfire的WebService。 7. 测试与调试:使用工具如 SoapUI 或 Postman 对WebService进行测试...
通过以上步骤,我们成功地使用XFire发布了WebService并进行了客户端调用。XFire的强大之处在于其易于使用和丰富的功能集,可以方便地处理复杂的Web服务交互。在实际项目中,还可以利用XFire进行更高级的配置,例如...
这篇博客“XFire发布WebService方法如果返回的是LIST的处理”探讨了在使用XFire时,如何正确处理Web服务方法返回一个List对象的情况。 首先,我们要理解Web服务的基本工作原理。Web服务通常基于SOAP(Simple Object...
【XFire建立Webservice实例详解】对于初学者来说,理解并构建一个Web Service是一个重要的学习步骤,而XFire作为一款曾经流行的开源框架,提供了一种简单的方法来创建和部署Web Service。本文将详细介绍如何利用...
在Spring配置中,我们可以通过以下步骤来配置XFire: 1. 引入XFire的Bean定义:在Spring的XML配置文件中,你需要导入XFire的相关bean,例如`XFireServiceFactoryBean`,它负责创建并管理Web服务实例。 ```xml ...
XFire Webservice是一个基于Java的开源工具,它简化了创建、部署和消费Web服务的过程。在深入探讨这个完整实例之前,我们首先需要了解Web服务的基本概念。Web服务是一种通过网络进行通信的应用程序接口(API)。它们...
2. **安装与配置**:详细步骤指导如何下载、安装和配置XFire环境,包括所需的依赖项和系统需求。 3. **创建Web服务**:解释如何使用XFire创建一个新的Web服务,可能涉及编写服务接口、实现和服务端点。 4. **部署...
下面我们将详细探讨使用Xfire开发Web服务的基本步骤。 1. **项目准备** 首先,你需要创建一个新的Web工程,命名为"xfire"。为了支持Xfire的功能,需要导入必要的依赖库,如xfire-core-1.26.jar。这个库包含了Xfire...
在XFire中实现WebService的基本步骤包括: 1. 创建服务接口:使用Java注解或XML配置文件定义服务接口和方法。 2. 实现服务接口:编写具体的业务逻辑代码。 3. 配置XFire:配置服务端点、绑定等信息。 4. 发布服务:...