8 Replies Latest reply on Jan 12, 2010 3:46 AM by Mário Figueira

    Get data from XML to create a path

    Mário Figueira Level 1

      Hello guys, i'm trying to get some data from my XML. I have a variable @WatchedfolderDoc that is my input , and in the setvalue i insert it in the w3cDoc (xml type) variable. Then i'm getting the information to build a directory tree, and i'm getting some errors. This used to work, but i don't know how i've changed something and now it doesn't work. But a strange fact is that the same xml file works i JBOSS version, and doesn't work in this livecycle version on Websphere.

       

      The errors are:

       

      ALC-DSC-000-000: com.adobe.idp.dsc.DSCRuntimeException: Internal error.
      at com.adobe.idp.workflow.dsc.invoker.WorkflowDSCInvoker.transientInvoke(WorkflowDSCInvoker. java:370)
      at com.adobe.idp.workflow.dsc.invoker.WorkflowDSCInvoker.invoke(WorkflowDSCInvoker.java:158)
      at com.adobe.idp.dsc.interceptor.impl.InvocationInterceptor.intercept(InvocationInterceptor. java:140)
      at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:60)
      at com.adobe.idp.dsc.interceptor.impl.DocumentPassivationInterceptor.intercept(DocumentPassi vationInterceptor.java:53)
      at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:60)
      at com.adobe.idp.dsc.transaction.interceptor.TransactionInterceptor$1.doInTransaction(Transa ctionInterceptor.java:74)
      at com.adobe.idp.dsc.transaction.impl.ejb.adapter.EjbTransactionCMTAdapterBean.execute(EjbTr ansactionCMTAdapterBean.java:357)
      at com.adobe.idp.dsc.transaction.impl.ejb.adapter.EjbTransactionCMTAdapterBean.doRequiresNew (EjbTransactionCMTAdapterBean.java:299)
      at com.adobe.idp.dsc.transaction.impl.ejb.adapter.EJSLocalStatelessEjbTransactionCMTAdapter_ caf58c4f.doRequiresNew(Unknown Source)
      at com.adobe.idp.dsc.transaction.impl.ejb.EjbTransactionProvider.execute(EjbTransactionProvi der.java:143)
      at com.adobe.idp.dsc.transaction.interceptor.TransactionInterceptor.intercept(TransactionInt erceptor.java:72)
      at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:60)
      at com.adobe.idp.dsc.interceptor.impl.InvocationStrategyInterceptor.intercept(InvocationStra tegyInterceptor.java:55)
      at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:60)
      at com.adobe.idp.dsc.interceptor.impl.InvalidStateInterceptor.intercept(InvalidStateIntercep tor.java:37)
      at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:60)
      at com.adobe.idp.dsc.interceptor.impl.AuthorizationInterceptor.intercept(AuthorizationInterc eptor.java:188)
      at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:60)
      at com.adobe.idp.dsc.interceptor.impl.JMXInterceptor.intercept(JMXInterceptor.java:48)
      at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:60)
      at com.adobe.idp.dsc.engine.impl.ServiceEngineImpl.invoke(ServiceEngineImpl.java:121)
      at com.adobe.idp.dsc.routing.Router.routeRequest(Router.java:129)
      at com.adobe.idp.dsc.provider.impl.base.AbstractMessageReceiver.invoke(AbstractMessageReceiv er.java:329)
      at com.adobe.idp.dsc.provider.impl.soap.axis.sdk.SoapSdkEndpoint.invokeCall(SoapSdkEndpoint. java:139)
      at com.adobe.idp.dsc.provider.impl.soap.axis.sdk.SoapSdkEndpoint.invoke(SoapSdkEndpoint.java :81)
      at sun.reflect.GeneratedMethodAccessor148.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:615)
      at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)
      at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
      at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
      at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
      at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
      at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
      at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454)
      at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
      at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
      at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
      at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1096)
      at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1037)
      at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:145)
      at com.adobe.idp.dsc.provider.impl.soap.axis.InvocationFilter.doFilter(InvocationFilter.java :43)
      at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java: 190)
      at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
      at com.adobe.idp.um.auth.filter.CSRFFilter.doFilter(CSRFFilter.java:41)
      at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java: 190)
      at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
      at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:87)
      at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:832)
      at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:679)
      at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:566)
      at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
      at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.jav a:90)
      at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:748)
      at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1466)
      at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:119)
      at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink .java:458)
      at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink .java:387)
      at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:267)
      at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConn ectionInitialReadCallback.java:214)
      at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitia lReadCallback.java:113)
      at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionLi stener.java:165)
      at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
      at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
      at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
      at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:195)
      at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:743)
      at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:873)
      at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1473)
      Caused by: ALC-DSC-000-000: com.adobe.idp.dsc.DSCRuntimeException: Internal error.
      at com.adobe.workflow.engine.PEUtil.invokeAction(PEUtil.java:976)
      at com.adobe.idp.workflow.dsc.invoker.WorkflowDSCInvoker.transientInvoke(WorkflowDSCInvoker. java:347)
      ... 71 more
      Caused by: ALC-DSC-000-000: com.adobe.idp.dsc.DSCRuntimeException: Internal error.
      at com.adobe.workflow.pat.service.PATExecutionContextImpl.setProcessDataValue(PATExecutionCo ntextImpl.java:837)
      at com.adobe.workflow.pat.service.PATExecutionContextImpl.setProcessDataWithExpression(PATEx ecutionContextImpl.java:375)
      at com.adobe.idp.workflow.dsc.service.SetValueService.execute(SetValueService.java:54)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:615)
      at com.adobe.idp.dsc.component.impl.DefaultPOJOInvokerImpl.invoke(DefaultPOJOInvokerImpl.jav a:118)
      at com.adobe.idp.workflow.dsc.invoker.WorkflowDSCInvoker.invoke(WorkflowDSCInvoker.java:154)
      at com.adobe.idp.dsc.interceptor.impl.InvocationInterceptor.intercept(InvocationInterceptor. java:140)
      at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:60)
      at com.adobe.idp.dsc.interceptor.impl.DocumentPassivationInterceptor.intercept(DocumentPassi vationInterceptor.java:53)
      at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:60)
      at com.adobe.idp.dsc.transaction.interceptor.TransactionInterceptor$1.doInTransaction(Transa ctionInterceptor.java:74)
      at com.adobe.idp.dsc.transaction.impl.ejb.adapter.EjbTransactionCMTAdapterBean.execute(EjbTr ansactionCMTAdapterBean.java:357)
      at com.adobe.idp.dsc.transaction.impl.ejb.adapter.EjbTransactionCMTAdapterBean.doSupports(Ej bTransactionCMTAdapterBean.java:227)
      at com.adobe.idp.dsc.transaction.impl.ejb.adapter.EJSLocalStatelessEjbTransactionCMTAdapter_ caf58c4f.doSupports(Unknown Source)
      at com.adobe.idp.dsc.transaction.impl.ejb.EjbTransactionProvider.execute(EjbTransactionProvi der.java:104)
      at com.adobe.idp.dsc.transaction.interceptor.TransactionInterceptor.intercept(TransactionInt erceptor.java:72)
      at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:60)
      at com.adobe.idp.dsc.interceptor.impl.InvocationStrategyInterceptor.intercept(InvocationStra tegyInterceptor.java:55)
      at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:60)
      at com.adobe.idp.dsc.interceptor.impl.InvalidStateInterceptor.intercept(InvalidStateIntercep tor.java:37)
      at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:60)
      at com.adobe.idp.dsc.interceptor.impl.AuthorizationInterceptor.intercept(AuthorizationInterc eptor.java:188)
      at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:60)
      at com.adobe.idp.dsc.interceptor.impl.JMXInterceptor.intercept(JMXInterceptor.java:48)
      at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:60)
      at com.adobe.idp.dsc.engine.impl.ServiceEngineImpl.invoke(ServiceEngineImpl.java:121)
      at com.adobe.idp.dsc.routing.Router.routeRequest(Router.java:129)
      at com.adobe.idp.dsc.provider.impl.base.AbstractMessageReceiver.routeMessage(AbstractMessage Receiver.java:93)
      at com.adobe.idp.dsc.provider.impl.vm.VMMessageDispatcher.doSend(VMMessageDispatcher.java:22 5)
      at com.adobe.idp.dsc.provider.impl.base.AbstractMessageDispatcher.send(AbstractMessageDispat cher.java:66)
      at com.adobe.idp.dsc.clientsdk.ServiceClient.invoke(ServiceClient.java:208)
      at com.adobe.workflow.engine.PEUtil.invokeAction(PEUtil.java:861)
      ... 72 more
      Caused by: ALC-DSC-000-000: com.adobe.idp.dsc.DSCRuntimeException: Internal error.
      at com.adobe.idp.dsc.util.CoercionUtil.toDOMDocument(CoercionUtil.java:688)
      at com.adobe.idp.dsc.util.CoercionUtil.toDOMDocument(CoercionUtil.java:693)
      at com.adobe.idp.dsc.util.CoercionUtil.toType(CoercionUtil.java:998)
      at com.adobe.idp.dsc.util.CoercionUtil.toType(CoercionUtil.java:841)
      at com.adobe.workflow.datatype.runtime.support.AbstractDataTypeRuntimeHandler.coerceFrom(Abs tractDataTypeRuntimeHandler.java:64)
      at com.adobe.workflow.datatype.runtime.impl.xml.XMLRuntimeHandler.coerceFrom(XMLRuntimeHandl er.java:201)
      at com.adobe.workflow.datatype.runtime.impl.xml.XMLRuntimeHandler.getNode(XMLRuntimeHandler. java:112)
      at com.adobe.workflow.dom.VariableElement.setBoundValue(VariableElement.java:97)
      at com.adobe.workflow.pat.service.PATExecutionContextImpl.setProcessDataValue(PATExecutionCo ntextImpl.java:818)
      ... 106 more
      Caused by: ALC-DSC-119-000: com.adobe.idp.dsc.util.InvalidCoercionException: Cannot coerce object: <document state="passive" senderVersion="3" persistent="false" senderPersistent="false" passivated="true" senderPassivated="true" deserialized="true" senderHostId="127.0.0.1/192.168.217.1/192.168.36.1/172.21.12.109/" callbackId="0" senderCallbackId="0" callbackRef="null" isLocalizable="true" isTransactionBound="false" defaultDisposalTimeout="600" disposalTimeout="600" maxInlineSize="65536" defaultMaxInlineSize="65536" inlineSize="13722" contentType="application/xml" length="13722"><cacheId/><localBackendId/><globalBackendId/><senderLocalBackendId/><sende rGlobalBackendId/><inline><?xml version="1.0" encoding="UTF-8"?>
      <JOB>
      <DOCUMENTO>
        <HEADER>
          <OUTPUTPATH>c:\bic\eb...</inline><senderPullServantJndiName></senderPullServantJndiName>< attributes file="teste.xml" basename="teste.xml" wsfilename="teste.xml"/></document> of type: com.adobe.idp.Document to type: interface org.w3c.dom.Document
      at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
      at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
      at com.adobe.idp.dsc.util.DOMUtil.parseDocumentFromString(DOMUtil.java:167)
      at com.adobe.idp.dsc.util.DOMUtil.parseDocumentFromStream(DOMUtil.java:252)
      at com.adobe.idp.dsc.util.CoercionUtil.toDOMDocument(CoercionUtil.java:656)
      ... 114 more

       

      Someone can help with this kind of error?

       

      Thanks in advance.

       

      Mário Figueira.

        • 1. Re: Get data from XML to create a path
          Jasmin Charbonneau Level 4

          Can you post the xPath expression and the xml?

           

          Jasmin

          • 2. Re: Get data from XML to create a path
            Mário Figueira Level 1

            Jarmin,

             

            My xml is:

             

            <?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
            <JOB>
            <DOCUMENTO>
              <HEADER>
                <OUTPUTPATH>c:\teste\</OUTPUTPATH>
              </HEADER>

                 .

                 .   

                 .   

                 .

            </DOCUMENTO>

            </JOB>

             

            and the xpath expression is this one:

             

            xpath.JPG

            • 3. Re: Get data from XML to create a path
              Mário Figueira Level 1

              Jasmin,

               

              Don't you have any suggestion about this? Because i have the exactly same process within a Livecycle ES2 on JBoss, and it works.

               

              thanks.

               

              Mário Figueira.

              • 4. Re: Get data from XML to create a path
                Jasmin Charbonneau Level 4

                Your xPath expression is fine.

                 

                As a test, can you remove the processing instruction form your xml (<? ...?>) and see if that causes any issue?

                 

                Jasmin

                • 5. Re: Get data from XML to create a path
                  $Nith$ Level 4

                  This is the internal coerce rules issue.

                   

                  Your first variable w3cDoc is of type org.w3c.dom.Document,  Am i correct?

                  So even if you hold xml data within it, the type is declared as Document (you can't use xpath to find attributes similar to xml variable)

                   

                  Hence, you cannot directly use the xpath as /process_data/w3cDoc/JOB/DOCUMENTO/HEADER/OUTPUTPATH

                   

                  You can try one of these two options.

                   

                  1. Assign your Document variable to an XML variable and use xpath on the XML variable.

                   

                  2. Or convert the data type of w3cDoc to XML

                   

                   

                  This might be possible in ES2 because the ES2 may support this direct coercion

                   

                   

                  Nith

                  • 6. Re: Get data from XML to create a path
                    Jasmin Charbonneau Level 4

                    Nith, he mentioned that w3cDoc is of type XML. I believe the problem is when the set value put the content of the document into the xml var that the problem occurs.

                     

                    I've seen this before for a watch folder and it was related to the xml processing instruction. That's why I told them to remove them as a test.

                     

                    I'm pretty it'll fix the issue. Now if he can't remove them, because the files are dropped automatically, we can put a step in the process to remove it.

                     

                    Jasmin

                    • 7. Re: Get data from XML to create a path
                      $Nith$ Level 4

                      I experimented with his xml data and it was working fine with variable of type XML and failed when I change the type to Document.

                       

                      One thing I didn't tried is, the WatchedFolder endpoint.

                       

                      Nith

                      • 8. Re: Get data from XML to create a path
                        Mário Figueira Level 1

                        Hello guys, i'm glad for your help.

                         

                        Jasmin about your removing (<? ...?>) proposal from the xml file, after that it doesn't work, even when i open the xml file after remove the tag in internet explorer it gives me an error.

                         

                        Nith about your suggestion, my w3cDoc is of type XML, that's why i'm using this type ( /process_data/w3cDoc/JOB/DOCUMENTO/HEADER/OUTPUTPATH)of procedure to get the data from xml.

                         

                        The problem in that xml was about some tags like this "<CRÉDITO>", and the way to make this works is <CREDITO>, characters like this won't work in this processes.

                         

                        Now i'm having problems with big files, i'm getting this kind of errors, Internal error.
                        Internal error.
                        The current transaction has been marked for rollback.  This means one of three things; 1) The transaction has timed-out (the timeout period was set to [180(sec)], while the actual transaction took [186(sec)]), 2) An unhandled Runtime exception occurred when calling another service (please check the logs for more detail), or 3) This is a JTA transaction and this service has explicitly marked the transaction for rollback
                        The current transaction has been marked for rollback.  This means one of three things; 1) The transaction has timed-out (the timeout period was set to [180(sec)], while the actual transaction took [186(sec)]), 2) An unhandled Runtime exception occurred when calling another service (please check the logs for more detail), or 3) This is a JTA transaction and this service has explicitly marked the transaction for rollback.

                         

                        Do you know what this means?

                         

                         

                        Thanks.

                         

                        Mário Figueira.