WebLogic 提供 servicegen Ant 任務,可從既有 EJB 自動產生 WebService 部署檔 (EAR/WAR),大幅簡化發佈流程。
<target name="servicegen">
<servicegen
destEar="demoEar.ear"
warName="demoWar.war"
contextURI="demo">
<service
ejbJar="demo.jar"
targetNamespace="https://localhost:7001/demo"
serviceName="demo"
serviceURI="/demo"
generateTypes="True"
expandMethods="True" />
</servicegen>
</target>
| 屬性 | 說明 |
|---|---|
destEar | 輸出 EAR 檔名 (若非 .ear 結尾則產生同名目錄) |
warName | 內嵌 WAR 檔名 |
contextURI | Web Application Context Path |
ejbJar | 來源 EJB JAR (需含完整 ejb-jar.xml、weblogic-ejb-jar.xml 等) |
targetNamespace | WSDL targetNamespace |
serviceName | WebService 名稱 (WSDL service 元素) |
serviceURI | 服務存取路徑 |
generateTypes | 產生 XML Schema 型別定義 |
expandMethods | 展開方法簽章資訊 |
demoEar.ear,部署至 WebLogic Console 即可看到名為 demo 的 WebServicedestEar 不以 .ear 結尾,則產生同名解壓目錄,內容結構相同demo.jar 必須為可正常部署的 EJB 模組 (含類別、描述檔)taskdef)servicegen (8.1/9.x/10.x 均支援,語法略有差異)<service> 子元素可一次產生多個 WebServiceautodeploy 目錄實現熱部署適用於傳統 EJB 架構快速暴露為 WebService,現代專案建議採用 JAX-WS/JAX-RS 標準註解開發方式。