2 Replies Latest reply on Nov 23, 2006 8:34 AM by Stefano Maestri

    JBWS-1178 implementation trouble

    Stefano Maestri Expert

      I got jbossws-1.0.4 and I installed it in my environment (for the description of the environment refer to my original blog post about multiple virtual host:
      http://www.javalinux.it/blogs/index.php?title=multiple_virtual_host_and_soap_address_p&more=1&c=1&tb=1&pb=1).

      There are some problems

      If I follow instruction in jboss-beans.xml leaving webservicehost as a null string I get this Exception during deploy of jbossws:

      09:11:02,349 ERROR [AbstractKernelController] Error installing to Configured: name=ServiceEndpointManager state=Instantiated mode=Manual requiredState=Create
      java.lang.IllegalArgumentException: Null value metadata
       at org.jboss.kernel.plugins.config.Configurator.getPropertySetterJoinPoint(Configurator.java:487)
       at org.jboss.kernel.plugins.config.Configurator.getPropertySetterJoinPoint(Configurator.java:434)
       at org.jboss.kernel.plugins.config.Configurator.getPropertySetterJoinPoints(Configurator.java:398)
       at org.jboss.kernel.plugins.config.AbstractKernelConfigurator.getPropertySetterJoinPoints(AbstractKernelConfigurator.java:112)
       at org.jboss.kernel.plugins.dependency.KernelControllerContextActions$ConfigureAction.installAction(KernelControllerContextActions.java:313)
       at org.jboss.kernel.plugins.dependency.KernelControllerContextActions$KernelControllerContextAction.install(KernelControllerContextActions.java:147)
       at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
       at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:226)
       at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:593)
       at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:346)
       at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:438)
       at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:379)
       at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:225)
       at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:151)
       at org.jboss.kernel.plugins.deployment.AbstractKernelDeployer.deployBean(AbstractKernelDeployer.java:291)
       at org.jboss.kernel.plugins.deployment.AbstractKernelDeployer.deployBeans(AbstractKernelDeployer.java:261)
       at org.jboss.kernel.plugins.deployment.AbstractKernelDeployer.deploy(AbstractKernelDeployer.java:117)
       at org.jboss.kernel.deployment.jboss.JBossBeanDeployment.createService(JBossBeanDeployment.java:69)
       at org.jboss.system.ServiceMBeanSupport.jbossInternalCreate(ServiceMBeanSupport.java:260)
       at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:243)
       at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
       at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
       at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
       at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
       at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978)
       at $Proxy0.create(Unknown Source)
       at org.jboss.system.ServiceController.create(ServiceController.java:330)
       at org.jboss.system.ServiceController.create(ServiceController.java:273)
       at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
       at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
       at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
       at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
       at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
       at $Proxy16.create(Unknown Source)
       at org.jboss.deployment.SimpleSubDeployerSupport.createService(SimpleSubDeployerSupport.java:338)
       at org.jboss.deployment.SimpleSubDeployerSupport.create(SimpleSubDeployerSupport.java:102)
       at org.jboss.deployment.MainDeployer.create(MainDeployer.java:969)
       at org.jboss.deployment.MainDeployer.create(MainDeployer.java:959)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:818)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
       at sun.reflect.GeneratedMethodAccessor17.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
       at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
       at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
       at org.jboss.mx.interceptor.AbstractInterceptor.invoke(AbstractInterceptor.java:133)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
       at org.jboss.mx.interceptor.ModelMBeanOperationInterceptor.invoke(ModelMBeanOperationInterceptor.java:142)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
       at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
       at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210)
       at $Proxy8.deploy(Unknown Source)
       at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:421)
       at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:610)
       at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.doScan(AbstractDeploymentScanner.java:263)
       at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.loop(AbstractDeploymentScanner.java:274)
       at org.jboss.deployment.scanner.AbstractDeploymentScanner$ScannerThread.run(AbstractDeploymentScanner.java:225)
      09:11:02,546 WARN [ServiceController] Problem starting service jboss.beans:service=JBossBeanDeployment,name='jbossws.sar#jbossws.beans'
      org.jboss.deployment.DeploymentException: Cannot start AbstractKernelDeployment@1681460{name=file:/dati/jboss/server/lintec/deploy/jbossws.sar/jbossws.beans/META-INF/jboss-beans.xml installed=true beans=[AbstractBeanMetaData@11e9eb{name=ServiceEndpointManager bean=org.jboss.ws.server.ServiceEndpointManager properties=[webServiceHost, serviceEndpointInvokerEJB21, serviceEndpointInvokerEJB3, serviceEndpointInvokerJSE, serviceEndpointInvokerMDB, alwaysModifySOAPAddress] constructor=null}, AbstractBeanMetaData@147bc1{name=ServiceEndpointDeployer bean=org.jboss.ws.deployment.ServiceEndpointDeployer properties=[serviceEndpointManager] constructor=null}, AbstractBeanMetaData@c8ea1a{name=ServiceEndpointPublisher bean=org.jboss.ws.integration.jboss.JBossServiceEndpointPublisher properties=[serviceEndpointDeployer, serviceEndpointServlet] constructor=null}, AbstractBeanMetaData@818de3{name=JMSMessageDispatcher bean=org.jboss.ws.integration.jboss.jms.JMSMessageDispatcher properties= constructor=null}, AbstractBeanMetaData@18a3257{name=SubscriptionManager bean=org.jboss.ws.eventing.mgmt.SubscriptionManager properties=[defaultLeaseTimeMins, maxLeaseTimeMins] constructor=null}, AbstractBeanMetaData@1ef0b44{name=ServerConfig bean=org.jboss.ws.integration.jboss.ServerConfigImpl properties= constructor=null}, AbstractBeanMetaData@ccadbd{name=KernelLocator bean=org.jboss.ws.server.KernelLocator properties= constructor=null}]}; - nested throwable: (java.lang.IllegalStateException: Incompletely deployed:
      
      *** DEPLOYMENTS IN ERROR:
      ServiceEndpointManager -> java.lang.IllegalArgumentException: Null value metadata
      

      If I comment the webServiceHost tag the deploy works correctly. I think here the explaination in the commented part of jboss-beans.xml have to be changed .


      The current implementation only replaces the host name, but not the port used to call the webservice. I think the port replacing is also very important in an environment of complete virtual hosting like our one. Using Linux Virtual Server is normal to virtualize ports. For example we use ports > 1024 on real servers and standard 80/443 ports on virtual servers
      You didn't apply the patch on showServiceEndpointTable method in ServiceEndPointManager. This method is called from context servlets and IMHO have to replace host and ports accordingly to wsdl's replacing. Otherwise you get an horrible list of wsdl pointing to "http://jbossws.undefined.host/..." and of course links do not work


      If you agree, making a patch about these issues should be very easy for me.