[jbossws-dev] [Design of JBoss Web Services] - JBWS-1178 implementation trouble

maeste do-not-reply at jboss.com
Mon Nov 20 04:19:15 EST 2006


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 at 1681460{name=file:/dati/jboss/server/lintec/deploy/jbossws.sar/jbossws.beans/META-INF/jboss-beans.xml installed=true beans=[AbstractBeanMetaData at 11e9eb{name=ServiceEndpointManager bean=org.jboss.ws.server.ServiceEndpointManager properties=[webServiceHost, serviceEndpointInvokerEJB21, serviceEndpointInvokerEJB3, serviceEndpointInvokerJSE, serviceEndpointInvokerMDB, alwaysModifySOAPAddress] constructor=null}, AbstractBeanMetaData at 147bc1{name=ServiceEndpointDeployer bean=org.jboss.ws.deployment.ServiceEndpointDeployer properties=[serviceEndpointManager] constructor=null}, AbstractBeanMetaData at c8ea1a{name=ServiceEndpointPublisher bean=org.jboss.ws.integration.jboss.JBossServiceEndpointPublisher properties=[serviceEndpointDeployer, serviceEndpointServlet] constructor=null}, AbstractBeanMetaData at 818de3{name=JMSMessageDispatcher bean=org.jboss.ws.integration.jboss.jms.JMSMessageDispatcher properties= constructor=null}, AbstractBeanMetaData at 18a3257{name=SubscriptionManager bean=org.jboss.ws.eventing.mgmt.SubscriptionManager properties=[defaultLeaseTimeMins, maxLeaseTimeMins] constructor=null}, AbstractBeanMetaData at 1ef0b44{name=ServerConfig bean=org.jboss.ws.integration.jboss.ServerConfigImpl properties= constructor=null}, AbstractBeanMetaData at 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.

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3987238#3987238

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3987238




More information about the jbossws-dev mailing list