我正在将使用 java EJB 并安装在 WebLogic 8.1 中的 Web 服务升级到 WebLogic 12c 中的 JAX-RPC Web 服务(WebLogic Server 版本:12.2.1.3.0)
它们是同一个项目中的几个 WS,具有相同的上下文根。所以每个人的地址就像:
[server]:[port]/services/ws1
[server]:[port]/services/ws2
[server]:[port]/services/ws3
...
在我的开发中,我无法为所有 Web 服务设置相同的上下文根/路径“服务”。
是否有可能对所有这些都有相同的上下文根?(像上面的例子?)
详细说明:我得到了一个“Weblogic Web Services Project”(Eclipse->新建项目->Oracle->WebLogic->Web Services->Web Service Project),里面有多个Web Services。
Web 服务是由具有 ANT wsdlc 的每个 WSDL 制成的。所以我得到了一个“ws.jar”(编译的 WSDL)和 wsImpl.java(我放我的业务代码的地方)
所以“源文件”的最终列表如下所示:
ws1.jar
wsImpl1.java
ws2.jar
wsImpl2.java
ws3.jar
wsImpl3.java
...
然后我尝试用多个 jws 运行 ANT jwsc,每个 WS 一个给他们所有 contextpath="services"。当它到达第二个 jws 时,我收到错误消息“Web 应用程序 my/package/ws2.war 的上下文路径服务已被此应用程序使用。”
<target name="build-service">
<jwsc srcdir="${src.dir}" destdir="${final.dir}/wars" verbose="true" keepGenerated="false" debug="on" includeantruntime="false">
<classpath refid="project.class.path.build.services" />
<jws file="my/package/ws1Impl.java" compiledWsdl="${output.dir}/compiledWsdl/ws1.jar">
<WLHttpTransport contextpath="services" serviceuri="ws1" portname="ws1Port" />
</jws>
<jws file="my/package/ws2Impl.java" compiledWsdl="${output.dir}/compiledWsdl/ws2.jar">
<WLHttpTransport contextpath="services" serviceuri="ws2" portname="ws2Port" />
</jws>
</jwsc>
</target>