在Java EE 6中部署具有相同服务名称的多个Web服务

时间:2013-01-08 08:15:33

标签: java web-services glassfish

如果我想在一个Java EE 6 EJB模块中部署两个具有相同serviceName(但不同的targetNamespace)的webservices,我就会遇到问题。

这是我的设置:

my-webservice-ejb.jar

  • src / main / java /
    - de.xx. MyService1 .java
    @Stateless(name =“ MyServiceEJB1 ”)
    @WebService(targetNamespace =“http:// de.xx ”,serviceName =“ MyService ”,portName =“MyServicePort”,wsdlLocation =“META-INF / wsdl / MyService1.wsdl “)) - de.xx。 MyService2 .java
    @Stateless(name =“ MyServiceEJB2 ”)
    @WebService(targetNamespace =“http:// de.xx.v2 ”,serviceName =“ MyService ”,portName =“MyServicePort”,wsdlLocation =“META-INF / wsdl / MyService2.wsdl “)

  • src / main / resources / META-INF / wsdl /
    - MyService1.wsdl (使用targetNamespace http://de.xx 定义 MyService
    - MyService2.wsdl (使用targetNamespace http://de.xx.v2 定义 MyService

    < / LI>

Glassfish通过部署在此错误中运行:

无法初始化端点:错误是:
javax.xml.ws.WebServiceException:WSDL文件/ my-webservice-ejb.jar / META-INF / wsdl / MyService1.wsdl 有以下服务[{http://de.xx} MyService]但不是{http://de.xx.v2} MyService。
也许你忘了在@WebService / @WebServiceProvider中指定serviceName和/或targetNamespace?

如果我在不同的ejb.jar(my-webservice1-ejb.jar&amp; my-webservice2-ejb.jar)中拆分服务EJB(相同的代码和注释),那么部署运行没有任何问题。

0 个答案:

没有答案