Java WebService总结(使用xfire)
来源:互联网 发布:淘宝助理销售属性 编辑:程序博客网 时间:2024/06/07 21:06
1.下载需要的xfire包
打开ie,输入
http://localhost:8080/TestXFire/services/
出现
下载地址:http://xfire.codehaus.org/Download,下载xfire-distribution-1.2.6.zip文件,并解压。
新建web项目,取名TestXFire,将解压目录下的xfire-all-1.2.6.jar和lib目录下的所有包导入到项目中。
2.创建类
使用接口的设计是一个好的实践,所以先创建接口:ITestService,代码如下:
package com.gdie.xfire.example;
//该接口提供一个方法,用于计算
public interface ITestService {
public int add(int p1, int p2);
}
创建接口实现类
package com.gdie.xfire.example;
public class TestService implements ITestService {
public int add(int p1, int p2) {
// TODO Auto-generated method stub
return p1 + p2;
}
}
3.创建META-INF文件夹
简便起见,将WebRoot下的META-INF文件夹复制到项目的src下,这样的话会在部署发布目录下web-inf下的classes下自动建立META-INF,而同时WebRoot下也有一个META-INF文件夹,这两个容易混淆,实际webservice下真正起作用的是web-inf下的classes下的web-inf下的META-INF,所以,关键是在项目的src下面有META-INF这个文件夹,并定义里面的内容,与WebRoot下META-INF无关。
然后在src下的META-INF建立xfire子文件夹,里面建立一名叫services.xml配置文件,配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://xfire.codehaus.org/config/1.0">
<service>
<name>TestService</name>
<namespace>http://com/gdie/xfire/example/ITestService</namespace>
<serviceClass>com.gdie.xfire.example.ITestService</serviceClass>
<implementationClass>com.gdie.xfire.example.TestService</implementationClass>
</service>
</beans>
<beans xmlns="http://xfire.codehaus.org/config/1.0">
<service>
<name>TestService</name>
<namespace>http://com/gdie/xfire/example/ITestService</namespace>
<serviceClass>com.gdie.xfire.example.ITestService</serviceClass>
<implementationClass>com.gdie.xfire.example.TestService</implementationClass>
</service>
</beans>
注意:包文件路径com.gdie.xfire.example.ITestService等需要正确对应。
关键是在src下面要有META-INF文件夹和里面的文件,否则会报找不到services.xml错误而加载不了项目。
4.修改web.xml
配置文件关键是定义XFireServlet,对应代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<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>/services/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/servlet/XFireServlet/*</url-pattern>
</servlet-mapping>
</web-app>
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<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>/services/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/servlet/XFireServlet/*</url-pattern>
</servlet-mapping>
</web-app>
至此,服务器端部署完毕。完整的项目文件结构如图:
将项目加载进tomcat并启动tomcat,无异常。
打开ie,输入
http://localhost:8080/TestXFire/services/
出现
表明部署成功,点wsdl可以看见一堆xml代码。
5.客户端测试
先将刚才建立的TestXFire整个项目打包成jar包(myeclipse的export),名为TestXFire.jar,再新建一个web项目TestXFireClient,导入xfire的包,和刚才的TestXFire工程的打包TestXFire.jar
在src下新建一个测试类,代码如下:
package com.gdie.xfire.test;
import org.codehaus.xfire.service.Service;
import org.codehaus.xfire.service.binding.ObjectServiceFactory;
import org.codehaus.xfire.client.XFireProxyFactory;
import com.gdie.xfire.example.ITestService;;
public class MyClient {
public static void main(String[] args) {
try{
Service serviceModel = new ObjectServiceFactory().create(
ITestService.class,"TestService","http://com/gdie/xfire/example/ITestService",null);
ITestService service = (ITestService) new XFireProxyFactory().create(
serviceModel,"http://localhost:8080/TestXFile/services/TestService");
System.out.println("返回值是:"+service.add(5, 8));
}catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
运行,输出结果是:
返回值是:13
则说明客户端成功。
至此,webservice部署测试例子成功。
返回值是:13
则说明客户端成功。
至此,webservice部署测试例子成功。
0 0
- Java WebService总结(使用xfire)
- Java WebService 使用实例(xfire)
- 使用Xfire构建Java WebService应用
- JAVA 使用Xfire调用webservice interface
- java里使用xfire发布webservice
- Java使用XFire调用WebService接口
- JAVA中使用XFire调用WebService接口
- Java使用XFire调用WebService接口
- Java使用XFire调用WebService接口
- JAVA中使用XFire调用WebService接口
- xfire 做webservice总结
- xfire webservice 总结
- 使用xfire建立webservice
- 使用XFire开发WebService
- WebService XFire 使用
- 使用xfire发布WebService
- 使用XFire开发WebService
- 使用XFire开发WebService
- AV-Test :趋势科技移动安全防护持续表现优异
- Spring的事务管理
- 一些看过的怕忘记的链接
- step3-异步编程模式
- Android--------从一个包中的Avtivity创建另外另外一个包的Context
- Java WebService总结(使用xfire)
- C++Builder
- 一个最简单的源Filter的编写步骤
- IOS 关于延迟performselector()和取消延迟执行函数
- HIVE WEB INTERFACE使用说明
- 图像数据到网格数据-2——改进的SMC算法
- ASP.NET web浏览指定路径的文件夹下的文件,包括doc,excel,html,jpg
- 使用存储过程和Event事件为Mysql表自动建立分区
- ios ---12306学习