CXF客户端代码生成与服务调用(二)
2017-09-28 10:21
856 查看
通过命令行操作:
[plain] view
plain copy
C:\Documents and Settings\hsy
C:\Documents and Settings\hsy>f:
F:\>dir
驱动器 F 中的卷是 ProData
卷的序列号是 5C5E-6EE2
F:\ 的目录
...
2014-08-04 09:19 <DIR> 开源官方源文件
...
2 个文件 687,890 字节
15 个目录 22,354,870,272 可用字节
F:\>cd "开源官方源文件"
最终进入F:\开源官方源文件\CXF\apache-cxf-2.7.12\apache-cxf-2.7.12目录下,再进入到bin目录下
F:\开源官方源文件\CXF\apache-cxf-2.7.12\apache-cxf-2.7.12\bin>wsdl2java -p com.
sy.cxf.client -d e:\ -all http://localhost:8080/cxf/webservice/helloWorld?wsdl
wsdl用法:
wsdl2java -p com.kilomob.puwernetwork -d F:\lbs -all F:\PhonePosProxy.wsdl
wsdl2java用法:
wsdl2java -p com -d src -all aa.wsdl
参数说明:
-p 也就是package 对应java中的包
-d 输入目录,生成.java文件会在该目录,会自动添加-p参数配置的包路径
-client 生成客户端测试web service的代码.
-server 生成服务器启动web service的代码.
-impl 生成web service的实现代码.
-ant 生成build.xml文件.
-all 生成上面-client -server -impl -ant 对应的所有文件.
这样就会在指定的目录下按照设定的包名称生成相应的service客户端需要生成的代码。
然后将生成的代码拷贝到新建的cxfClient目录下,如图:
打开HelloWorld_HelloWorldImplPort_Client.java如下:
[java] view
plain copy
package com.hsy.cxf.client;
/**
* Please modify this class to meet your needs
* This class is not complete
*/
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import javax.xml.namespace.QName;
/**
* This class was generated by Apache CXF 2.7.12
* 2014-08-04T22:45:09.609+08:00
* Generated source version: 2.7.12
*
*/
public final class HelloWorld_HelloWorldImplPort_Client {
private static final QName SERVICE_NAME = new QName("http://server.hsy.com/", "HelloWorld");
private HelloWorld_HelloWorldImplPort_Client() {
}
public static void main(String args[]) throws java.lang.Exception {
URL wsdlURL = HelloWorld_Service.WSDL_LOCATION;
if (args.length > 0 && args[0] != null && !"".equals(args[0])) {
File wsdlFile = new File(args[0]);
try {
if (wsdlFile.exists()) {
wsdlURL = wsdlFile.toURI().toURL();
} else {
wsdlURL = new URL(args[0]);
}
} catch (MalformedURLException e) {
e.printStackTrace();
}
}
HelloWorld_Service ss = new HelloWorld_Service(wsdlURL, SERVICE_NAME);
HelloWorld port = ss.getHelloWorldImplPort();
{
System.out.println("Invoking sayHi...");
java.lang.String _sayHi_text = "张三";
java.lang.String _sayHi__return = port.sayHi(_sayHi_text);
System.out.println("sayHi.result=" + _sayHi__return);
}
{
System.out.println("Invoking sayHiToUser...");
com.hsy.cxf.client.User _sayHiToUser_arg0 = new User();
_sayHiToUser_arg0.setDescription("王明本人");
_sayHiToUser_arg0.setName("王明");
java.lang.String _sayHiToUser__return = port.sayHiToUser(_sayHiToUser_arg0);
System.out.println("sayHiToUser.result=" + _sayHiToUser__return);
}
{
System.out.println("Invoking sayHiToUserList...");
java.util.List<com.hsy.cxf.client.User> _sayHiToUserList_arg0 = new ArrayList<User>();
User user1 = new User();
user1.setDescription("马三立本人");
user1.setName("马三立");
_sayHiToUserList_arg0.add(user1);
User user2 = new User();
user2.setDescription("郭德纲本人");
user2.setName("郭德纲");
_sayHiToUserList_arg0.add(user2);
java.util.List<java.lang.String> _sayHiToUserList__return = port.sayHiToUserList(_sayHiToUserList_arg0);
System.out.println("sayHiToUserList.result=" + _sayHiToUserList__return);
}
System.exit(0);
}
}
调用服务端的方法,控制台打印如下:
[html] view
plain copy
Invoking sayHi...
sayHi.result=Hello,张三
Invoking sayHiToUser...
sayHiToUser.result=Hello,王明
Invoking sayHiToUserList...
sayHiToUserList.result=[Hello 马三立, Hello 郭德纲]
这样,远程客户端调用webService也成功了。
原文:http://blog.csdn.net/hu_shengyang/article/details/38384839
[plain] view
plain copy
C:\Documents and Settings\hsy
C:\Documents and Settings\hsy>f:
F:\>dir
驱动器 F 中的卷是 ProData
卷的序列号是 5C5E-6EE2
F:\ 的目录
...
2014-08-04 09:19 <DIR> 开源官方源文件
...
2 个文件 687,890 字节
15 个目录 22,354,870,272 可用字节
F:\>cd "开源官方源文件"
最终进入F:\开源官方源文件\CXF\apache-cxf-2.7.12\apache-cxf-2.7.12目录下,再进入到bin目录下
F:\开源官方源文件\CXF\apache-cxf-2.7.12\apache-cxf-2.7.12\bin>wsdl2java -p com.
sy.cxf.client -d e:\ -all http://localhost:8080/cxf/webservice/helloWorld?wsdl
wsdl用法:
wsdl2java -p com.kilomob.puwernetwork -d F:\lbs -all F:\PhonePosProxy.wsdl
wsdl2java用法:
wsdl2java -p com -d src -all aa.wsdl
参数说明:
-p 也就是package 对应java中的包
-d 输入目录,生成.java文件会在该目录,会自动添加-p参数配置的包路径
-client 生成客户端测试web service的代码.
-server 生成服务器启动web service的代码.
-impl 生成web service的实现代码.
-ant 生成build.xml文件.
-all 生成上面-client -server -impl -ant 对应的所有文件.
这样就会在指定的目录下按照设定的包名称生成相应的service客户端需要生成的代码。
然后将生成的代码拷贝到新建的cxfClient目录下,如图:
打开HelloWorld_HelloWorldImplPort_Client.java如下:
[java] view
plain copy
package com.hsy.cxf.client;
/**
* Please modify this class to meet your needs
* This class is not complete
*/
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import javax.xml.namespace.QName;
/**
* This class was generated by Apache CXF 2.7.12
* 2014-08-04T22:45:09.609+08:00
* Generated source version: 2.7.12
*
*/
public final class HelloWorld_HelloWorldImplPort_Client {
private static final QName SERVICE_NAME = new QName("http://server.hsy.com/", "HelloWorld");
private HelloWorld_HelloWorldImplPort_Client() {
}
public static void main(String args[]) throws java.lang.Exception {
URL wsdlURL = HelloWorld_Service.WSDL_LOCATION;
if (args.length > 0 && args[0] != null && !"".equals(args[0])) {
File wsdlFile = new File(args[0]);
try {
if (wsdlFile.exists()) {
wsdlURL = wsdlFile.toURI().toURL();
} else {
wsdlURL = new URL(args[0]);
}
} catch (MalformedURLException e) {
e.printStackTrace();
}
}
HelloWorld_Service ss = new HelloWorld_Service(wsdlURL, SERVICE_NAME);
HelloWorld port = ss.getHelloWorldImplPort();
{
System.out.println("Invoking sayHi...");
java.lang.String _sayHi_text = "张三";
java.lang.String _sayHi__return = port.sayHi(_sayHi_text);
System.out.println("sayHi.result=" + _sayHi__return);
}
{
System.out.println("Invoking sayHiToUser...");
com.hsy.cxf.client.User _sayHiToUser_arg0 = new User();
_sayHiToUser_arg0.setDescription("王明本人");
_sayHiToUser_arg0.setName("王明");
java.lang.String _sayHiToUser__return = port.sayHiToUser(_sayHiToUser_arg0);
System.out.println("sayHiToUser.result=" + _sayHiToUser__return);
}
{
System.out.println("Invoking sayHiToUserList...");
java.util.List<com.hsy.cxf.client.User> _sayHiToUserList_arg0 = new ArrayList<User>();
User user1 = new User();
user1.setDescription("马三立本人");
user1.setName("马三立");
_sayHiToUserList_arg0.add(user1);
User user2 = new User();
user2.setDescription("郭德纲本人");
user2.setName("郭德纲");
_sayHiToUserList_arg0.add(user2);
java.util.List<java.lang.String> _sayHiToUserList__return = port.sayHiToUserList(_sayHiToUserList_arg0);
System.out.println("sayHiToUserList.result=" + _sayHiToUserList__return);
}
System.exit(0);
}
}
调用服务端的方法,控制台打印如下:
[html] view
plain copy
Invoking sayHi...
sayHi.result=Hello,张三
Invoking sayHiToUser...
sayHiToUser.result=Hello,王明
Invoking sayHiToUserList...
sayHiToUserList.result=[Hello 马三立, Hello 郭德纲]
这样,远程客户端调用webService也成功了。
原文:http://blog.csdn.net/hu_shengyang/article/details/38384839
相关文章推荐
- CXF客户端代码生成与服务调用(二)
- CXF客户端代码生成与服务调用
- cxf 生成客户端代码调用服务
- CXF客户端代码生成与服务调用(二)
- CXF客户端代码生成与服务调用(二)
- 创建webService工程,生成客户端代码并且调用(例子,查询号码归属地服务)
- cxf webservice 生成客户端代码以及调用
- 普元 EOS Platform 7.2开发环境生成webservice客户端代码调用BPS发布的服务,报错
- cxf整合Spring框架进行服务端开发,并且通过cxf生成客户端代码进行调用
- webservices客户端调用和cxf生成客户端代码
- CXF 服务调用之java客户端代码
- CXF调用客户端根据wsdl文件生成java代码
- jdk annotation发布webservice服务 及生成客户端调用代码
- AXIS1客户端调用CXF服务接口-代码展示和问题解决
- java wsdl反向生成源码,并使用CXF实现客户端调用代码
- java wsdl反向生成源码,并使用CXF实现客户端调用代码
- 【web service 】 wsimport 生成客户端代码调用webservice 服务
- CXF之使用工厂方法(java代码)发布服务与进行客户端调用
- cxf生成客户端代码
- 关于cxf生成客户端代码中的JAXBElement<String>