- 浏览: 404700 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
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 1524String[] addressesArray = addre ... -
一个关于自己定义的类,做为hashMap的key对象的例子
2012-09-02 21:39 6788package iss.com.equals; impo ... -
java中++和+=的执行原理有什么不同?
2012-06-16 13:24 5700i+=1 运行的底层Heap申请一个区域存放i,在数据区域开劈 ... -
java socket类的异常总结
2012-01-18 14:22 13521.java.net.SocketTimeoutExcepti ... -
客户端套接字(Socket)的超时
2012-01-17 11:57 2668客户端套接字的超时(timeout)就是指在客户端通过Sock ... -
socket编程的注意事项
2012-01-17 11:25 936socket编程的注意事项: 1.连接超时 不推荐的 ... -
webservice
2011-11-23 23:01 972import org.codehaus.xfire.clien ... -
Errors running builder 'JavaScript Validator'
2011-08-07 09:41 1435跑java程序时提示错误: Errors occurred d ... -
RMI
2011-07-29 20:41 870RMI是Java对象进行远程访问的一种规范——也就是说,从Ja ... -
关于求解关键路径相关计算一个简单总结
2011-07-12 11:00 1807今天的【每日一练】中,我出了关键路径的题,这中类型的题是高级中 ... -
Java静态检测工具的简单介绍
2011-06-19 11:01 1483静态检查:静态测试包括代码检查、静态结构分析、代码质量度量等。 ... -
把IP地址压缩成4字节数组的方法
2011-05-15 19:51 5626public class TestIPEnCode exten ... -
&0xff作用
2011-05-09 20:31 2350byte是一个有符号数可以表示-128~+127,但是作为一个 ... -
TCP与UDP区别
2011-05-04 21:12 2452两种不同的协议而已,UDP实现起来相对比TCP更加的简单. T ... -
数据包和数据帧各是什么,它们有什么不同
2011-05-04 20:46 2185数据包: “包 ... -
ThreadPoolExecutor
2011-04-26 00:39 2314从 Java 5 开始,Java 提供 ... -
线程--BlockingQueue
2011-04-26 00:28 740本例介绍一个特殊的队列:BlockingQueue,如果Blo ... -
socket心跳检测
2011-04-13 23:43 10114一、什么是心跳检测 判断对方(设备,进程或其它网元)是否正常 ... -
CRC解释
2011-04-11 23:03 1843数据通信中应用最广的一种检验差错方法。方法是在发送端用数学方法 ... -
base64编码规则
2011-04-11 22:04 1429编码规则 Base64 ...
相关推荐
xfire客户端eclipse插件....非常有用
xfire客户端应该具有的JAR,最全最适宜。xfire客户端应该具有的JAR,最全最适宜。xfire客户端应该具有的JAR,最全最适宜。
commons-httpclient-3.1.jar,xfire客户端使用需包2
xfire客户端生成自动生成java代码调用
Xfire客户端调用webservice接口所需 jar包,亲测可用。
cxf_axis_xfire客户端调用的几种方法[收集].pdf
xfire客户端EXE的程序应用,可直接用客户端来连接远程Webservice服务端应用
十分的好用
XFire客户端流程分析
xfire客户端jar包以及一个Demo样板 Demo样板不能直接使用,因为和每个人调用的wsdl直接相关。 请修改后使用!
xfire客户端服务端测试样例,相关例子
xfire客户端端开发的JAR包,开发客户端用
xfire webserivce客户端 jar
cxf_axis_xfire客户端调用的几种方法.docx
webservice ixfir 客户端端开发 对象传递使webservice开发更加简单快捷
http://blog.csdn.net/robert8803/article/details/8135925这里面所需要的jar
webservice服务,使用Xfire框架调用服务的常见客户端代码
web服务 客户端需要的一些xfire的jar文件
XFire Webservice 客户端