有了XFire框架实现WebService(一),就可以继续开发WebService的简单应用。
Webservice的服务端(WEB工程):
两个java bean类:
Course.java
package cn.com.bean;
public class Course {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
User.java
package cn.com.bean;
public class User {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
一个Service接口入口: IHelloService.java
package cn.com.service;
import java.util.List;
import cn.com.bean.Course;
import cn.com.bean.User;
public interface IHelloService {
public String sayHello(String t);
public Course choose(User u);
public List test(List t);
}
接口的实现类: HelloServiceImpl.java
package cn.com.service;
import java.util.ArrayList;
import java.util.List;
import cn.com.bean.Course;
import cn.com.bean.User;
public class HelloServviceImpl implements IHelloService {
public Course choose(User u){
System.out.println(u.getName());
Course c = new Course();
c.setName("Computer");
return c;
}
public String sayHello(String t) {
return "Hello,"+t;
}
public List test(List t) {
for(int i=0;i<t.size();i++){
System.out.println((String)t.get(i));
}
List list = new ArrayList();
Course c = new Course();
c.setName("English Reading");
list.add(c);
return list;
}
}
WebSevice定义描述文件: services.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xfire.codehaus.org/config/1.0">
<service>
<name>HelloService</name>
<namespace>my/HelloService</namespace>
<serviceClass>cn.com.service.IHelloService</serviceClass>
<implementationClass>cn.com.service.HelloServviceImpl</implementationClass>
</service>
</beans>
因为我们用到了List等集合类型,所以需要定义Mapping关系,文件名为:IHelloService.aegis.xml
<?xml version="1.0" encoding="UTF-8"?>
<mappings>
<mapping>
<method name="test">
<parameter index="0" componentType="java.lang.String" />
<return-type componentType="cn.com.bean.Course"/>
</method>
</mapping>
</mappings>
最后Web.xml文件添加XFire需要用到的Servlet:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>XFireServlet</servlet-name>
<servlet-class>org.codehaus.xfire.transport.http.XFireConfigurableServlet</servlet-class>
<load-on-startup>0</load-on-startup>
</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>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
客户端代码(一个java工程即可):
package test;
import java.net.MalformedURLException;
import java.util.ArrayList;
import java.util.List;
import org.codehaus.xfire.XFireFactory;
import org.codehaus.xfire.client.XFireProxyFactory;
import org.codehaus.xfire.service.Service;
import org.codehaus.xfire.service.binding.ObjectServiceFactory;
import cn.com.bean.Course;
import cn.com.bean.User;
import cn.com.service.IHelloService;
public class ClientTest {
public static void main(String[] args) throws MalformedURLException {
//Service:是一个服务端点,它的工作是处理XML消息
Service srvcModel = new ObjectServiceFactory().create(IHelloService.class);
/*XFireProxyFactory:
* 该工厂用来创建XFire SOAP客户端的远程对象,返回的实例将调用
* 远程对象的所有方法
*/
XFireProxyFactory factory = new XFireProxyFactory(XFireFactory.newInstance().getXFire());
String helloWorldURL = "http://localhost:8088/testWebService2/services/HelloService";
IHelloService service = (IHelloService)factory.create(srvcModel,helloWorldURL);
System.out.println(service.sayHello("Robin"));
User u = new User();
u.setName("RRRRR");
Course c = service.choose(u);
System.out.println(c.getName());
List list = new ArrayList();
list.add("test1");
list.add("test2");
List tempList = service.test(list);
for(int i=0;i<tempList.size();i++){
Course course = (Course)tempList.get(i);
System.out.println(course.getName());
}
}
}
分享到:
相关推荐
### MyEclipse 8.0 GA 下使用 Xfire 框架开发 WebService 实例 #### 一、WebService 服务端开发步骤 ##### 1. 建立 WebService Project - 在 MyEclipse 中创建一个新的 Web Service 项目,命名为 ProjectName。 -...
### XFire框架构建WebService应用详解 #### 一、XFire框架简介 XFire是一个轻量级的WebService框架,它提供了一种简单的方式来开发基于Java的Web服务和客户端应用程序。XFire支持SOAP 1.1和1.2协议,并且能够很好...
XFire是Java平台上一个曾经流行的开源框架,专门用于构建和消费Web服务。本实例将深入探讨如何利用XFire来实现Web服务。 一、XFire简介 XFire是Apache CXF项目的前身,它提供了一个轻量级、高性能的框架,用于创建...
Spring作为一个强大的框架,提供了全面的依赖注入和面向切面编程能力,而XFire是早先的Web服务实现,它允许开发者轻松地将Java接口转换为SOAP Web服务。在本教程中,我们将深入探讨如何使用Spring和XFire编写Web服务...
在本文中,我们将学习如何使用 XFire 框架在 Java 中调用 webService 接口。XFIRE 是一个基于 Java 的开源框架,用于简化 Web 服务的开发和集成。下面,我们将通过一个简单的例子,展示如何使用 XFire 调用 ...
总的来说,xfireDemo项目演示了如何在xfire框架下实现两种不同方式的身份验证机制,这对于理解Web服务的安全性和xfire的使用是非常有价值的。通过这个示例,开发者可以学习到如何在实际项目中应用这些技术,增强Web...
Spring+xFire 实现 WebService 是一种在 Java 开发中创建和使用 Web 服务的方式,它结合了 Spring 框架的灵活性和 xFire(现在称为 Apache CXF)的 Web 服务功能。以下是对这个技术栈的详细说明: 1. **环境配置**...
2. Xfire框架:Xfire是由Codehaus组织开发的,它简化了Java应用创建SOAP Web服务的过程。Xfire提供了强大的XML绑定能力,可以将Java类直接映射为SOAP消息,同时支持Spring框架的集成,使得Web服务的部署和管理更加...
XFire是Java实现WebService的一个框架,可以完成webservice服务的发布以及对发布接口的调用的全部jar包
总结来说,【XFire创建的WebService】是利用XFire框架构建Web服务的一个实例,这涉及到服务接口的定义、服务实现、XFire的配置、服务部署和测试。虽然XFire在当前的Web服务生态系统中可能不再是最优选,但它仍然是...
下面将详细解析如何利用XFire框架发布WebService,并通过一个具体的示例进行深入探讨。 ### XFire框架发布WebService #### 1. 服务器端设置 在服务器端,我们首先需要在开发环境中(本例使用MyEclipse)创建一个...
XFire是Java平台上一个曾经流行的开源框架,用于实现Web服务。本文将深入探讨如何使用XFire来创建和消费Web服务,以及它的工作原理。 **1. XFire简介** XFire是Apache CXF项目的前身,其主要目标是提供一种简单、高...
**Spring XFire 实现Web服务** 在Java世界中,Spring框架以其灵活性和强大的功能成为企业级应用开发的首选。而XFire(后被Apache CXF所吸收)则是一款高效的Web服务实现工具,它允许开发者轻松地创建和消费SOAP Web...
标题“Xfire调用WebService无法传递参数问题”暗示了开发者在尝试使用Xfire框架时遇到了参数无法正常传递到Web服务的情况。这可能涉及到多个方面,如编码问题、序列化错误、类型不匹配或者配置不正确等。以下是一些...
在本篇中,我们将聚焦于XFire,一个早期流行的Java WebService框架,用于构建和消费SOAP服务。 XFire,由Apache CXF的前身开发,是Java开发者创建高效、灵活的Web服务的一种工具。它提供了对SOAP、WSDL(Web服务...
这篇博客“Java使用XFire调用WebService接口”显然是讨论如何利用XFire这个开源框架来与Web服务交互。 XFire是Apache CXF项目的前身,它提供了一种简单的方式来创建和消费SOAP Web服务。XFire的强项在于其轻量级和...
XFire Webservice是一个基于Java的开源工具,它简化了创建、部署和消费Web服务的过程。在深入探讨这个完整实例之前,我们首先需要了解Web服务的基本概念。Web服务是一种通过网络进行通信的应用程序接口(API)。它们...