步骤

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相关推荐

  1. 基于Spring Boot应用Apache CXF发布Web Services服务

    记录:298 场景:使用Spring Boot应用Apache CXF发布Web Services服务,实现跨系统之间交互接口. 版本: JDK 1.8 Spring Boot 2.6.3 Apach ...

  2. 基于xfire发布web Service简单实例

    创建接口 package com.test.service; public interface CaculatorService {public int add(int a,int b);public ...

  3. 在Eclipse中,用XFire发布web服务

    配置及相关说明见http://www.cnblogs.com/xshy3412/archive/2007/09/29/910848.html 仅确定发布xfire需要的最基本的jar activati ...

  4. 在 MyEclipse 5.1GA 上使用 XFire 编写 Web Service

       开发环境     Sun Java 5+ Eclipse 3.2 +MyEclipse 5.0.0. 概述 本文介绍了使用MyEclipse Web Service来迅速开发和测试一个Hello ...

  5. Web Services的基本原理

    Web   Services的基本原理   Web   Services   是通过一系列标准和协议来保证程序之间的动态连接.其中最基本的协议包括:SOAP,   WSDL,   UDDI SOAP: ...

  6. 使用Apache CXF和Apache Axis2实现Web Services客户端

    记录:314 场景:在Spring Boot微应用上,使用Apache CXF框架实现Web Services客户端,调用Web Services服务端:使用Apache Axis2框架实现Web S ...

  7. Spring Web Services 3.0.4.RELEASE和2.4.3.RELEASE发布

    Spring同时发布了Web Services项目的两个版本:作为开发主干的3.0.4.RELEASE和作为运维的2.4.3.RELEASE.两个版本都已更新,可以在Spring Framework ...

  8. Web Services创建、部署、发布

    http://blog.csdn.net/hualusiyu/article/details/7920614 . Net 中 WebServices 的实战 下面呢,就来具体看看在 . Net 中如何 ...

  9. 轻松简单地开发Web Services 2

    XFire和其它类库 现在是最后一步了,需要得到所有必需的类库.我们怎样得到它们呢?去XFire网站,下载xfire-distribution-1.0.zip,然后解压到一个本地文件夹.复制下面的ja ...

最新文章

  1. 图灵喜获Stevens名著《TCP/IP Illustrated》影印版权
  2. Nginx的File not found 错误解决
  3. 网络管理员&MCSE2003之12: 第8章 应用管理模板和审核策略
  4. 重构战略到执行的绩效管理体系
  5. Https原理及流程
  6. php背景图片随页面大小改变,css背景图根据屏幕大小自动缩放
  7. linux解压tz zip,TZ 文件扩展名: 它是什么以及如何打开它?
  8. 微信小程序在当前页面设置其他页面的数据
  9. ASP.NET 4.0尚未在Web服务器上注册。您需要手动将Web服务器配置为使用ASP.NET,这样您的网站才能正确运行。...
  10. 基于机器视觉技术的瓷砖分色检测系统解析
  11. 苹果基带芯片“分家” 一箭多雕
  12. 银行窗口排队叫号系统实现
  13. 汇编语言 数据寄存器AX、BX、CX、DX
  14. FlashFXP V3.3.9(真正破解) 绿色版
  15. 易观国际邓中元:移动互联网竞合并存
  16. 计算器存储功能怎么用_数控车床加工刀具补偿功能怎么用?
  17. C++的替代:微软如何使用rust?
  18. 无影云桌面-网上电脑
  19. 字符串的初始化(详解)
  20. 蓝桥杯试题 基础练习 Fibonacci数列

热门文章

  1. java 操作 redis_java操作Redis
  2. java数组交集_Java 实例 – 数组交集
  3. c语言随机数生成0 99函数,C语言生成随机数的函数、延时函数
  4. Java项目:财务预算管理系统(java+SSM+Jsp+Mysql+Layui+Maven)
  5. linux本地agent执行脚本_github 4.4K星|马哥教育企业教练团队研发一款轻量级、无Agent自动化运维平台...
  6. This和Super关键字的对比
  7. Android架构篇-1 项目组织架构
  8. rocketmq 组监听_最全的RocketMQ学习指南,程序员必备的中间件技能
  9. 小程序云开发常用语句宝库
  10. iOS后台持续定位并定时上传