- 浏览: 413853 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
skying007:
...
Mysql coalesce() 函数认识和用法 -
kchiu:
关于这个心跳的发送和接收 晚上全是the fuccking s ...
socket心跳检测 -
bjsq618:
你的想法在大的物流公司已经实现了,只不过他们使用是GPS定位
ddd -
jiaguwen123:
2,AuthenticationHandler类的写法
pa ...
xfire客户端 -
sornor:
总结的不错哟!
Java中的函数yield(),sleep()和wait()的区别
转自:http://blog.csdn.net/xyzroundo/article/details/5891137
内容:
注意:二个JAR包不能少:xfire-all-1.2.6.jar,和jaxb-xjc-2.0.1.jar.
xmlbeans-2.4.0.jar
一. 编写Ant脚本build.xml,就是用org.codehaus.xfire.gen.WsGenTask生成Client Stub,放在org.ymcn.ws.client下,其中的参数应用个人而异:
<?xml version=”1.0″?>
<project default=”genfiles” basedir=”.”>
<property name=”lib” value=”WebRoot/WEB-INF/lib” />
<path id=”myclasspath”>
<fileset dir=”${lib}”>
<include name=”*.jar” />
</fileset>
<pathelement location=”${genfiles}” />
</path>
<property name=”code_path” value=”src” />
<property name=”wsdl_path” value=”http://192.168.1.102:8888/wss/HelloWorldService.ws?wsdl” />
<property name=”code_package” value=”org.ymcn.ws.client” />
<target name=”genfiles” description=”Generate the files”>
<taskdef name=”wsgen” classname=”org.codehaus.xfire.gen.WsGenTask” classpathref=”myclasspath” />
<wsgen outputDirectory=”${code_path}” wsdl=”${wsdl_path}” package=”${code_package}” binding=”xmlbeans” overwrite=”true” />
</target>
</project>
二.在MyEclipse中运行此Ant 脚本
此时会在org.ymcn.ws.client下生成三个文件:HelloWorldClient.java, HelloWorldImpl.java, HelloWorldPortType.java,其中第一个和第三个是非常重要的.
三.测试Client Stub:
package org.ymcn.test.client;
import org.ymcn.ws.client.HelloWorldClient;
import org.ymcn.ws.client.HelloWorldPortType;
public class HelloWorldJaxb {
public static void main(String[] args) {
try {
HelloWorldClient client = new HelloWorldClient();
HelloWorldPortType service = client.getHelloWorldHttpPort();
String result = service.sayHello(“老牛啊”);
System.out.println(result);
} catch(Exception e) {
e.printStackTrace();
}
}
}
在控制台输出:你好, 老牛啊, 成功.
四.发布
把那三个Stub打包,就可以在分布式环境下测试了.
内容:
注意:二个JAR包不能少:xfire-all-1.2.6.jar,和jaxb-xjc-2.0.1.jar.
xmlbeans-2.4.0.jar
一. 编写Ant脚本build.xml,就是用org.codehaus.xfire.gen.WsGenTask生成Client Stub,放在org.ymcn.ws.client下,其中的参数应用个人而异:
<?xml version=”1.0″?>
<project default=”genfiles” basedir=”.”>
<property name=”lib” value=”WebRoot/WEB-INF/lib” />
<path id=”myclasspath”>
<fileset dir=”${lib}”>
<include name=”*.jar” />
</fileset>
<pathelement location=”${genfiles}” />
</path>
<property name=”code_path” value=”src” />
<property name=”wsdl_path” value=”http://192.168.1.102:8888/wss/HelloWorldService.ws?wsdl” />
<property name=”code_package” value=”org.ymcn.ws.client” />
<target name=”genfiles” description=”Generate the files”>
<taskdef name=”wsgen” classname=”org.codehaus.xfire.gen.WsGenTask” classpathref=”myclasspath” />
<wsgen outputDirectory=”${code_path}” wsdl=”${wsdl_path}” package=”${code_package}” binding=”xmlbeans” overwrite=”true” />
</target>
</project>
二.在MyEclipse中运行此Ant 脚本
此时会在org.ymcn.ws.client下生成三个文件:HelloWorldClient.java, HelloWorldImpl.java, HelloWorldPortType.java,其中第一个和第三个是非常重要的.
三.测试Client Stub:
package org.ymcn.test.client;
import org.ymcn.ws.client.HelloWorldClient;
import org.ymcn.ws.client.HelloWorldPortType;
public class HelloWorldJaxb {
public static void main(String[] args) {
try {
HelloWorldClient client = new HelloWorldClient();
HelloWorldPortType service = client.getHelloWorldHttpPort();
String result = service.sayHello(“老牛啊”);
System.out.println(result);
} catch(Exception e) {
e.printStackTrace();
}
}
}
在控制台输出:你好, 老牛啊, 成功.
四.发布
把那三个Stub打包,就可以在分布式环境下测试了.
评论
1 楼
jiaguwen123
2011-12-03
2,AuthenticationHandler类的写法
package com.ktsfot.ws.security;
import org.codehaus.xfire.MessageContext;
import org.codehaus.xfire.handler.AbstractHandler;
import org.jdom.*;
public class AuthenticationHandler extends AbstractHandler {
public void invoke(MessageContext cfx) throws Exception {
// TODO Auto-generated method stub
if(cfx.getInMessage().getHeader() == null)
if(cfx.getInMessage().getHeader()==null){
throw new org.codehaus.xfire.fault.XFireFault("请求必须包含验证信息",org.codehaus.xfire.fault.XFireFault.SENDER);
}
Element token=cfx.getInMessage().getHeader().getChild("AuthenticationToken");
if (token == null){
throw new org.codehaus.xfire.fault.XFireFault("请求必须包含身份验证信息", org.codehaus.xfire.fault.XFireFault.SENDER);
}
String username = token.getChild("Username").getValue();
String password = token.getChild("Password").getValue();
try{
//进行身份验证 ,只有abcd@1234的用户为授权用户
if(username.equals("abcd") && password.equals("1234"))
//这语句不显示
System.out.println("身份验证通过");
else throw new Exception();
}
catch (Exception e){
throw new org.codehaus.xfire.fault.XFireFault("非法的用户名和密码", org.codehaus.xfire.fault.XFireFault.SENDER);
}
}
}
3,客户端调用:
HelloWorldClient client = new HelloWorldClient();
//create a default service endpoint
HelloWorldPortType service = client.getHelloWorldHttpPort();
XFireProxy proxy = (XFireProxy)Proxy.getInvocationHandler(service);
proxy.getClient().addOutHandler(new ClientAuthenticationHandler("abcd", "1234"));
System.out.print(service.sayHello());
System.exit(0);
package com.ktsfot.ws.security;
import org.codehaus.xfire.MessageContext;
import org.codehaus.xfire.handler.AbstractHandler;
import org.jdom.*;
public class AuthenticationHandler extends AbstractHandler {
public void invoke(MessageContext cfx) throws Exception {
// TODO Auto-generated method stub
if(cfx.getInMessage().getHeader() == null)
if(cfx.getInMessage().getHeader()==null){
throw new org.codehaus.xfire.fault.XFireFault("请求必须包含验证信息",org.codehaus.xfire.fault.XFireFault.SENDER);
}
Element token=cfx.getInMessage().getHeader().getChild("AuthenticationToken");
if (token == null){
throw new org.codehaus.xfire.fault.XFireFault("请求必须包含身份验证信息", org.codehaus.xfire.fault.XFireFault.SENDER);
}
String username = token.getChild("Username").getValue();
String password = token.getChild("Password").getValue();
try{
//进行身份验证 ,只有abcd@1234的用户为授权用户
if(username.equals("abcd") && password.equals("1234"))
//这语句不显示
System.out.println("身份验证通过");
else throw new Exception();
}
catch (Exception e){
throw new org.codehaus.xfire.fault.XFireFault("非法的用户名和密码", org.codehaus.xfire.fault.XFireFault.SENDER);
}
}
}
3,客户端调用:
HelloWorldClient client = new HelloWorldClient();
//create a default service endpoint
HelloWorldPortType service = client.getHelloWorldHttpPort();
XFireProxy proxy = (XFireProxy)Proxy.getInvocationHandler(service);
proxy.getClient().addOutHandler(new ClientAuthenticationHandler("abcd", "1234"));
System.out.print(service.sayHello());
System.exit(0);
发表评论
-
list.toArray方法
2012-09-16 11:40 1571String[] addressesArray = addre ... -
一个关于自己定义的类,做为hashMap的key对象的例子
2012-09-02 21:39 6824package iss.com.equals; impo ... -
java中++和+=的执行原理有什么不同?
2012-06-16 13:24 5729i+=1 运行的底层Heap申请一个区域存放i,在数据区域开劈 ... -
java socket类的异常总结
2012-01-18 14:22 13791.java.net.SocketTimeoutExcepti ... -
客户端套接字(Socket)的超时
2012-01-17 11:57 2696客户端套接字的超时(timeout)就是指在客户端通过Sock ... -
socket编程的注意事项
2012-01-17 11:25 976socket编程的注意事项: 1.连接超时 不推荐的 ... -
webservice
2011-11-23 23:01 1008import org.codehaus.xfire.clien ... -
Errors running builder 'JavaScript Validator'
2011-08-07 09:41 1467跑java程序时提示错误: Errors occurred d ... -
RMI
2011-07-29 20:41 903RMI是Java对象进行远程访问的一种规范——也就是说,从Ja ... -
关于求解关键路径相关计算一个简单总结
2011-07-12 11:00 1837今天的【每日一练】中,我出了关键路径的题,这中类型的题是高级中 ... -
Java静态检测工具的简单介绍
2011-06-19 11:01 1531静态检查:静态测试包括代码检查、静态结构分析、代码质量度量等。 ... -
把IP地址压缩成4字节数组的方法
2011-05-15 19:51 5682public class TestIPEnCode exten ... -
&0xff作用
2011-05-09 20:31 2396byte是一个有符号数可以表示-128~+127,但是作为一个 ... -
TCP与UDP区别
2011-05-04 21:12 2488两种不同的协议而已,UDP实现起来相对比TCP更加的简单. T ... -
数据包和数据帧各是什么,它们有什么不同
2011-05-04 20:46 2216数据包: “包 ... -
ThreadPoolExecutor
2011-04-26 00:39 2401从 Java 5 开始,Java 提供 ... -
线程--BlockingQueue
2011-04-26 00:28 780本例介绍一个特殊的队列:BlockingQueue,如果Blo ... -
socket心跳检测
2011-04-13 23:43 10185一、什么是心跳检测 判断对方(设备,进程或其它网元)是否正常 ... -
CRC解释
2011-04-11 23:03 1884数据通信中应用最广的一种检验差错方法。方法是在发送端用数学方法 ... -
base64编码规则
2011-04-11 22:04 1460编码规则 Base64 ...
相关推荐
在本案例中,"Xfire的client.zip"是一个包含了Xfire客户端代码的压缩包,主要用于调用Web服务。 Xfire客户端代码是实现与Xfire服务器通信的代码库,它可能包含了多种语言的实现,如Java、C#或Python等。这些代码...
在这个主题中,我们将深入探讨Xfire客户端应该具有的JAR文件及其重要性。 JAR(Java Archive)文件是Java平台特有的归档格式,它用于集合多个Java类文件、资源文件以及元数据。在Xfire客户端中,JAR文件扮演着至关...
XFire客户端Eclipse插件是开发人员在使用Eclipse IDE时用于集成XFire服务框架的工具。XFire,现在已被Apache CXF所吸收,是一款强大的Java Web服务框架,旨在简化创建和部署Web服务的过程。这款插件使得在Eclipse...
在这个场景下,"Xfire客户端调用webservice jar包"是指Xfire客户端为了实现某些功能,如获取服务器数据或更新信息,需要调用Web服务的接口。这些接口通常以Java的jar包形式提供,方便开发者集成到他们的应用中。 ...
**xfire客户端生成** 在IT行业中,Web服务已经成为不同系统间通信的重要手段,而XFire则是Java平台上一种流行且强大的Web服务实现框架。XFire,全称为XFire SOAP RPC,它提供了一种简单的方式来创建和消费Web服务。...
本文将详细介绍Spring XFire客户端的实例应用,以及如何利用它来实现Web服务的调用。 首先,我们需要理解Spring XFire的核心概念。Spring XFire是Spring框架的一个扩展,它整合了XFire(现已被Apache CXF合并)的...
标题 "xfire客户端jar" 指的是XFire这一款基于Java开发的多玩家游戏平台的客户端组件。XFire是一款曾经流行的在线游戏社区软件,它允许玩家与朋友一起玩游戏、记录游戏时间、查看成就,以及参与游戏内的社交活动。在...
在本文中,我们将深入探讨XFire客户端及其核心组件——jar文件,以及如何利用它们来构建和交互Web服务。 首先,让我们理解XFire的核心概念。XFire是一个基于Apache CXF前身的框架,它的设计目标是简化Web服务的开发...
commons-httpclient-3.1.jar,xfire客户端使用需包2
本篇文章将深入探讨如何使用XFire客户端调用Web服务,以及对象传递在Web服务开发中的应用。 首先,理解Web服务的基本概念至关重要。Web服务采用标准的协议如SOAP(Simple Object Access Protocol)进行通信,XML...
xfire客户端jar包是用于构建Web服务客户端的一个关键组件,它是Apache CXF项目早期的版本。Apache CXF是一个流行的开源框架,它支持多种Web服务标准,包括SOAP、RESTful API和WS-*规范。xfire-jar包包含了实现这些...
XFire客户端的开发涉及多个技术层面,其中包括Java编程语言,因为此处提到的是"xfire客户端端开发的JAR包"。JAR(Java Archive)文件是Java平台特有的归档格式,用于封装Java类库,便于分发和运行。以下是对这些知识...
【XFire客户端流程分析】 XFire,作为曾经在J2EE领域广泛应用的Web Service框架,因其出色的性能和简便性受到开发者喜爱。尽管XFire现在已发展成为Apache的CXF项目,但仍然有许多用户沿用XFire。本文主要分析XFire...
在这个“xfire客户端服务端测试样例”中,我们有两个关键文件:TestXfire和TestService,它们很可能是为了演示xfire的客户端和服务端如何交互而编写的测试程序。 首先,让我们深入了解xfire的工作原理。xfire客户端...
xfire客户端EXE的程序应用,可直接用客户端来连接远程Webservice服务端应用
CXF、AXIS2、XFire是三种流行的Java Web服务框架,它们允许开发者创建和消费Web服务。在本文中,我们将重点关注CXF客户端调用Web服务的方法,特别是处理Map类型参数的问题。 首先,CXF客户端调用Web服务时,通常会...
这个“xfire客户端需要的jar”文件集合,显然是为了支持基于XFire的客户端应用程序运行而必需的Java类库。 首先,让我们深入了解一下XFire。XFire是Apache CXF项目的前身,它最初设计的目标是简化Web服务的开发过程...
【CXF、AXIS2、XFire 客户端调用方法详解】 在Web服务开发中,CXF、AXIS2和XFire是常见的Java API,用于构建和消费SOAP(简单对象访问协议)服务。这些框架提供了丰富的功能,使得开发者能够方便地创建和调用Web...
4. **创建服务客户端**:在你的应用中,实例化由XFire生成的客户端代理类,然后调用其方法来执行Web服务操作。例如: ```java ServiceClient client = new ServiceClient(); client.setEndpoint(...