首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在调用extraClasses时将java2wsdl选项添加到java2wsdl脚本中?

如何在调用extraClasses时将java2wsdl选项添加到java2wsdl脚本中?
EN

Stack Overflow用户
提问于 2012-11-30 17:27:24
回答 2查看 703关注 0票数 1

我想在生成extraClasses时传递java2wsdl参数。下面是我的Ant任务:

代码语言:javascript
复制
<target name="rews.all" depends="xews.aar">
    <echo message="${axis2.classpath}" />
    <delete file="${build.dir}/wsdl/XEWS.wsdl" />
    <taskdef name="java2wsdl"
             classname="org.apache.ws.java2wsdl.Java2WSDLTask"
             classpathref="axis2.classpath">                 
    </taskdef>
    <java2wsdl className="com.dd.xews.XEWS"
               outputLocation="${build.dir}/wsdl/"
               targetNamespace="http://xews.dd.com/"
               schemaTargetNamespace="http://xews.dd.com">
        <classpath>
            <pathelement path="${axis2.classpath}"/>
            <pathelement location="${build.dir}/classes"/>
            <pathelement location="${vendor.dir}/AWS/lib/aws-java-sdk-1.2.1.jar"/>
        </classpath>            
    </java2wsdl>
    <copy todir="${build.dir}/" file="${build.dir}/wsdl/XEWS.wsdl"/>
</target>

什么都试过了,但没有运气。

有人知道语法吗?我如何在这里添加extraClasses?

Test1 (失败)

这与错误java2wsdl doesn't support the "extraClasses" attribute失败

代码语言:javascript
复制
<java2wsdl className             ="com.dd.xews.XEWS"
           outputLocation        ="${build.dir}/wsdl/"
           targetNamespace       ="http://xews.dd.com/"
           schemaTargetNamespace ="http://xews.dd.com"
           extraClasses          ="com.dd.xews.XEWS.Emailer.java">  
</java2wsdl>

如何找出属性确实支持

我的Axis2版本是1.5.4。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-03 11:08:43

这里有一个指向Ant任务源代码的链接:Java2WSDLTask

#setExtraClasses接受字符串参数,然后尝试使用逗号分隔符将其拆分。所以试着传递这样的东西

<extraClasses>com.test.Class1,com.test.Class2</extraClasses>

编辑

这在较早版本的Axis2 (更准确地说是1.6.0之前的版本)中行不通。这是因为'extraClasses‘属性被指定为数组类型,这显然不受Ant任务属性的支持。您可以找到JIRA问题的所有细节:AXIS2-4634: Ant任务Java2WSDLTask不允许使用extraClasses

使其工作的最简单方法是将Axis2 JAR升级到更新的1.6.x版本。如果您由于某些特定于项目的原因(我认为不应该有任何原因)而使用Axis2版本,您可以从较新的版本中获取Java2WSDLTask的源代码(参见上面指向GrepCode的链接),并在您的项目中复制该任务(您必须使用不同的类名或包),然后将其作为一个Ant使用,就像您当前使用它一样。除了可以使用'extraClasses‘属性。

票数 1
EN

Stack Overflow用户

发布于 2013-11-15 20:57:07

Axis2 1.4和更高版本支持"-xc“属性。我就是这样做的:

代码语言:javascript
复制
<java classname="org.apache.ws.java2wsdl.Java2WSDL" fork="true">
   ....
   <arg value="-xc"/>
   <arg value="com.example.mypackage.MyClass"/>
   <arg value="-xc"/>
   <arg value="com.example.anotherpackage.MyOtherClass"/>
   ....
</java>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13650112

复制
相关文章

相似问题

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