导航:首页 > 程序命令 > wsdl2java命令

wsdl2java命令

发布时间:2023-03-12 00:10:43

❶ cxf wsdl2java命令生成客户端java类,怎么设置超时时间

可能是wsdl2java命令没有生成超时的代码,具体需要研究下生成代码的wsdl2java的工作原理,我一般都是手动设置超时时间
Service service = new Service();
Call call = (Call) service.createCall();
call.setTimeout(1000*60*15); //设置超时时间 15分钟

❷ axis2的wsdl2java命令可以生成wsdl的服务端和客服端代码,请问各位大牛这个客服端和服务端的有什么区别。

生成的服务端是你本机作为服务的提供者;生成客户端是为了你去调用服务端提供的服务。
如果你想调用服务的话,当然是用生成的客户端代码了。

❸ java webservice怎么生成wsdl文件

在大多数情况下我们都需要为我们的服务提供一个WSDL文件,而 Axis2's Java2WSDL 是专门用来生成WSDL文件的D专用工具,如果你要在命令行模式下进行生成WSDL文件,首先需要保证你的环境变量AXIS2_HOME是否已经配置OK,同时还要保证把%AXIS2_HOME%in加入到你的path环境中,要生成 WSDL文件,首先要保证你的class能够编译成功,而且已经编译成功,然后进入class文件编译后的根目录(在JBuilder中是classes,在Eclipse中是bin目录)这时,生成WSDL文件的准备工作已经OK。x0dx0ax0dx0a下面是生成WSDL文件时的可选参数和参数说明:x0dx0a---------------------------------------------------------------------------------x0dx0aUsage java2wsdl -cn : class file namex0dx0a-o : output file locationx0dx0ax0dx0a-cp : list of classpath entries - (urls)x0dx0ax0dx0a-tn : target namespacex0dx0ax0dx0a-tp : target namespace prefixx0dx0ax0dx0a-stn : target namespace for schemax0dx0ax0dx0a-stp : target namespace prefix for schemax0dx0ax0dx0a-sn : service namex0dx0ax0dx0a-of : output file name for the WSDLx0dx0ax0dx0a-st : style for the WSDLx0dx0ax0dx0a-u : use for the WSDLx0dx0ax0dx0a-l : address of the port for the WSDLx0dx0ax0dx0a-nsg : fully qualified name of the class that implements -p2n [,,] ...x0dx0ax0dx0a-efd : Setting for elementFormDefault (defaults to qualified)x0dx0ax0dx0a-afd : Setting for attributeFormDefault (defaults to qualified)x0dx0ax0dx0a-xc : Extra class for which schematype must be generated.x0dx0aUse as : -xc class1 -xc class2 ...典型地,进入你的工程的二进制编译根目录,执行命令模板如下:x0dx0ajava2wsdl -cp . -cn [PACKAGENAME].[CLASSNAME]-of [FILENAME].wsdlx0dx0ax0dx0a现在我们假设在samples.helloworld.service.axiom;包下面有个HelloWorldService类,工程的类文件编译后存放在buildclasses目录下,那么,首先进入该目录中,然后执行以下命令:x0dx0ajava2wsdl -cp . -cn samples.helloworld.service.axiom.HelloWorldService -of HelloWorldService.wsdlx0dx0ax0dx0a执行后的CMD提示如下说明已经成功执行了:x0dx0ax0dx0aUsing AXIS2_HOME: D:axis2-1.1.1x0dx0aUsing JAVA_HOME: C:Program FilesJavajdk1.5.0_06

❹ springmvc框架如何实现像webservice一样通过wsdl2Java生成客户端代码

在用到web service时,如果是调用自己开发的web service还好,可以有一个方法的接口或参数对象实体类什么的,但如果是调用第三方的服务,除了得到web service服务地址的wsdl文档外,没有任何实质性编码的东西,写原生调用太麻烦,这时就需要自己写一个方法的接口类。

这个,目前已经有比较成熟的工具,可以自动生成,下面作一下简单的介绍。

apache的wsdl2java工具,目前貌似CXF和axis各有一套,使用方式大同小异,但生成的代码会有所区别,这时说的是CXF提供的wsdl2java工具。

wsdl2java用法:

wsdl2java -p com -d src -all aa.wsdl

-p 指定其wsdl的命名空间,也就是要生成代码的包名:

-d 指定要产生代码所在目录

-client 生成客户端测试web service的代码

-server 生成服务器启动web service的代码

-impl 生成web service的实现代码

-ant 生成build.xml文件

-all 生成所有开始端点代码:types,service proxy,,service interface, server mainline, client mainline, implementation object, and an Ant build.xml file.

详细用法见:http://cwiki.apache.org/CXF20DOC/wsdl-to-java.html

一开始使用了CXF的这套工具,发现不是很方便,毕竟依赖CXF提供的工具jar包,个人不是很喜欢用。

后来发现JDK居然也自带了对web service生成java代码的功能,貌似1.6版本开始的,试用后发现效果十分不错,果断投入它的怀抱。下面作下简单的介绍,以备忘。

打开jdk下的bin目录 看下能否找到"wsimport.exe"这个文件

一般情况下都会有

如果没有则说明你的JDK不支持这个功能

然后在DOS窗口下输入wsimport 敲回车

如果提示错误的话 说明你的JDK环境变量还没有配好

一句话总结,如果你在dos窗口下输入wsimport正常,就可以

如果OK的话 输入以下命令就可以将wsdl文件生成java文件了

wsimporthttp://127.0.0.1/TicketMobile/services/Cococ?wsdl -keep -p com.llg.ws2 -s g:/ws

参数说明

wsimport 这个是必须的 该工具的名称

http://127.0.0.1/TicketMobile/services/Cococ?wsdl wsdl文件

-keep 是否生成源文件

-p com.llg.ws2 生成后的java包名

-s g:/ws 生成后放哪个目录

但是前几天,在对一个第三方提供的web service使用该工具生成java代码的时候,居然出错了,网上查找后终于找到原因。

使用cxf wsdl2java或javax wsimport工具的时候,可能会遇到关于生成的Response类文件名冲突的问题

Console代码

❺ Java调用wsdl,怎么实现

java调用wsdl的步骤如下,主要是使用第三方框架:

步骤如下:

1.下载AXIS2类库,AXIS2是目前java调用webservice的一个主要方法(由于更新较频繁,请自行google该类库的网址)

2.由于是第三方webservice,直接引入AXIS2的包就可以用了,代码如下:

importjava.rmi.RemoteException;
importjavax.xml.rpc.ParameterMode;
importjavax.xml.rpc.ServiceException;
importorg.apache.axis.client.Call;
importorg.apache.axis.client.Service;
importorg.apache.axis.encoding.XMLType;

publicclasswebServiceTest{
publicStringinvokeRemoteFuc(){
Stringendpoint="http://localhost:8080/webservice/services/helloworld";
Stringresult="noresult!";
Serviceservice=newService();
Callcall;
Object[]object=newObject[1];
object[0]="DearImissyou";//Object是用来存储方法的参数
try{
call=(Call)service.createCall();
call.setTargetEndpointAddress(endpoint);//远程调用路径
call.setOperationName("say");//调用的方法名

//设置参数名:
call.addParameter("str1",//参数名
XMLType.XSD_STRING,//参数类型:String
ParameterMode.IN);//参数模式:'IN'or'OUT'

//设置返回值类型:
call.setReturnType(XMLType.XSD_STRING);//返回值类型:String

result=(String)call.invoke(object);//远程调用
}catch(ServiceExceptione){
e.printStackTrace();
}catch(RemoteExceptione){
e.printStackTrace();
}
returnresult;
}

publicstaticvoidmain(String[]args){
webServiceTestt=newwebServiceTest();
Stringresult=t.invokeRemoteFuc();
System.out.println(result);
}
}

该方法的原理很简单,通过AXIS2封装好的类设置URL和参数,直接调用就好了,我们要关注的就是设置URL,方法,还有方法的参数,其他的&paste好啦,很简单吧,再看看其他的方法,我勒个去了,害我瞎搞两天。迟点上个源码共大家参考!

❻ cxf的wsdl2java命令和JDK的wsimport命令的区别和使用

JDK提供了一个wsimport.exe的命令,主要是用于将WebService生成客户端代码,然后好调用WebService。
wsimport 是根据JDK1.6.0_21及以上的生成本地代码的,它只能解析服务器端的SOAP协议为1.1,不能解析SOAP1.2的协议。如果解析SOAP1.2 将会解析不完全。
用法:前提是已经将JDK配置为了path环境变量 C:\Documents and Settings\Administrator>wsimport -s F:\ -p com.client.jdk.wsimport http://localhost:1111/hello?wsdl
-s 后面指定生成文件的路径,-p 自定义类包 http://localhost:1111/hello?wsdl 是wsdl的路径。
CXF也提供了根据WSDL生成客户端代码的命令wsdl2java.exe 。它是根据jdk1.7生成的本地代码,所以,需要对生成的代码做一点点修改。
它可以支持SOAP1.1 和SOAP1.2的协议。前提是你已经下载了Apache CXF 并且将wsdl2java.exe配置为了path环境变量。
用法:C:\Documents and Settings\Administrator>wsdl2java -d F:\ -p com.client.cxf http://localhost:1111/hello?wsdl
-d 后面指定生成文件的路径,-p 自定义类包 http://localhost:1111/hello?wsdl 是wsdl的路径。

阅读全文

与wsdl2java命令相关的资料

热点内容
义隆单片机视频教程 浏览:383
cad安装卡在解压 浏览:615
编程精灵g540 浏览:256
手机文档解压之后解压包去哪儿了 浏览:923
java中网络编程重要吗 浏览:683
如何登录别人的服务器 浏览:626
调度系统软件python 浏览:205
微信大转盘抽奖源码 浏览:497
压缩机损坏的表现 浏览:862
同步数据服务器怎么用 浏览:634
163邮箱服务器的ip地址 浏览:50
服务器跟域是什么 浏览:128
rails启动命令 浏览:465
logistic命令怎么用 浏览:738
c语言点滴pdf 浏览:747
linuxrtc编程 浏览:258
linux打包并压缩命令 浏览:644
aes加密的证书格式 浏览:99
oracledbcalinux 浏览:844
酬勤任务app怎么被特邀 浏览:199