我有一个weblogic服务器,其中包含两个SOA服务器的集群。 我正在使用使用JDeveloper向导创建的SOAP servlet将servlet部署到此服务器(从WSDL创建Java Web服务 - > Java EE 1.5,支持JAX-WS Annotations) 它作为独立应用程序部署。
在开发应用程序期间,我以各种方式更改了WSDL,包括更改端口名称。
我已进入weblogic界面,删除了之前的安装并通过JDeveloper重新部署。我收到以下错误消息:
[08:44:59 PM] weblogic.management.DeploymentException:在部署WebService模块“RJMTestBannerAdapter.war”的准备阶段遇到错误。 callBannerService(WebserviceDescriptionBean)中的两个端口具有相同的名称{http://ic.ac.uk/AIAMetaData/AIAComponents/ApplicationObjectLibrary/Banner/V1/APIJavaAdapter/BannerAPIJavaAdapterWsdl} callBanner。
抱怨应用程序中有两个端口具有相同的名称。但事实并非如此。 我检查了JDeveloper生成的.war文件 WEB-INF / web.xml只有一个服务条目 WEB-INF / weblogic.xml也是正确的,只是指定了context-root。
我已经确定在weblogic服务器的某个地方必须有一些东西,当我删除应用程序时,终点没有被清除。 我检查了weblogic控制台用户界面,浏览了Web应用程序和服务列表,并确认它不存在。
weblogic服务器是否有部署计划文件或部署时正在拾取的类似文件?如果是这样,这个部署计划在哪里?
我认为这不重要,但这是我的web.xml:
<?xml version = '1.0' encoding = 'UTF-8'?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee">
<servlet>
<servlet-name>callBanner</servlet-name>
<servlet-class>ic.ac.uk.ic.rjmtest.banner.adapter.gen.main.Main_ptImpl12</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>callBanner</servlet-name>
<url-pattern>/callBanner</url-pattern>
</servlet-mapping>
</web-app>
这也是war文件中出现的weblogic.xml。 (它不在我的项目中,但JDeveloper必须生成它)
<?xml version = '1.0' encoding = 'UTF-8'?>
<weblogic-web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-web-app http://www.bea.com/ns/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd" xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app">
<context-root>RJMTestBannerAdapter</context-root>
</weblogic-web-app>
我还检查过WSDL,只有一个端口。
答案 0 :(得分:0)
我终于找到了答案。
当我使用JDeveloper重新生成服务的类时,我必须以某种方式更改名称。这导致新的java正在构建。
由于我没有删除类或部署目录,旧的文件仍在我的war文件中。所以我试图部署两个,即使我的.java文件没有反映这一点。
删除类并部署目录然后重新编译解决了问题。
这篇文章可能对遇到此错误的其他人有用!