我继承了Java应用程序的代码库,它与一些SOAP Web服务进行了对话。使用调用wsdl2java的ANT任务生成执行此操作的代理类。由于我的Java经验非常有限,我仍然试图了解这一切是如何运作的。
项目中有一个build-wsdl2java.xml文件,似乎包含类生成所需的配置信息。当前的文件目前具有当前不支持的属性(namespacesmapfile,overWriteTypes,testcaseoverwrite),但如果我尝试通过将第一个更改为'namespacemappingfile'并删除其他文件来解决此问题,则属性会在项目为清洗。如果更改了WSDL,则URL也会恢复。
什么控制此文件的生成,以及在何处定义它包含的配置参数?
答案 0 :(得分:2)
终于找到了控制它的东西,更重要的是,再次编译了东西。我正在使用JBuilder 2008(来自Embarcadero Technologies的基于Eclipse的Java IDE),看起来客户端代理类是通过使用内置支持的JBuilders从WSDL生成的,这实际上是Noergaarde所提到的wsdl2java的包装器。
为了设置诸如WSDL的URL之类的设置,我不得不切换到Modeling透视图,并使用Model Navigator更改URL,方法是在Web Service Client节点下选择类并使用Properties视图
答案 1 :(得分:1)
当您构建项目时,build-wsdl2java.xml的时间戳是否会发生变化?即。这个文件是由另一个ant文件中的构建生成的吗?
无论如何,听起来您的客户端存根肯定是使用AXIS生成的。
http://ws.apache.org/axis/java/user-guide.html#WSDL2JavaBuildingStubsSkeletonsAndDataTypesFromWSDL