6 Replies Latest reply on Oct 30, 2008 8:00 AM by jordanmoore

    webservice_producer deployment failing on WebserviceContract

      Java 5
      ESB 4.4.GA
      AS 4.2.2.GA

      I am trying to do a basic deploy of the webservice_producer quickstart and I am getting stalled up with errors regarding the WebserviceContractPublisher. After looking at the code, I am not sure that this is really where the problem is originating. I first thought that others must be bumping into a problem with this common quickstart, but when I didn't find any similar postings it got me thinking that perhaps I have something off. I am including my deploy (ant deploy) console results.

      Hopefully someone with more experience can give some guidance on what I might be doing wrong. Thanks in advance.

      08:25:42,590 INFO [Server] JBoss (MX MicroKernel) [4.2.2.GA (build: SVNTag=JBoss_4_2_2_GA date=200710221139)] Started in 55s:93ms
      08:27:51,963 INFO [DefaultEndpointRegistry] register: jboss.ws:context=Quickstart_webservice_producer,endpoint=GoodbyeWorldWS
      08:27:51,963 INFO [JBoss4ESBDeployer] create esb service, Quickstart_webservice_producer.esb
      08:27:51,979 INFO [quickstart_webservice_producer_gw] Bound to JNDI name: queue/quickstart_webservice_producer_gw
      08:27:51,979 INFO [quickstart_webservice_producer_esb] Bound to JNDI name: queue/quickstart_webservice_producer_esb
      08:27:51,979 INFO [quickstart_webservice_producer_esb_reply] Bound to JNDI name: queue/quickstart_webservice_producer_esb_reply
      08:27:52,088 INFO [ClassUtil] Loaded 4 classes from 2 URLs through class list file META-INF/content-handlers.inf. Process took 16ms. Turn on debug logging for more info.
      08:27:52,119 WARN [ServiceController] Problem starting service jboss.esb:deployment=Quickstart_webservice_producer.esb
      java.lang.RuntimeException: java.lang.RuntimeException: Failed to instantiate Contract Publisher 'org.jboss.soa.esb.actions.soap.WebserviceContractPublisher'. Class must implement a public default constructor.
       at org.jboss.soa.esb.listeners.config.Configuration.create(Configuration.java:132)
       at org.jboss.soa.esb.listeners.config.JBoss4ESBDeployment.startService(JBoss4ESBDeployment.java:82)
       at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289)
       at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245)
       at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
       at java.lang.reflect.Method.invoke(Unknown Source)
       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.start(Unknown Source)
       at org.jboss.system.ServiceController.start(ServiceController.java:417)
       at org.jboss.system.ServiceController.start(ServiceController.java:435)
       at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
       at java.lang.reflect.Method.invoke(Unknown Source)
       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 $Proxy4.start(Unknown Source)
       at org.jboss.deployment.SARDeployer.start(SARDeployer.java:302)
       at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1025)
       at org.jboss.deployment.MainDeployer.start(MainDeployer.java:1015)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:819)
       at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
       at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
       at java.lang.reflect.Method.invoke(Unknown Source)
       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 $Proxy9.deploy(Unknown Source)
       at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:421)
       at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:634)
       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)
      Caused by: java.lang.RuntimeException: Failed to instantiate Contract Publisher 'org.jboss.soa.esb.actions.soap.WebserviceContractPublisher'. Class must implement a public default constructor.
       at org.jboss.soa.esb.listeners.config.ServicePublisher.getConractPublisher(ServicePublisher.java:169)
       at org.jboss.soa.esb.listeners.config.ServicePublisher.addServicePublishers(ServicePublisher.java:107)
       at org.jboss.soa.esb.listeners.config.Configuration.create(Configuration.java:120)
       ... 48 more
      Caused by: java.lang.IllegalStateException: Error processing resource file 'null-dom.cdrl'.
       at org.milyn.cdr.SmooksResourceConfigurationStore.registerInstalledResources(SmooksResourceConfigurationStore.java:169)
       at org.milyn.cdr.SmooksResourceConfigurationStore.<init>(SmooksResourceConfigurationStore.java:102)
       at org.milyn.container.standalone.StandaloneApplicationContext.<init>(StandaloneApplicationContext.java:51)
       at org.milyn.Smooks.<init>(Smooks.java:93)
       at org.milyn.Smooks.<init>(Smooks.java:111)
       at org.jboss.soa.esb.actions.soap.WebserviceContractPublisher.initializeTransform(WebserviceContractPublisher.java:179)
       at org.jboss.soa.esb.actions.soap.WebserviceContractPublisher.setActionConfig(WebserviceContractPublisher.java:81)
       at org.jboss.soa.esb.listeners.config.ServicePublisher.getConractPublisher(ServicePublisher.java:164)
       ... 50 more
      Caused by: java.lang.IllegalArgumentException: null 'element' arg in method call.
       at org.milyn.assertion.AssertArgument.isNotNull(AssertArgument.java:39)
       at org.milyn.xml.DomUtils.getAttributeValue(DomUtils.java:473)
       at org.milyn.xml.DomUtils.getAttributeValue(DomUtils.java:458)
       at org.milyn.cdr.XMLConfigDigester.digestV10XSDValidatedConfig(XMLConfigDigester.java:157)
       at org.milyn.cdr.XMLConfigDigester.digestConfig(XMLConfigDigester.java:93)
       at org.milyn.cdr.XMLConfigDigester.digestConfig(XMLConfigDigester.java:68)
       at org.milyn.cdr.SmooksResourceConfigurationStore.registerResources(SmooksResourceConfigurationStore.java:230)
       at org.milyn.cdr.SmooksResourceConfigurationStore.registerInstalledResources(SmooksResourceConfigurationStore.java:167)
       ... 57 more
      08:27:52,135 INFO [TomcatDeployer] deploy, ctxPath=/Quickstart_webservice_producer, warUrl=.../tmp/deploy/tmp3310Quickstart_webservice_producer.esb-contents/Quickstart_webservice_producer-exp.war/
      08:27:53,369 INFO [WSDLFilePublisher] WSDL published to: file:/C:/jboss-4.2.2.GA/server/default/data/wsdl/Quickstart_webservice_producer.esb/Quickstart_webservice_producer.war/GoodbyeWorldWSService3311.wsdl
      08:27:53,400 ERROR [URLDeploymentScanner] Incomplete Deployment listing:
      
      --- MBeans waiting for other MBeans ---
      ObjectName: jboss.esb:deployment=Quickstart_webservice_producer.esb
       State: FAILED
       Reason: java.lang.RuntimeException: java.lang.RuntimeException: Failed to instantiate Contract Publisher 'org.jboss.soa.esb.actions.soap.WebserviceContractPublisher'. Class must implement a public default constructor.
       I Depend On:
       jboss.esb.quickstart.destination:service=Queue,name=quickstart_webservice_producer_esb_reply
       jboss.esb.quickstart.destination:service=Queue,name=quickstart_webservice_producer_esb
       jboss.esb:deployment=jbossesb.esb
       jboss.esb.quickstart.destination:service=Queue,name=quickstart_webservice_producer_gw
       jboss.esb:deployment=soap.esb
      
      --- MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM ---
      ObjectName: jboss.esb:deployment=Quickstart_webservice_producer.esb
       State: FAILED
       Reason: java.lang.RuntimeException: java.lang.RuntimeException: Failed to instantiate Contract Publisher 'org.jboss.soa.esb.actions.soap.WebserviceContractPublisher'. Class must implement a public default constructor.
       I Depend On:
       jboss.esb.quickstart.destination:service=Queue,name=quickstart_webservice_producer_esb_reply
       jboss.esb.quickstart.destination:service=Queue,name=quickstart_webservice_producer_esb
       jboss.esb:deployment=jbossesb.esb
       jboss.esb.quickstart.destination:service=Queue,name=quickstart_webservice_producer_gw
       jboss.esb:deployment=soap.esb
      


        • 1. Re: webservice_producer deployment failing on WebserviceCont

          I'll add that I generally have not had problems deploying and working with other quickstarts so far. This is the first one I have deployed that involves deploying a webservice, and webservice contract publishing. I have not changed anything in the quickstart...I'm deploying it just how it came in the 4.4 distro.

          • 2. Re: webservice_producer deployment failing on WebserviceCont
            beve

             

            Caused by: java.lang.IllegalStateException: Error processing resource file 'null-dom.cdrl'.
            at org.milyn.cdr.SmooksResourceConfigurationStore.registerInstalledResources(SmooksResourceConfigur
            ationStore.java:169)
            at org.milyn.cdr.SmooksResourceConfigurationStore.<init>(SmooksResourceConfigurationStore.java:102)
            at org.milyn.container.standalone.StandaloneApplicationContext.<init>(StandaloneApplicationContext.java:51)


            Can you check that you have updated smooks.esb. The file 'null-dom.cdrl' is located in milyn-smooks-core-1.0.1.jar and perhaps you have an older version?
            Is this a fresh ESB 4.4 installation or did you have a previous version installed?

            Regards,

            /Daniel

            • 3. Re: webservice_producer deployment failing on WebserviceCont

              Greetings Daniel,

              It is a fresh ESB 4.4 (no priors) install to AS 4.2.2

              I checked the smooks.esb and the milyn-smooks* jars (including core) are all 1.0.1

              • 4. Re: webservice_producer deployment failing on WebserviceCont

                The chain of events is something like:

                org.milyn.cdr.XMLConfigDigester:

                 private static void digestV10XSDValidatedConfig(String baseURI, Document configDoc, SmooksResourceConfigurationList list) throws SAXException, URISyntaxException, SmooksConfigurationException {
                 Element currentElement;
                
                 currentElement = (Element) XmlUtil.getNode(configDoc, "/smooks-resource-list");
                 String defaultSelector = DomUtils.getAttributeValue(currentElement, "default-selector");
                


                Which calls org.milyn.xml.DomUtils.getAttributeValue(), which leads to the following being ran:

                public static String getAttributeValue(Element element, String attributeName, String namespaceURI) {
                 AssertArgument.isNotNull(element, "element");
                 AssertArgument.isNotNullAndNotEmpty(attributeName, "attributeName");
                


                Which fails on the first AssertArgument.isNotNull() call:

                 public static void isNotNull(Object arg, String argName)
                 throws IllegalArgumentException {
                 if (arg == null) {
                 throw new IllegalArgumentException("null '" + argName
                 + "' arg in method call.");
                 }
                 }
                


                It fails on the very first reference to the element which should be "smooks-resource-list" in the null-dom.cdrl file in the milyn-smooks-core-1.0.1.jar which is present and being used by some of the code above.

                I'm sure there is a way, but I don't see how I could have done anything differently. Can anyone reproduce this when trying to "ant deploy" on the webservice_producer quickstart?








                • 5. Re: webservice_producer deployment failing on WebserviceCont
                  beve

                  Hi,

                  I've tried to reproduce this by taking the following steps:


                  1. Update install/deploy.properties to point to my jboss-4.2.2.GA installation.
                  2. 'ant deploy' to deploy JBossESB4.4
                  3. started JBossAS 4.2.2.GA
                  4. 'ant deploy (in quickstart/webservice_producer)
                  5. 'ant runtest'


                  This works for me and I'm not getting the error that you mentioned. Are these the same steps that you took?

                  Regards,

                  /Daniel

                  • 6. Re: webservice_producer deployment failing on WebserviceCont

                    Yes. Basically.

                    Thank you for taking the time to do that. Because I was on my way to starting again with that course of action just to see if it would work. My AS 4.2.2 is a pre-existing server with a few things running on it. Though my ESB 4.4 was a fresh copy.

                    I have walked through the smooks code, and narrowed it down to the line that is failing. It is getting back a bad element somehow (smooks-resource-list) from that .cdrl file. Though I have been able to test that the file is found and that it is validating against its schema properly. Which one would expect since it is the default goods that came in the smooks core 1.0.1 package. So I am starting to suspect that I have some type of xml/xpath badness going on...perhaps an older jar living on the AS somewhere that is producing null elements and tripping up smooks.

                    So I'm hopeful I'll knock this problem out today with a little detective work. While starting with a fresh AS (like you did) would prove that the problem is on my side (which it has), I still have to figure out the problem because I have to use the AS server I am using.

                    If I come up with anything useful to all, I'll repost. In the meantime, thank you for giving my post some attention.