Expand my Community achievements bar.

Learn about Edge Delivery Services in upcoming GEM session

Why can't Workbench handle a 2MB XML variable from invoke?

Avatar

Level 3

I have an SQL query that returns about 2.3 MB XML variable.  That works fine but if I set that variable to be an output variable and invoke the process from Workbench I get an InvocationTargetException from org.apache.axis.message.SOAPFaultBuilder.createFault (see below).  I'm running Workbench ES2 9.5 as a Java plugin in Eclipse Indigo (32-bit) on a Windows 7 64-bit system with 8 GB memory.  The same problem occurs on a Windows XP SP3 system with 4GB memory. 

There are no error messages in server.log at all, just the usual SqlHelper message displaying the SQL statement that was executed.  This appears to be strictly a Workbench phenomenon.  The server seems to be able to merge the data with a PDF just fine also.

Here's my eclipse.ini file settings:

-startup
plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.100.v20110502
-product
org.eclipse.epp.package.jee.product
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256M
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms512m
-Xmx1280m

Here is the stack trace from the invocation error:

ALC-DSC-000-000: com.adobe.idp.dsc.DSCRuntimeException: Internal error.
      at   com.adobe.idp.dsc.provider.impl.soap.axis.sdk.SoapAxisDispatcher.throwExceptionHandler(SoapAxisDispatcher.java:211)
      at com.adobe.idp.dsc.provider.impl.soap.axis.sdk.SoapAxisDispatcher.doSend(SoapAxisDispatcher.java:129)
      at com.adobe.idp.dsc.provider.impl.base.AbstractMessageDispatcher.send(AbstractMessageDispatcher.java:66)
      at com.adobe.idp.dsc.clientsdk.ServiceClient.invoke(ServiceClient.java:208)
      at com.adobe.workbench.utils.invoke.InvokeWithProgressRunner.invokeServiceOperation(InvokeWithProgressRunner.java:230)
      at com.adobe.workbench.utils.invoke.InvokeWithProgressRunner.run(InvokeWithProgressRunner.java:125)
      at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.reflect.InvocationTargetException
      at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:221)
      at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:128)
      at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
      at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
      at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
      at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
      at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
      at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
      at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
      at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
      at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
      at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
      at javax.xml.parsers.SAXParser.parse(Unknown Source)
      at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
      at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
      at org.apache.axis.Message.getSOAPEnvelope(Message.java:424)
      at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
      at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
      at org.apache.axis.client.Call.invokeEngine(Call.java:2765)
      at org.apache.axis.client.Call.invoke(Call.java:2748)
      at org.apache.axis.client.Call.invoke(Call.java:2424)
      at org.apache.axis.client.Call.invoke(Call.java:2347)
      at org.apache.axis.client.Call.invoke(Call.java:1804)
      at com.adobe.idp.dsc.provider.impl.soap.axis.sdk.SoapAxisDispatcher.doSend(SoapAxisDispatcher.java:127)
      ... 5 more
4 Replies

Avatar

Former Community Member

Agree.

My alternative to this... is to get workbench to readDoc/XML file... a bit boring and long winded, but create a Util project and keep those handy processes available for the limitations you find.

Avatar

Level 3

I don't quite follow what you are recommending but this is really a nuisance.  We can record the process and the play back works just fine, all the way to the end.  There's a post to this forum that only shows up on Google Groups that points to the Apache Axis SOAPFaultBuilder source code (the first line of the 'Caused by' stack trace). The only place I can find that class in my setup (32-bit Eclipse Indigo with LC Workbench plugin) is in eclipese\.metadata\.plugins\org.apache.axis_1.4.0.v201005080400\lib\axis.jar.  So I'll replace that with a newer version and see what happens.

Avatar

Former Community Member

Create a seperate workbench application, that reads an XML/DOC file from the file system (as an input)..... and then use this variable to execute your existing process...

Avatar

Level 3

Thanks for clarifying that, Luigi.  The problem seems to be a local Workbench issue in the Workbench's SOAP runtime.  All the processes on the server are (or seem to be) fine.