首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WSDL2Java不会创建所有存根

WSDL2Java不会创建所有存根
EN

Stack Overflow用户
提问于 2010-08-11 19:15:35
回答 2查看 4.8K关注 0票数 1

我正在使用Apache,更具体地说,使用wsdl2java工具来生成web服务的存根并创建客户端。

当我尝试为paypal web服务(它的wsdl文件是here)生成存根类时,axis不会为包含到wsdl的两个绑定生成存根,而只为第二个绑定(PayPalAPIAASoapBinding)生成存根。

以前有人使用过apache的wsdl2java工具来处理这个wsdl吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-09-25 18:58:54

我也一直在为此而苦苦挣扎。

简短的回答:

-pn PayPalAPI附加到Axis2命令。

长长的答案:

看一下PayPal WSDL的以下几行:

代码语言:javascript
复制
<wsdl:service name="PayPalAPIInterfaceService">
    <wsdl:port name="PayPalAPI" binding="ns:PayPalAPISoapBinding">
        <wsdlsoap:address location="https://api.sandbox.paypal.com/2.0/"/>
    </wsdl:port>
    <wsdl:port name="PayPalAPIAA" binding="ns:PayPalAPIAASoapBinding">
        <wsdlsoap:address location="https://api-aa.sandbox.paypal.com/2.0/"/>
    </wsdl:port>
</wsdl:service>

显然,WSDL指定了1个具有2个端口的服务。我们的问题是Axis2只为第二个端口"PayPalAPIAA“创建存根,而不是为端口"PayPalAPI”创建存根。

现在,看看Axis2命令行选项参考(http://ws.apache.org/axis2/tools/1_2/CodegenToolReference.html#cmdref),特别是选项-pn的描述

“指定要代码生成的端口名称。如果未指定端口名称,则将选择(所选服务的)第一个端口。”

因此,指定-pn PayPalAPI就可以了。

票数 2
EN

Stack Overflow用户

发布于 2010-08-11 21:05:07

阿邦

我使用Eclipse创建了一个新的Web服务客户端项目,并指向您提到的URL。我想我能够创建这两个存根。您可以尝试一次从Eclipse IDE创建存根吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3457672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档