1 Reply Latest reply: Apr 24, 2012 10:19 AM by ryanpkane RSS

    Invoke Web Service Component - SOAPUI issues and "Embed WSDL" not working

    ryanpkane Community Member

      I have a LiveCycle ES3 process that has a watch folder that receives XML files.  The XML files are merged with templates, and the resulting PDF is then dispatched to a printer.  Then a web service call is made to the server that delivered the XML files, which signals that the document has been printed.  Here's my problem.  When LiveCycle boots, everything starts fine, but when I drop multiple documents in the watch folder, I see the following message in the logs:

       

      2012-04-23 10:00:14,957 INFO  [STDOUT] Configuring log4j from [jar:file:/usr/data/adobe_livecycle_es3/tmp/adobejb_server1/ArchiveStore/5029/soapui-2.0. 2.jar!/soapui-log4j.xml]

      2012-04-23 10:00:14,962 INFO  [STDOUT] Configuring log4j from [jar:file:/usr/data/adobe_livecycle_es3/tmp/adobejb_server1/ArchiveStore/5029/soapui-2.0. 2.jar!/soapui-log4j.xml]

      2012-04-23 10:00:14,957 INFO  [STDOUT] Configuring log4j from [jar:file:/usr/data/adobe_livecycle_es3/tmp/adobejb_server1/ArchiveStore/5029/soapui-2.0. 2.jar!/soapui-log4j.xml]

      2012-04-23 10:00:15,018 INFO  [STDOUT] Configuring log4j from [jar:file:/usr/data/adobe_livecycle_es3/tmp/adobejb_server1/ArchiveStore/5029/soapui-2.0. 2.jar!/soapui-log4j.xml]

      2012-04-23 10:00:15,023 INFO  [STDOUT] Configuring log4j from [jar:file:/usr/data/adobe_livecycle_es3/tmp/adobejb_server1/ArchiveStore/5029/soapui-2.0. 2.jar!/soapui-log4j.xml]

      2012-04-23 10:00:15,007 INFO  [STDOUT] Configuring log4j from [jar:file:/usr/data/adobe_livecycle_es3/tmp/adobejb_server1/ArchiveStore/5029/soapui-2.0. 2.jar!/soapui-log4j.xml]

       

      Unfortunately, the SOAPUI class that is trying to load log4j is not really safe to be using from muliple threads like this, and it leads to a null pointer exception that looks something like this:

       

      2012-04-23 10:00:14,901 ERROR [STDERR] java.lang.NullPointerException

      2012-04-23 10:00:14,905 ERROR [STDERR]  at com.eviware.soapui.DefaultSoapUICore.initSettings(DefaultSoapUICore.java:129)

      2012-04-23 10:00:14,905 ERROR [STDERR]  at com.eviware.soapui.DefaultSoapUICore.getSettings(DefaultSoapUICore.java:192)

      2012-04-23 10:00:14,905 ERROR [STDERR]  at com.eviware.soapui.SoapUI.getSettings(SoapUI.java:1019)

      2012-04-23 10:00:14,905 ERROR [STDERR]  at com.eviware.soapui.impl.wsdl.AbstractWsdlModelItem.setConfig(AbstractWsdlModelItem.java:1 16)

      2012-04-23 10:00:14,905 ERROR [STDERR]  at com.adobe.idp.dsc.webservice.MyWsdlProject.setConfig(WebServiceSoapUIInvoker.java:572)

      2012-04-23 10:00:14,905 ERROR [STDERR]  at com.adobe.idp.dsc.webservice.MyWsdlProject.setConfig(WebServiceSoapUIInvoker.java:567)

      2012-04-23 10:00:14,905 ERROR [STDERR]  at com.eviware.soapui.impl.wsdl.WsdlProject.<init>(WsdlProject.java:190)

      2012-04-23 10:00:14,906 ERROR [STDERR]  at com.eviware.soapui.impl.wsdl.WsdlProject.<init>(WsdlProject.java:126)

      2012-04-23 10:00:14,906 ERROR [STDERR]  at com.eviware.soapui.impl.wsdl.WsdlProject.<init>(WsdlProject.java:116)

      2012-04-23 10:00:14,906 ERROR [STDERR]  at com.eviware.soapui.impl.wsdl.WsdlProject.<init>(WsdlProject.java:106)

      2012-04-23 10:00:14,906 ERROR [STDERR]  at com.adobe.idp.dsc.webservice.MyWsdlProject.<init>(WebServiceSoapUIInvoker.java:568)

      2012-04-23 10:00:14,906 ERROR [STDERR]  at com.adobe.idp.dsc.webservice.WebServiceInvoker.createSoapuiProject(WebServiceInvoker.java :451)

      2012-04-23 10:00:14,906 ERROR [STDERR]  at com.adobe.idp.dsc.webservice.WebServiceInvoker.getOperation(WebServiceInvoker.java:421)

      2012-04-23 10:00:14,906 ERROR [STDERR]  at com.adobe.idp.dsc.webservice.WebServiceSoapUIInvoker.getOperation(WebServiceSoapUIInvoker .java:537)

      2012-04-23 10:00:14,906 ERROR [STDERR]  at com.adobe.idp.dsc.webservice.WebServiceSoapUIInvoker.invoke(WebServiceSoapUIInvoker.java: 126)

      2012-04-23 10:00:14,906 ERROR [STDERR]  at com.adobe.idp.dsc.webservice.WebServiceImpl.invoke(WebServiceImpl.java:98)

      2012-04-23 10:00:14,906 ERROR [STDERR]  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

      2012-04-23 10:00:14,906 ERROR [STDERR]  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

      2012-04-23 10:00:14,906 ERROR [STDERR]  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

      2012-04-23 10:00:14,907 ERROR [STDERR]  at java.lang.reflect.Method.invoke(Method.java:597)

      2012-04-23 10:00:14,907 ERROR [STDERR]  at com.adobe.idp.dsc.component.impl.DefaultPOJOInvokerImpl.invoke(DefaultPOJOInvokerImpl.jav a:118)

      2012-04-23 10:00:14,907 ERROR [STDERR]  at com.adobe.idp.dsc.interceptor.impl.InvocationInterceptor.intercept(InvocationInterceptor. java:140)

      2012-04-23 10:00:14,907 ERROR [STDERR]  at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:60)

      2012-04-23 10:00:14,907 ERROR [STDERR]  at com.adobe.idp.dsc.interceptor.impl.DocumentPassivationInterceptor.intercept(DocumentPassi vationInterceptor.java:53)

      2012-04-23 10:00:14,907 ERROR [STDERR]  at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:60)

      2012-04-23 10:00:14,907 ERROR [STDERR]  at com.adobe.idp.dsc.transaction.interceptor.TransactionInterceptor$1.doInTransaction(Transa ctionInterceptor.java:74)

      2012-04-23 10:00:14,907 ERROR [STDERR]  at com.adobe.idp.dsc.transaction.impl.ejb.adapter.EjbTransactionCMTAdapterBean.execute(EjbTr ansactionCMTAdapterBean.java:357)

      2012-04-23 10:00:14,907 ERROR [STDERR]  at com.adobe.idp.dsc.transaction.impl.ejb.adapter.EjbTransactionCMTAdapterBean.doSupports(Ej bTransactionCMTAdapterBean.java:227)

      2012-04-23 10:00:14,907 ERROR [STDERR]  at sun.reflect.GeneratedMethodAccessor353.invoke(Unknown Source)

       

      The above exception is due to the fact that the log object is null, and I think it's because multiple threads are trying to load up the logger in DefaultSoapUICore, and it fails.  This NullPointerException then leads to the following issue:

       

      2012-04-23 10:00:38,753 ERROR [com.eviware.soapui.SoapUI] An error occured [Error loading schema types], see error log for details

      2012-04-23 10:00:38,753 ERROR [soapui.errorlog] com.eviware.soapui.impl.wsdl.support.xsd.SchemaException: Error loading schema types

      com.eviware.soapui.impl.wsdl.support.xsd.SchemaException: Error loading schema types

              at com.eviware.soapui.impl.wsdl.support.xsd.SchemaUtils.loadSchemaTypes(SchemaUtils.java:184 )

              at com.eviware.soapui.impl.wsdl.support.wsdl.WsdlContext.loadDefinitions(WsdlContext.java:26 4)

              at com.eviware.soapui.impl.wsdl.support.wsdl.WsdlContext.access$500(WsdlContext.java:53)

              at com.eviware.soapui.impl.wsdl.support.wsdl.WsdlContext$Loader.construct(WsdlContext.java:2 18)

              at com.eviware.soapui.support.swing.SwingWorkerDelegator.construct(SwingWorkerDelegator.java :45)

              at com.eviware.soapui.support.swing.SwingWorker$2.run(SwingWorker.java:111)

              at java.lang.Thread.run(Thread.java:619)

      Caused by: com.eviware.soapui.impl.wsdl.support.xsd.SchemaException

              at com.eviware.soapui.impl.wsdl.support.xsd.SchemaUtils.buildSchemaTypes(SchemaUtils.java:27 3)

              at com.eviware.soapui.impl.wsdl.support.xsd.SchemaUtils.loadSchemaTypes(SchemaUtils.java:179 )

              ... 6 more

       

      and

       

      2012-04-23 10:00:38,803 ERROR [STDERR] Failed to import WSDL

       

      The only way I've been able to get this error to not happen is to only drop one document (viable for dev, but not prod) or to throttle the watchfolder down to 1 document and wait for that soapui logger to get initialized properly, and then crank the batch size back up again.  To resolve this, I thought I would try checking the "embed wsdl" box of the Web Service component of my process.  When I do this, I then click load, to cache the wsdl.  I also verify that the endpoint is correct in the Target URL box.  I then, check in, undeploy, redeploy, only this time my Web Service calls don't go through at all.  This is quite frustrating, and I need some help ideas on how to get this server running smoothly. 

       

      Thanks in advance,

      Ryan