5 Replies Latest reply on Jan 20, 2005 9:20 AM by Thomas Diesler

    Unsupported number of service elements in wsdl document

    Raja Master

      Environment: JBoss_4_0_0 on Redhat 9 with JDK 1.4.2

      I tried to deploy a EJB WebServices application that contains multiple porttypes in a single wsdl file. So my wsdl looks like

      <wsdl:definitions ......
      
       <wsdl:service name="CEEBeanEndPointService">
      
       <wsdl:port name="CEEBeanPort" binding="impl:CEEBeanPortSoapBinding">
      
       <wsdlsoap:address location="http://localhost:8080/ws4ee/services/CEEBean"/>
      
       </wsdl:port>
      
       </wsdl:service>
      
       <wsdl:service name="TestBeanEndPointService">
      
       <wsdl:port name="TestBeanPort" binding="impl:TestBeanPortSoapBinding">
      
       <wsdlsoap:address location="http://localhost:8080/ws4ee/services/TestBean"/>
      
       </wsdl:port>
      
       </wsdl:service>
      
      

      When this gets deployed, jboss is trying to rename the Endpoint where it gets deployed but since it uses the webservice-description-name for the endpoint, we get into a conflict where 2 services get mapped to a single name. Is this not supported in JBoss? I used the axis java2wsdl to generate the wsdl as described above. but it fails during deployment with the following stacktrace.
      java.lang.IllegalArgumentException: Unsupported number of service elements in wsdl document
      at org.jboss.webservice.metadata.WebserviceDescriptionMetaData.replaceAddressLocations(WebserviceDescriptionMetaData.java:241)
      at org.jboss.webservice.metadata.WebserviceDescriptionMetaData.updateServiceAddress(WebserviceDescriptionMetaData.java:229)
      at org.jboss.webservice.ServiceDeployer.startWebservice(ServiceDeployer.java:181)
      at org.jboss.webservice.ServiceDeployer.handleNotification(ServiceDeployer.java:113)
      at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:324)
      at org.jboss.mx.notification.NotificationListenerProxy.invoke(NotificationListenerProxy.java:138)
      at $Proxy20.handleNotification(Unknown Source)
      at javax.management.NotificationBroadcasterSupport.handleNotification(NotificationBroadcasterSupport.java:104)
      at javax.management.NotificationBroadcasterSupport.sendNotification(NotificationBroadcasterSupport.java:87)
      at org.jboss.deployment.SubDeployerSupport.start(SubDeployerSupport.java:178)
      at org.jboss.ejb.EJBDeployer.start(EJBDeployer.java:620)
      at org.jboss.deployment.MainDeployer.start(MainDeployer.java:935)

      Thanks
      Raja