You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by "Brown, Jeff (INRI)" <je...@northropgrumman.com> on 2002/10/30 20:22:58 UTC

Fw: Problems with "Premature end of file" SAXParseException

I am working on a Solaris 8 Ultra 1 running JDK 1.3.1_01, Tomcat 4.1.12, and
Axis 1.0. The web service I am trying to create calls class libraries
developed in-house that wrap a group of legacy C/C++ APIs using JNI. If JNI
is not in the mix all is well (i.e. if I stub out calls to the Java wrapper
code) but if JNI code is called the web service works the first time and
then returns an empty SOAP message resulting in a "Premature end of file"
SAXParseException.

The web service is designed to return a serialized array of Java beans. I
know the implementation works outside of Tomcat & Axis. I also know all is
well if I hard-code an array of Java beans. In order to get things working I
had to either update the CLASSPATH variable in setclasspath.sh to include a
JAR file containing all of the in-house JNI-based classes + a JAR file
containing all of the Axis 1.0 class files. This approach also required
various common/lib JAR files from the Tomcat distribution. A second
configuration placed the in-house JAR file & Axis 1.0 JAR file into Tomcat's
common/lib but required that I empty out the webapps/axis/WEB-INF/lib
directory to avoid a NoClassDefFound exception for an Axis class named
RPCParam. Both solutions seem quirky but it's the only way I could get
anything to work.

I used TCPMon to check on the SOAP request/response. In each case, the
request is identical - as expected. However, the second attempt results in
the following HTTP response with nothing following:

HTTP/1.1 200 OK
Date: Mon, 21 Oct 2002 20:53:08 GMT
Server: Apache Coyote/1.0
Connection: close

If I set up the same configuration under Tomcat 4.0.4, the server side
returns an HTTP 500 internal server error but the Tomcat log files don't
show the reason for the exception.

Has anybody run into anything like this or have any suggestions on how to go
about debugging/fixing the problem?

Thanks
JAB