XFire下根据WSDL生成Client Stub,并测试Client
來源:http://yhkyo.com/archives/144
?
?? 注意:二個JAR包不能少:xfire-all-1.2.6.jar,和jaxb-xjc-2.0.1.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打包,就可以在分布式環境下測試了.
總結
以上是生活随笔為你收集整理的XFire下根据WSDL生成Client Stub,并测试Client的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: spring AOP 取得web的ses
- 下一篇: 《猎天使魔女 3》销量破百万,Switc