======================================================
注:本文源代码点此下载
======================================================
最近遇到一个用.net调用java写的webservice的应用,对方程序员提供了一个后缀为wsdl的文件,这个跟.net里面生成的wsdl文件差不多,起初没什么概念就查了点资料,知道可以将这个wsdl文件编译动态库直接调用,也就是生成一个代理了,这个跟以往经常将.net的webservice描述地址进行编译似乎差不多,于是就尝试这写,还基本能实现。
基本格式如下
wsdl.exe /l:cs /n:nhws /out:c:/nhws.cs c:/isws.wsdl
在vs命令行中运行就可以实现了
再则通过沟通我也索要了该wsdl文件的描述地址,类似与.net的描述地址,只不过java的文件后缀是.jws而.net的是.asmx
如下对照
[net] http://110.11.4.5/website1/service.asmx?wsdl
[java]http://***.***.**.**/website1/service?wsdl或http://***.***.**.**/website1/service.jws?wsdl
不过这里只是我遇到的情况 对java不是很了解 以上java提供的webservice地址应该只是其技术类中的一个吧 对java不了解
用.net调用java的这个地址也可以,方式也很多,基本跟调用.net的地址一样
(1)在项目中添加webservice引用,通过向导即能完成
(2)为方便使用期间使用如下的两个命令来将java的webservice描述地址最终编译成一个动态库使用
a》生成类文件
wsdl.exe /l:cs /n:nws /out:c:/nws.cs http://***.***.**.**/website1/service?wsdl
b》将类文件编译成动态库
csc /target:library /out:"c:\nws.dll" c:\nws.cs
后面的使用就是一样的了
不过这里注意两个问题:
(1)描述地址最后的参数?wsdl有时候不可或缺,最好加上,因为你最终要编译的就是这个wsdl文件
(2)wsdl.exe是微软vs中提供的一个工具,在vs命令好中可以直接调用出来 这里要记住/n:testws也即/namespace:testws中你自行定义的一个命名空间testws ,这个在你后续调用java的webservice提供的方法的时候会使用到
======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/