1.本人也是参看了晁岳攀先生的XFire开发指南一书而总结的!反正俺也是新人,总结一下以后好用!哈哈
2.方式一:Ant(亲爱的蚂蚁工具)
<?xml version="1.0" encoding="UTF-8"?>
<project name="client" default="help" basedir=".">
<!-- =============================== -->
<!-- 设置属性 -->
<!-- =============================== -->
<property name="optimize" value="false" />
<property name="debug" value="on" />
<property name="deprecation" value="false" />
<!-- 第三方jar包 -->
<property name="build.lib" value="${basedir}/lib" />
<property name="sources" value="${basedir}/src" />
<!-- 编译后的class文件存储 -->
<property name="build.classes" value="${basedir}/bin" />
<!-- =============================== -->
<!-- 设置类路径 -->
<!-- =============================== -->
<path id="classpath">
<pathelement location="${build.classes}" />
<fileset dir="${build.lib}">
<include name="*.jar" />
</fileset>
</path>
<taskdef name="wsgen" classname="org.codehaus.xfire.gen.WsGenTask"
classpathref="classpath" />
<!-- =============================== -->
<!-- 帮助信息 -->
<!-- =============================== -->
<target name="help" description="显示帮助信息">
<echo message="target描述" />
<echo message="-------------------------------------------" />
<echo message="compile 编译代码" />
<echo message="create_code 创建代码" />
</target>
<!-- =============================== -->
<!-- 编译代码 -->
<!-- =============================== -->
<target name="compile" description="编译代码">
<echo>编译程序代码</echo>
<javac srcdir="${sources}" destdir="${build.classes}"
classpathref="classpath" debug="${debug}" optimize="${optimize}"
deprecation="${deprecation}" />
</target>
<!-- =============================== -->
<!-- 创建客户端代码 -->
<!-- =============================== -->
<target name="create_code" description="创建代码">
<echo>创建代码</echo>
<wsgen outputDirectory="${sources}" wsdl="${basedir}/HelloService.wsdl"
package="org.joe.xfire.services" overwrite="true"/>
</target>
</project>
客户端调用(这里要把WSDL下载到classpath下)
/**
*
*/
package test;
import org.joe.xfire.services.HelloServiceClient;
import org.joe.xfire.services.HelloServicePortType;
/**
* @author joe
*
*/
public class ConsumeWebService {
/**
* @param args
* 使用创建的客户端代码访问HelloSerivce
*/
public static void main(String[] args) {
HelloServiceClient client = new HelloServiceClient();
HelloServicePortType helloService = client.getHelloServiceHttpPort();
//调用服务
String result = helloService.sayHello("joe");
System.out.println("结果: "+ result);
}
}
方式二:XFire plugin使用(一键生成)
下载地址:http://xfire.codehaus.org/Eclipse+Plugin
(详见附件图片)
客户端调用代码:
/**
*
*/
package client;
import org.joe.xfire.HelloServiceClient;
import org.joe.xfire.HelloServicePortType;
/**
* @author joe
*
*/
public class ConsumeWebService {
/**
* @param args
* 这个实例是由XFire plugin自动生成的
* 使用创建的客户端代码访问HelloSerivce
* 问题1:好像,如果使用plugin自带的jar的话,会遗失一些需要的jar
* 问题2:为什么不能像插件介绍那样,直接load进来WebServices的WSDL地址即可
*/
public static void main(String[] args) {
HelloServiceClient client = new HelloServiceClient();
HelloServicePortType helloService = client.getHelloServiceHttpPort();
//调用服务
String result = helloService.sayHello("endeavor");
System.out.println("结果: "+ result);
}
}
方式三:简单的Client代码:
/**
*
*/
package org.joe.webservices.xfire;
import java.net.MalformedURLException;
import java.net.URL;
import org.codehaus.xfire.client.Client;
/**
* @author joe
*
*/
public class DynamicClient {
/**
* @param args
* Simple client Demonstration
* @throws Exception
* @throws MalformedURLException
*/
public static void main(String[] args) throws MalformedURLException,
Exception {
//XFire client
Client client = new Client(new URL(
"http://localhost:8882/xfire.demo1/services/HelloService?wsdl"));
//第一个参数是方法名,后面的参数是需要传入的参数
Object[] results = client.invoke("sayHello", new Object[]{""});
System.out.println((String)results[0]);
}
}
- 大小: 14.2 KB
- 大小: 14.9 KB
分享到:
相关推荐
java使用xfire实现webServices接口调用(包括实现内部访问以及外部访问的方式)
NULL 博文链接:https://kymdidicom.iteye.com/blog/1758113
xfire简单实现webservice服务端创建与客户端,实现方法用的代理调用的,不需要服务端的接口。
使用axis(注意不是axis2)发布调用Web Service,使用xfire发布调用Web Service。包含多种调用发布的方法,属于入门教程。自己写的,觉得好就顶下,不好也不要骂人。多谢!
一个用来演示webservices工作的代码工程,分为两部分,WebServices的服务端代码,部署在web服务器后,客户端代码可以用Client实例(设置好url参数)来调用部署在远程web服务器上的方法,也可以通过网页查看提供的...
一个XFire webservices的例子,包括服务的创建和客户端的调用,另外还写了几个调用远程web服务的例子
Web+Services发布与调用(axis,xfire)[归纳].pdf
用javaScript Ajax访问WebServices服务器端,引用了IBM developerworks社区James Snell写的两个js文件,纯HTML页面即可调用WebServices服务!
js调用WEBSERVICE通用函数例子,主要调用2种,基于java方面用Xfire开发的webservice(有后台源码),调用别人的基于.NET的webservice,希望对一些朋友有用
NULL 博文链接:https://morris.iteye.com/blog/514011
资源名称:WebServices基础培训视频与源码资源目录:【】1.WebService之AXIS即时发布【】10.WebService之创建自己ws站点进行调用操作【】11.WebService之查询数据库操作【】12.使用xfire开发webServie操作不同的数据...
Apache-CXF2.4.0-API文档,调用webservice,中文文档,Apache CXF = Celtix + XFire,开始叫 Apache ...WSDL 优先(WSDL First)来轻松地实现 Web Services 的发布和使用。Apache CXF已经是一个正式的Apache顶级项目。
入/web/WEB-INF/services/目录中就能被访问和调用,有点繁琐,但axis2功能十分强大,方法的返回类型不仅可 以用自定义实体类,还可以是List,Map,Set之类的集合,基本数据类型就不用说了。 下载这个资源后,把它部署...
前段时间在学习webServices时,我用的是xfire, 我没怎么去看源代码,却对另一个类似于这个的东东深深的吸引着我Java Remote接口. 首先,我们的webservices都有服务器(Server)和客户端(Client)这个东西,说白了,就是我...
16 二 调用Web Services .................................................................................................................... 17 2.1 准备工作......................................
第10章 服务(services)和作业(jobs) 10.1 服务基础知识 10.1.1 事务 10.1.2 服务和依赖注入 10.2 服务实战 10.2.1 示例a——扩展搜索功能 10.2.2 示例b——显示del.icio.us中的...