仓酷云
标题:
JAVA网页设计JAVA 挪用Web Service的办法仓酷云
[打印本页]
作者:
第二个灵魂
时间:
2015-1-18 11:15
标题:
JAVA网页设计JAVA 挪用Web Service的办法仓酷云
还得说上一点,就java本质而言,是面相对象的,但是你有没有发现,java也不全是,比如说基本类型,int,那他就是整型而不是对象,转换类型是还得借助包装类。
1.利用HttpClient
用到的jar文件:commons-httpclient-3.1.jar
办法:
事后界说好Soap哀求数据,能够借助于XMLSpyProfessional软件来做这一步天生。
登录/注册后可看大图
2224092520-1.gif
(59 Bytes, 下载次数: 13)
下载附件
保存到相册
JAVA网页设计JAVA 挪用Web Service的办法仓酷云
2015-1-18 11:15 上传
StringsoapRequestData="<?xmlversion="1.0"encoding="utf-8"?>"+
"<soap12:Envelopexmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">"+
"<soap12:Body>"+
"<getCountryCityByIpxmlns="http://WebXml.com.cn/">"+
"<theIpAddress>219.137.167.157</theIpAddress>"+
"</getCountryCityByIp>"+
"</soap12:Body>"+
"</soap12:Envelope>";
然后界说一个PostMethod,这时候必要指定web服务的Url;
PostMethodpostMethod=newPostMethod(“http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx”);
然后把Soap哀求数据增加到PostMethod中
byte[]b=soapRequestData.getBytes("utf-8");
InputStreamis=newByteArrayInputStream(b,0,b.length);
RequestEntityre=newInputStreamRequestEntity(is,b.length,"application/soap+xml;charset=utf-8");
postMethod.setRequestEntity(re);
最初天生一个HttpClient对象,并收回postMethod哀求
HttpClienthttpClient=newHttpClient();
statusCode=httpClient.executeMethod(postMethod);
StringsoapRequestData=postMethod.getResponseBodyAsString();
soapRequestData就是挪用web服务的Soap呼应数据,是xml格局的,能够经由过程剖析soapRequestData来取得挪用web服务的前往值。
2.利用Xfire
用到的jar文件xfire-all-1.2.4.jar,jdom-1.0.jar
办法:
界说一个Client对象,指定web服务的wsdl的地点
Clientc=newClient(newURL(“http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx?wsdl”));
挪用Client对象的invoke办法,指定web服务的办法名,和参数,前往值是一个Object型的数组。
上面代码挪用getVersionTime办法,这个办法没有参数用以是后一个参数利用newObject[0]。
Object[]results=c.invoke(“getVersionTime”,newObject[0]);
3.利用axis2
下载axis2-1.4
办法:
翻开把持台,进进axis2-1.4/bin目次
wsdl2java.bat-urihttp://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx?wsdl-pws.clinet.axis2
上述命令实行完后,会在以后目次下天生一个src目次,在srcwsclinetaxis2目次里天生XXXXCallbackHandler.java和XXXXStub.java两个文件。
wsdl2java会依据wsdl文件天生web服务的挪用接口,参数类,前往值的类。
在挪用webservice的时分间接实例化一个XXXXStub的对象,然后挪用web服务的办法就能够了。
4.总结
针对某种工具搭建的WebService服务大概有与其对应的更复杂的挪用办法,在这里没有做形貌,上述的挪用web服务的办法是通用的。
上述三种办法中利用httpclient应当是对照天真,可是开辟效力低,难度年夜,利用Xfire和axis2对照简单,开辟速率快,可是axis2通用性欠好,有的web服务用axis2欠好用。httpclient和Xfire通用性对照好,鉴于以上特性保举利用Xfire。
你希望java的IDE整合。这个是没有必要的,重要的是你理解java有多深以及怎么组织你的代码,即使没有IDE,代码照样能够编译运行的。
作者:
若天明
时间:
2015-1-19 17:12
是一种将安全性(Security)列为第一优先考虑的语言
作者:
小女巫
时间:
2015-1-24 14:51
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
作者:
只想知道
时间:
2015-1-26 23:48
[url]http://www.jdon.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://nro.shtdu.edu.cn[/url]去下,安装上有什么问题,可以到论坛上去提问。
作者:
再见西城
时间:
2015-1-30 09:23
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
作者:
小妖女
时间:
2015-2-2 22:29
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
作者:
飘灵儿
时间:
2015-2-6 03:11
你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。
作者:
若相依
时间:
2015-2-9 13:11
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
作者:
精灵巫婆
时间:
2015-2-27 06:37
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
作者:
爱飞
时间:
2015-3-12 20:25
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
作者:
老尸
时间:
2015-3-20 02:15
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2