one*_*rld 7 java soap wsdl web-services
我是Web服务的新手.我正在尝试编写一个Java独立客户端,它可以从Web服务获得响应.
我尝试搜索SO和谷歌,但现在我更加困惑.以下是我经历过的广泛链接.
我有一个网址:http://api.something.com/remote/wsdl/SomeEncryptedText
我也有一个SOAP请求:
<?xml version="1.0" encoding="utf-8"?> 
<soap12:Envelope xmlns: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> 
<AuthUsername>someName@someWhere.com</AuthUsername> 
<AuthPassword>mypassword</AuthPassword> 
<Sid>12121</Sid> 
<DynamicProductFeedsRequest xmlns="http://api.something.com/remote/SomeEncryptedText"> 
</DynamicProductFeedsRequest> 
</soap12:Body> 
</soap12:Envelope> 
有了这个,我如何编写一个独立的Java客户端,我想在稍后阶段与某些Web应用程序集成?
从前面提到的资源看,有很多软件可供选择:SoapUI,WSDL2Java,Apache Axis,Maven插件,JAX-WS,Apache CXF.
我在上面提到的一个SO答案中使用了http://www.soapclient.com/soaptest.html,我可以在浏览器上获得一个完美的html/xml文件.
现在我很困惑我应该使用哪个软件?由于我在SOA中不了解任何内容,因此链接中的信息很少,我无法彼此关联.
有谁能告诉我编写一个独立的Java客户端的高级步骤,它接收WSDL URL和SOAP请求并给我输出它?
如果我错过了任何信息,请告诉我.
Buh*_*ndi 10
这个问题都取决于以下几点:
基本上,如果您使用Java注释生成Web服务,那么您将需要Java 5相关的Web服务库(支持注释).
有关使用Java Web Services with annotation(JAX-WS)的一些文章:
我将从使用不支持注释的Java生成Web Service客户端开始.生成WSDL到Java的众所周知的客户端是Apache Axis(最后一个版本是2006年4月22日发布的1.4).这基本上采用WSDL定义并将其生成回客户端.如果您使用较新版本的WSDL(1.2和2.0),它支持旧版本的WSDL(1.0)并崩溃.
这基本上做了什么,它需要您的WSDL并生成一个与您的Web服务通信的Java代理.它可以允许基于RPC和基于XML的通信.
对于支持注释的Java,有效地有两种方法:
JDK_HOME/bin/文件夹下).要使用wsimport,您基本上需要转到shell命令(或编写脚本)并有效地执行此操作:
wsimport -d [outputdir] wsdl_file
并且您的java代理将在该[outputdir]文件夹中找到.
wsimport在JDK 1.6中找到(我不知道它是否存在于早期版本中).多个源在这里,并在这里.
对于Apache Axis,Apache Axis 2或Apache CXF,有一个WSDL2Java类文件可以生成源代码.
以下是有关如何WSDL2Java在Apache CXF和Apache Axis 2中使用的指南.
我希望这能以某种方式帮助你,就像我花30分钟的时间做这件事一样.:-)
| 归档时间: | 
 | 
| 查看次数: | 7227 次 | 
| 最近记录: |