Web services JWSC ant任务与<;模块>;元素';s explode属性设置为true

Web services JWSC ant任务与<;模块>;元素';s explode属性设置为true,web-services,ant,weblogic,jax-rpc,Web Services,Ant,Weblogic,Jax Rpc,我正在使用WebLogic JWSC ant任务从现有wsdl生成WebLogic Web服务构件。JWSC生成所有必需的文件并将它们归档到ear文件中 因为我不希望JWSC任务创建新的application.xml,所以我通过指向现有application.xml的位置来使用JWSC任务的applicationXml属性。然后,JWSC任务通过成功添加新的标记来更新application.xml。模块标签内有标签web uri定义WAR文件的位置。到目前为止还不错 如果我将explode属性设

我正在使用WebLogic JWSC ant任务从现有wsdl生成WebLogic Web服务构件。JWSC生成所有必需的文件并将它们归档到ear文件中

因为我不希望JWSC任务创建新的application.xml,所以我通过指向现有application.xml的位置来使用JWSC任务的applicationXml属性。然后,JWSC任务通过成功添加新的
标记来更新application.xml。模块标签内有
标签<代码>web uri定义WAR文件的位置。到目前为止还不错

如果我将explode属性设置为true,则任务不会创建ear文件,而是将所有必需的文件放在一个目录中。JWSC任务也会更新指定的application.xml,但这次它将exlod目录的名称放在web uri标记中,而不带.war扩展名,尽管在这里放一个非war文件名是错误的

正确的格式应该是这样的

<module>
  <web>
    <web-uri>petStore.war</web-uri>
    <context-root>store</context-root>
  </web>
</module>

宠物商店,战争
商店
如果您没有意识到这种情况,WebLogic将找不到指定的war文件(没有.war扩展名)


有人知道为什么JWSC用错误的web uri更新application.xml吗?

我们可以在某个地方使用application.xml,当我们创建app.xml时,我们会给出
属性appxml=“${path original application.xml}”
下面是代码片段

<target name="dist-ear" depends="clean-build-webservices">
    <delete file="${build.dir}/META-INF/application.xml"/>
    <copy todir="${build.dir}/META-INF"  overwrite="true">
        <fileset dir="${webservices.resource.dir}">
            <include name="weblogic-application.xml"/>
        </fileset>
    </copy>
    <ear destfile="${dist.dir}/${webservice.name}.ear" appxml="${viwebservices.appxml.location}">
        <fileset dir="${build.dir}" includes="*.war"/>
        <zipfileset dir="${webservices.src.dir}/jdbc" prefix="jdbc"/>
        <metainf dir="${build.dir}/META-INF"/>
    </ear>
</target>