XFire发布Web Services
来源:互联网 发布:赈灾晚会的数据统计 编辑:程序博客网 时间:2024/04/30 13:57
步骤
1. 把XFire依赖的jar包放入lib文件夹下。
2. 在web.xml中加入如下代码:
3. 编写程序代码
首先编写一个功能的接口类。
package com.yc.web.services;public interface HelloWorldService {
public void sayHello();
public String sayHello(String name);
public String genUUID();
}
再编写一个功能的接口实现类。
package com.yc.web.services;import java.util.UUID;
public class HelloWorldServiceImpl implements HelloWorldService {
public void sayHello() {
System.out.println("hello world");
}
public String sayHello(String name) {
return "hello "+name;
}
public String genUUID() {
return UUID.randomUUID().toString();
}
}
4在src下或者直接在webapp\WEB-INF下创建一个文件夹META-INF,在META-INF下边在创建一个目录xfire,在xfire目录里边创建一个services.xml文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans>
<service xmlns="http://xfire.codehaus.org/config/1.0">
<name>HelloXfire</name>
<namespace>http://www.freshpower.com.cn</namespace>
<serviceClass>
cn.com.freshpower.services.HelloXfire
</serviceClass>
<implementationClass>
cn.com.freshpower.services.HelloXfireImpl
</implementationClass>
</service>
</beans>
调用XFire发布的Web Service
服务以jar包形式发布的时候 直接调用当服务端以jar包形式发布,我们就相当于有了客户端的接口类和其自定义对象类。(无接口实现类)。
为了节省时间,我们就直接在1Server下新建一个Client,相当于拥有服务端的客户端。
代码如下:
//这个项目区访问 web service服务器
//创建一个服务的元数据
Service serviceModel =new ObjectServiceFactory().create(HelloWorldService.class);
XFire xfire=XFireFactory.newInstance().getXFire();//通过xfire工厂来创建一个xfire的对象
XFireProxyFactory factory=new XFireProxyFactory(xfire);//创建一个代理工厂
//定义要访问的服务的地址
String serviceUrl="http://localhost/testwebservice/services/helloworld";
HelloWorldService client=null;
client=(HelloWorldService) factory.create(serviceModel, serviceUrl);//xfire 功能是访问 web service 服务器 得到wsdl文件 解析wsdl 知道这个服务方法 返回
//面向这个接口将实现类创建起来
client.sayHello();
String result= client.sayHello("汤高");
System.out.println(result);
System.out.println(client.genUUID());
}
XFire 用wsimport 生成后客户端测试类代码
//创建Service类
HelloService server=new HelloService();
//获取XxxProType类对象
HelloServiceProType service =server.getHelloImplPort();
//调用接口中的方法
String result =service.sayHello();
System.out.println(result);
使用Xfire的Client包
//本地的写法
//String wsdl = "HelloXfire.wsdl"; // 对应的WSDL文件
//Resource resource = new ClassPathResource(wsdl);
//Client client = new Client(resource.getInputStream(), null); //根据WSDL创建客户实例
//URL的写法
Client client = new Client(new URL("http://localhost:8080/1Server/service/HelloXfire?wsdl"));
// 调用特定的Web Service方法
Object[] results = client.invoke("sayHello", new Object[]{"freshpower"});
System.out.println(results[0]);
}
}
- XFire发布Web Services
- XFire:轻松简单地开发Web Services
- XFire:轻松简单地开发Web Services
- XFire开发Web Services入门例子
- XFire+Spring发布Web Service
- Aras Innovator发布Web Services
- 使用XFire发布和调用web服务
- Use xfire to done your web services in java
- 使用Myeclipse开发基于xfire的Web Services 入门
- 使用Myeclipse开发基于xfire的Web Services 入门
- XFire + Spring构建Web Services服务器端(一)
- XFire + Spring构建Web Services服务器端(二)
- tomcat下搭建简单的xfire web services项目
- tomcat和websphere下调用xfire web services
- 使用XFire进行web services开发有三种方式:
- Oracle REST Data Services (ORDS) 发布 RESTful Web Services 教程
- 如何解决发布Web services后无法访问
- Spring整合CXF发布Web Services
- HDOJ 2401 Baskets of Gold Coins
- Java基础知识1
- 用户注册信息的验证与数据回显
- Cordova 5.1.1在Mac终端创建iOS工程并添加插件
- 关于Scroller的学习及相关的知识笔记get
- XFire发布Web Services
- 移动开发的软件开发生命周期介绍(一)
- 杭州电子科技大学acm--2090
- 【软考】-数据库
- Android:对ListView原理的理解
- 简单理解Java异常处理机制
- PHP的常量及变量
- [LeetCode-88] Merge Sorted Array(合并有序数组)
- KNN的MATLAB实现