>1. [java] org.xml.sax.SAXParseException: Parser has reached the entity
>expansion limit "64,000" set by the Application.

I'd never heard of this error before, but I'll share a little secret
with you: when I have no idea what an error message means I just paste
it directly into Google. Often I find my answer:
  http://www.google.com/search?q=Parser+has+reached+the+entity+expansion+limit

The first result suggests you can set a Java property to make this
limit larger:
  http://www.macromedia.com/support/coldfusion/ts/documents/xml_entity_limit.htm
There's more in the Google result page.

If you're serializing XML as a String, I suspect somewhere someone is
XML escaping your package. IE: if your data is "<foo/>", the SOAP may
be something like
  <myXmlData>&lt;foo/&gt;</myXmlData
that's going to make a lot of entities. Sounds like there's a limit to
how many it will process.

>2. [java]  faultString: java.lang.reflect.InvocationTargetException

This is a generic "the call failed" exception. Hopefully it has a
wrapped exception inside that has more information, maybe it's the
SAXParseException you found above?

>My goal is to send an XML file as a string that another application can
>read and turn into a database file.  I already have this working with
>smaller XML strings, but can't get past the errors when getting larger
>datasets back.

I can think of four options for you:

Raise the entity limit big enough for your needs.

Serialize your data as a byte[], UTF-8 encoded. Ugly, but Axis will
base64 encode it instead of entity escape it.

Pass your XML directly as XML in the SOAP request. This is what
document/literal is all about. I don't have sample code, sorry.

Use attachments. A single attachment should work. Attachments hurt
interop, but if you're using Axis on both sides that won't be a
problem.

Reply via email to