2012-09-21 16 views
1

我正在使用WebLogic JWSC ant任務從現有wsdl生成WebLogic Web Service構件。 JWSC生成所有必需的文件並將它們歸檔到耳朵文件中。JWSC ant任務<module>元素的explode屬性設置爲true

由於我不希望JWSC任務創建新的application.xml,因此我通過指向現有application.xml的位置來使用JWSC任務的applicationXml屬性。然後,JWSC任務通過成功添加新的<module>標籤來更新application.xml。模塊標籤內有<web-uri>標籤。 web-uri定義了WAR文件的位置。到現在爲止還挺好。

如果我將explode屬性設置爲true,則任務不會創建ear文件,將所有必需的文件放入目錄中。 JWSC任務也會更新指定的application.xml,但是這次它將exloded目錄的名稱放到沒有.war擴展名的web-uri標籤中,儘管在這裏放置一個非war文件名是錯誤的。

正確的格式應該是這樣的

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

如果你沒有意識到的情況下,WebLogic將找不到指定war文件(沒有.war擴展名)

有誰知道爲什麼的jwsc用錯誤的web-uri更新application.xml?

回答

2

我們可以有一定的application.xml地方,當我們創建一個app.xml中,我們將在下面給出property 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>