想往架构师方向发展,他们说soa必须学会WEB SERVICE。以下简称ws.
鄙人用myeclipse 6.5
1、服务端:
创建web项目。
右键myeclipse add web service ......
增加了一些jar包进来,主要是xfire和其他的东西
会让我们自己设置web service配置文件的路径,还有web.xml里面配置ws的url。
web.xml生成了这个摸样:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.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>/testyqf/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
自己定义一个接口:
package com.yuan.ws;
import com.yuan.pojo.User;
public interface WebService {
public User login(User user);
}
弄一个简单的实现类:
package com.yuan.ws.impl;
import com.yuan.pojo.User;
import com.yuan.ws.WebService;
public class WebServiceImpl implements WebService {
public User login(User user) {
if(user.getUserName().equals("yqf")){
return new User("1","yqfright","1234");
}else {
return new User("1","yqfww","12344");
}
}
}
我的pojo类:
package com.yuan.pojo;
public class User {
private String userId;
private String userName;
private String userPwd;
public User() {
super();
// TODO Auto-generated constructor stub
}
public User(String userId, String userName, String userPwd) {
super();
this.userId = userId;
this.userName = userName;
this.userPwd = userPwd;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserPwd() {
return userPwd;
}
public void setUserPwd(String userPwd) {
this.userPwd = userPwd;
}
}
这个时候,你必须自己配置ws了,接口以及实现类:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xfire.codehaus.org/config/1.0">
<service>
<name>login</name>
<serviceClass>com.yuan.ws.WebService</serviceClass>
<implementationClass>com.yuan.ws.impl.WebServiceImpl</implementationClass>
<style>wrapped</style>
<use>literal</use>
<scope>application</scope>
</service>
</beans>
发布tomcat启动 哈哈
浏览器访问地址:http://127.0.0.1:8090/TestServer/testyqf/
会显示可用的ws类型,选择一个就是ws的wsdl。什么是wsdl?就是描述我们提供对外功能的一个xml文档,一般高手可用看文档然后在客户端编写,我现在还不会,看那个玩意受罪。
2、客户端:
随便写一个类:
import java.net.MalformedURLException;
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 com.yuan.pojo.User;
import com.yuan.ws.WebService;
public class Test {
/*public static void main(String[] args) {
Service srvcModel = new ObjectServiceFactory().create(IHelloWorldService.class);
XFireProxyFactory factory = new XFireProxyFactory(XFireFactory.newInstance().getXFire());
String helloWorldURL ="http://127.0.0.1:8090/WebService/services/HelloWorldService";
try{
IHelloWorldService srvc = (IHelloWorldService)factory.create(srvcModel, helloWorldURL);
String result = srvc.example("hello world");
System.out.print(result);
} catch (MalformedURLException e){
e.printStackTrace();
}
} */
public static void main(String[] args) {
Service srvcModel = new ObjectServiceFactory().create(WebService.class);
XFireProxyFactory factory = new XFireProxyFactory(XFireFactory.newInstance().getXFire());
String helloWorldURL ="http://127.0.0.1:8090/TestServer/testyqf/login";
try{
WebService srvc = (WebService)factory.create(srvcModel, helloWorldURL);
User retUser = srvc.login(new User("1","yqf","123"));
System.out.print(retUser.getUserName());
} catch (MalformedURLException e){
e.printStackTrace();
}
}
}
这里需要把服务器的接口拷贝过来,补考呗也可用,build path把服务器的project 引入进来。
运行,就出来结果啦。
分享到:
相关推荐
【XFire WebService简介】 XFire是一款开源的Java Web服务框架,它允许开发者快速、简单地创建和...通过这个例子,你可以逐步了解Web服务的基本概念,掌握XFire的使用技巧,并在此基础上探索更复杂的Web服务应用场景。
这个小实例有server和client的代码,server直接用myeclipse导入,然后添加spring2.0 aop和core,xfire1.2即可.client也是直接导入项目,然后导入jax-ws2.1api和jax-ws2.1 runtime libraries即可.这些包通过点击项目...
【使用XFire编写web service的上传文件例子详解】 在IT领域,Web Service是一种基于标准的、平台无关的方式,用于应用程序之间的交互。XFire是Apache CXF的前身,它是一个轻量级的Java框架,用于构建和消费Web服务...
1. **XFire介绍**:XFire是一个基于Java的轻量级Web服务框架,它支持SOAP 1.1/1.2、WS-I Basic Profile 1.1、WSDL 1.1等标准,并且与Spring框架有很好的集成。 2. **安装与配置**:首先,你需要在项目中添加XFire的...
XFire支持SOAP 1.1和SOAP 1.2标准,并且能够与多种Web服务规范(如WS-I Basic Profile)兼容。 #### 准备工作 在开始之前,确保安装了以下软件: - Java Development Kit (JDK) 5 或更高版本。 - Apache Tomcat ...
XFire通过JAXB(Java Architecture for XML Binding)和XMLBeans来处理XML序列化,支持SOAP 1.1和1.2,以及WS-I Basic Profile 1.1。它还提供了一种简单的API,使得开发者可以快速地创建和部署Web服务。 二、Spring...
这个例子展示了XFire的灵活性和便捷性,使得开发者可以快速地将Java应用扩展为Web服务,或利用已有的Web服务进行集成。 **与现代框架的比较**: 虽然XFire在当时是一个强大的工具,但随着技术的发展,它已经被更...
在MyEclipse中,可以通过右键点击工程,选择“Add Web Service Capabilitise…”来添加XFire 1.2 Core libraries,这些库包含了XFire Spring整合所需的所有jar包。 接着,我们需要定义Web服务的接口。在这个例子中...
xfire插件就是这样的一个例子,它扩展了myeclipse,使得在IDE内部就可以处理xfire相关的Web服务开发任务。 4. **Web服务**:Web服务是一种通过网络进行通信的应用程序接口(API)。它们基于开放标准,如SOAP和WSDL...
在这个“用Web Service写的一个小例子”中,我们将探讨如何利用XFire框架来创建和使用Web服务,并通过JUnit进行测试。 首先,Web Service的核心是简单对象访问协议(SOAP),这是一种XML格式的协议,用于在分布式...
值得注意的是,如果项目中缺少XFire的客户端库,我们可以通过MyEclipse的"工程属性" -> "Java构建路径" -> "添加库" -> "MyEclipse库" -> "XFire 1.2 HTTP客户端库"来引入。 当一切准备就绪,运行这个客户端程序,...
1.2. 使用场景 2. Spring 2.0 的新特性 2.1. 简介 2.2. 控制反转(IoC)容器 2.2.1. 更简单的XML配置 2.2.2. 新的bean作用域 2.2.3. 可扩展的XML编写 2.3. 面向切面编程(AOP) 2.3.1. 更加简单的AOP XML配置 2.3.2. 对@...
CXF这个名字来源于两个曾经流行的Java Web服务项目的合并:Celtix和XFire,CXF意在强调其对WS-*标准的支持以及XML和Web服务的融合。 **1. CXF 概述** Apache CXF允许开发者通过多种方式创建和消费Web服务,包括...
Apache CXF是一个开源的Web服务框架,它整合了Celtix和Xfire两个项目,提供了丰富的功能来帮助开发者构建SOAP 1.1、1.2以及RESTful HTTP等不同协议的服务。此外,CXF还支持XML/HTTP和CORBA(Common Object Request ...
Apache CXF是一个强大的开源Web服务框架,源自Celtix和XFire两个项目的合并,现在作为Apache软件基金会的顶级项目存在。它提供了全面的JAX-WS(Java API for XML Web Services)支持,允许开发者轻松地发布和使用Web...
Apache CXF,原名为XFire,是一个用于构建和服务消费的开源框架。它允许开发者以Java编程模型来创建和调用Web服务,提供了一种直观的方式来处理XML消息。CXF支持多种Web服务规范,包括WSDL(Web服务描述语言)、WS-I...
1.2. 使用场景 2. Spring 2.0 的新特性 2.1. 简介 2.2. 控制反转(IoC)容器 2.2.1. 更简单的XML配置 2.2.2. 新的bean作用域 2.2.3. 可扩展的XML编写 2.3. 面向切面编程(AOP) 2.3.1. 更加简单的AOP XML配置 ...