You are viewing a plain text version of this content. The canonical link for it is here.
Posted to soap-dev@xml.apache.org by gr...@i2image.com on 2001/03/07 17:02:49 UTC

Fatal deployment bug in SOAP 2.1 with JDK 1.3, Tomcat 4.x and Xerces 1.3.0?

I have gone and debugged SOAP 2.1 by placing print statements in the SOAP
source and rebuilding the jar with ant. I have also run the tcp tunnel GUI.
In both cases I have found that the response is being truncated within the
SOAP body. I am running JDK 1.3, Tomcat 4.x and Xerces 1.3.0.

Here is where I print out the stream in org.apache.soap.util.IOUtils:

  public static String getStringFromReader (Reader reader) throws IOException {
    BufferedReader bufIn = new BufferedReader(reader);
    StringWriter   swOut = new StringWriter();
    PrintWriter    pwOut = new PrintWriter(swOut);
    String         tempLine;
    while ((tempLine = bufIn.readLine()) != null) {
      pwOut.println(tempLine);
System.out.println("GSL reading line: " + tempLine);
    }

This is what I get from this print out:

GSL reading line: Content-Type: text/xml; charset=utf-8
GSL reading line: Content-Transfer-Encoding: 8bit
GSL reading line: Content-ID: <7112969.983980283753.apache-soap.gleichtm.dell-44-gregl>
GSL reading line: Content-Length: 438
GSL reading line:
GSL reading line: <?xml version='1.0' encoding='UTF-8'?>
GSL reading line: <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmln
s:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema">
GSL reading line: <SOAP-ENV:Body>
GSL reading line: <ns1:deployResponse xmlns:ns1="urn:x

You will notice that this truncated output matches (for the most part) that of the tcp tunnel below.

Response in tcp tunnel GUI:

HTTP/1.0 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: 438
Date: Wed, 07 Mar 2001 15:51:22 GMT
Server: Apache Tomcat/4.0-b1 (HTTP/1.1 Connector)
Set-Cookie: JSESSIONID=074001C73536B284A5407801E05247E1;Path=/soap

Content-Type: text/xml; charset=utf-8
Content-Transfer-Encoding: 8bit
Content-ID: <7112969.983980283753.apache-soap.gleichtm.dell-44-gregl>
Content-Length: 438

<?xml version='1.0' encoding='UTF-8'?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd
="http://www.w3.org/1999/XMLSchema">
<SOAP-ENV:Body>
<ns1:deployResponse xmlns:ns1="urn:x

This is the end of the response.

This looks like a bug to me. Either the stream is not being flushed propely
or the stream is not being filled properly. Any of the developers want to
respond to this? Any help would be appreciated.

                                                -=> Gregg <=-





gregg.leichtman@i2image.com on 03/07/2001 08:23:29 AM

Please respond to soap-dev@xml.apache.org

To:   soap-dev@xml.apache.org
cc:

Subject:  Has ANYONE gotten SOAP 2.1 addressbook and Tomcat 4.x to work?


I have SOAP 2.0 working correctly for the addressbook sample and my own
SOAP client and servlet, but have been working for several days and am
unable to get SOAP 2.1 to work. No matter what I try, I cannot deploy the
addressbook service and always get:

E:
\LocalCVSRepository\SourceCode\PyramidApp\tomcat-4.0\webapps\soap\WEB-INF\classes\samples\addressb

ook>java org.apache.soap.server.ServiceManagerClient
http://localhost:8080/soap/servlet/rpcrouter de
ploy DeploymentDescriptor.xml
org.xml.sax.SAXParseException: The markup in the document preceding the
root element must be well-fo
rmed.
        at
org.apache.xerces.framework.XMLParser.reportError(XMLParser.java:1060)
        at
org.apache.xerces.framework.XMLDocumentScanner.reportFatalXMLError(XMLDocumentScanner.jav

a:626)
        at
org.apache.xerces.framework.XMLDocumentScanner$XMLDeclDispatcher.dispatch(XMLDocumentScan

ner.java:805)
        at
org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381)

        at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:952)
        at
org.apache.soap.util.xml.XercesParserLiaison.read(XercesParserLiaison.java:85)

        at org.apache.soap.rpc.Call.invoke(Call.java:213)
        at
org.apache.soap.server.ServiceManagerClient.invokeMethod(ServiceManagerClient.java:127)

        at
org.apache.soap.server.ServiceManagerClient.deploy(ServiceManagerClient.java:140)

        at
org.apache.soap.server.ServiceManagerClient.main(ServiceManagerClient.java:228)

Exception in thread "main" [SOAPException: faultCode=SOAP-ENV:Client;
msg=Parsing error, response wa
s:
Content-Type: text/xml; charset=utf-8
Content-Transfer-Encoding: 8bit
Content-ID: <5760903.983970286708.apache-soap.gleichtm.dell-44-gregl>
Content-Length: 438

<?xml version='1.0' encoding='UTF-8'?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="
http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.
w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema
">
<SOAP-ENV:Body>
<ns1:deployResponse xmlns:ns1="urn:x
]
        at org.apache.soap.rpc.Call.invoke(Call.java:223)
        at
org.apache.soap.server.ServiceManagerClient.invokeMethod(ServiceManagerClient.java:127)

        at
org.apache.soap.server.ServiceManagerClient.deploy(ServiceManagerClient.java:140)

        at
org.apache.soap.server.ServiceManagerClient.main(ServiceManagerClient.java:228)


Classpath is:

E:
\LocalCVSRepository\SourceCode\PyramidApp\tomcat-4.0\webapps\soap\WEB-INF\classes\samples\addressb

ook>set CLASSPATH
CLASSPATH=E:\LocalCVSRepository\SourceCode\jars\xerces.jar;E:
\LocalCVSRepository\SourceCode\jars\soa
p.jar;E:\LocalCVSRepository\SourceCode\jars\activation.jar;E:
\java\sun\javamail-1.2\lib\mailapi.jar;
.;E:\java\apache\ant\lib\ant.jar;E:
\LocalCVSRepository\SourceCode\PyramidApp\tomcat-4.0\lib\jasper.j
ar;E:
\LocalCVSRepository\SourceCode\PyramidApp\tomcat-4.0\server\catalina.jar;e:
\java\sun\Swing-1.1.
1\mac.jar;e:\java\sun\jdk1.3\jre\lib\rt.jar;e:
\java\sun\jdk1.3\jre\lib\i18n.jar;e:\java\sun\jdk1.3\l
ib\tools.jar;e:\java\sun\jdk1.3\lib\dt.jar;E:
\java\JPython\JPython-1.1\jpython.jar;;E:\java\sun\3D\j
dk1.2.2\jre\lib\ext\j3daudio.jar;E:
\java\sun\3D\jdk1.2.2\jre\lib\ext\j3dcore.jar;E:\java\sun\3D\jdk1
.2.2\jre\lib\ext\j3dutils.jar;E:
\java\sun\3D\jdk1.2.2\jre\lib\ext\vecmath.jar;e:\java\sun\JAI\jai1_0
_2\jre\lib\ext\jai_core.jar;e:
\java\sun\JAI\jai1_0_2\jre\lib\ext\jai_codec.jar;e:\java\sun\JAI\jai1_
0_2\jre\lib\ext\mlibwrapper_jai.jar;E:
\LocalCVSRepository\SourceCode\PyramidApp\tomcat-4.0\webapps\s
oap\WEB-INF\classes

Files are:

E:\LocalCVSRepository\SourceCode\jars>ls -l
total 8570
drwxr-xr-x   2 1134     None            0 Feb 26 11:32 CVS
-rw-r--r--   1 1134     None        33329 Mar  2 08:12 Jama-1.0.1.jar
-rw-r--r--   1 1134     None      6949301 Feb 22 12:57 Pyramid2.jar
drwxr-xr-x   5 1134     None            0 Feb 22 12:57 XML
-rw-r--r--   1 1134     None        45386 May 21  1999 activation.jar
-rw-r--r--   1 1134     None       115454 Nov 16 12:32 ant.jar
-rw-r--r--   1 1134     None       174761 Jan 29 14:13 avalonapi.jar
-rw-r--r--   1 1134     None        24774 Feb  9 09:36 bootstrap.jar
-rw-r--r--   1 1134     None      5195128 Apr 27  2000 j2ee.jar
-rw-r--r--   1 1134     None       183421 Jan 18 09:30 jai_codec.jar
-rw-r--r--   1 1134     None      1018280 Jan 18 09:30 jai_core.jar
-rw-r--r--   1 1134     None        29871 Nov 27 11:57
jakarta-regexp-1.2.jar
-rw-r--r--   1 1134     None         7637 Aug  1  2000 jcert.jar
-rw-r--r--   1 1134     None       223212 Apr 11  2000 jmxri.jar
-rw-r--r--   1 1134     None         3098 Aug  1  2000 jnet.jar
-rw-r--r--   1 1134     None       463471 Aug  1  2000 jsse.jar
-rw-r--r--   1 1134     None       161771 Feb 14 15:03 junit.jar
-rw-r--r--   1 1134     None       112735 May 30  2000 mac.jar
-rw-r--r--   1 1134     None       153117 Dec  1 00:08 mailapi.jar
-rw-r--r--   1 1134     None        34859 Jan 18 09:30 mlibwrapper_jai.jar
-rw-r--r--   1 1134     None        23512 Feb  9 09:36 naming.jar
-rw-r--r--   1 1134     None        54446 Nov  8 13:38 servlet.jar
-rw-r--r--   1 1134     None       200855 Feb  5 18:09 soap.jar
-rw-r--r--   1 1134     None       267837 Sep 12 16:17 tyrex-0.9.6.jar
-rw-r--r--   1 1134     None       275946 May  4  2000 vecmath.jar
-rw-r--r--   1 1134     None      1605266 Feb 15 10:01 xerces.jar
-rw-r--r--   1 1134     None       167681 Jan 31 17:21 xercesSamples.jar

E:
\LocalCVSRepository\SourceCode\PyramidApp\tomcat-4.0\webapps\soap\WEB-INF\lib>ls

-l
total 99
drwxr-xr-x   2 1134     None            0 Feb 21 14:57 CVS
-rw-r--r--   1 1134     None       200855 Feb  5 18:09 soap.jar

I have recompiled the samples to no avail.

I have confirmed that the service manager IS reading the deployment
descriptor file, since removing various XML elements registers a logical
complaint. For instance, removing the provider element indicates that one
provider element is missing.

I'm using Xerces 1.3.0 and Sun JDK1.3.

There is nothing in my jre/lib/ext directory.

Any help would be appreciated.

                                                                     -=>
Gregg <=-









Re: Fatal deployment bug in SOAP 2.1 with JDK 1.3, Tomcat 4.x and Xerces 1.3.0?

Posted by jean-frederic clere <jf...@fujitsu-siemens.com>.
gregg.leichtman@i2image.com wrote:
> 
> I have gone and debugged SOAP 2.1 by placing print statements in the SOAP
> source and rebuilding the jar with ant. I have also run the tcp tunnel GUI.
> In both cases I have found that the response is being truncated within the
Hi,

A bug has been fixed in TOMCAT4.0. Now it should work.

Cheers

Jean-frederic

> SOAP body. I am running JDK 1.3, Tomcat 4.x and Xerces 1.3.0.
> 
> Here is where I print out the stream in org.apache.soap.util.IOUtils:
> 
>   public static String getStringFromReader (Reader reader) throws IOException {
>     BufferedReader bufIn = new BufferedReader(reader);
>     StringWriter   swOut = new StringWriter();
>     PrintWriter    pwOut = new PrintWriter(swOut);
>     String         tempLine;
>     while ((tempLine = bufIn.readLine()) != null) {
>       pwOut.println(tempLine);
> System.out.println("GSL reading line: " + tempLine);
>     }
> 
> This is what I get from this print out:
> 
> GSL reading line: Content-Type: text/xml; charset=utf-8
> GSL reading line: Content-Transfer-Encoding: 8bit
> GSL reading line: Content-ID: <7112969.983980283753.apache-soap.gleichtm.dell-44-gregl>
> GSL reading line: Content-Length: 438
> GSL reading line:
> GSL reading line: <?xml version='1.0' encoding='UTF-8'?>
> GSL reading line: <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmln
> s:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema">
> GSL reading line: <SOAP-ENV:Body>
> GSL reading line: <ns1:deployResponse xmlns:ns1="urn:x
> 
> You will notice that this truncated output matches (for the most part) that of the tcp tunnel below.
> 
> Response in tcp tunnel GUI:
> 
> HTTP/1.0 200 OK
> Content-Type: text/xml; charset=utf-8
> Content-Length: 438
> Date: Wed, 07 Mar 2001 15:51:22 GMT
> Server: Apache Tomcat/4.0-b1 (HTTP/1.1 Connector)
> Set-Cookie: JSESSIONID=074001C73536B284A5407801E05247E1;Path=/soap
> 
> Content-Type: text/xml; charset=utf-8
> Content-Transfer-Encoding: 8bit
> Content-ID: <7112969.983980283753.apache-soap.gleichtm.dell-44-gregl>
> Content-Length: 438
> 
> <?xml version='1.0' encoding='UTF-8'?>
> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd
> ="http://www.w3.org/1999/XMLSchema">
> <SOAP-ENV:Body>
> <ns1:deployResponse xmlns:ns1="urn:x
> 
> This is the end of the response.
> 
> This looks like a bug to me. Either the stream is not being flushed propely
> or the stream is not being filled properly. Any of the developers want to
> respond to this? Any help would be appreciated.
> 
>                                                 -=> Gregg <=-
> 
> gregg.leichtman@i2image.com on 03/07/2001 08:23:29 AM
> 
> Please respond to soap-dev@xml.apache.org
> 
> To:   soap-dev@xml.apache.org
> cc:
> 
> Subject:  Has ANYONE gotten SOAP 2.1 addressbook and Tomcat 4.x to work?
> 
> I have SOAP 2.0 working correctly for the addressbook sample and my own
> SOAP client and servlet, but have been working for several days and am
> unable to get SOAP 2.1 to work. No matter what I try, I cannot deploy the
> addressbook service and always get:
> 
> E:
> \LocalCVSRepository\SourceCode\PyramidApp\tomcat-4.0\webapps\soap\WEB-INF\classes\samples\addressb
> 
> ook>java org.apache.soap.server.ServiceManagerClient
> http://localhost:8080/soap/servlet/rpcrouter de
> ploy DeploymentDescriptor.xml
> org.xml.sax.SAXParseException: The markup in the document preceding the
> root element must be well-fo
> rmed.
>         at
> org.apache.xerces.framework.XMLParser.reportError(XMLParser.java:1060)
>         at
> org.apache.xerces.framework.XMLDocumentScanner.reportFatalXMLError(XMLDocumentScanner.jav
> 
> a:626)
>         at
> org.apache.xerces.framework.XMLDocumentScanner$XMLDeclDispatcher.dispatch(XMLDocumentScan
> 
> ner.java:805)
>         at
> org.apache.xerces.framework.XMLDocumentScanner.parseSome(XMLDocumentScanner.java:381)
> 
>         at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:952)
>         at
> org.apache.soap.util.xml.XercesParserLiaison.read(XercesParserLiaison.java:85)
> 
>         at org.apache.soap.rpc.Call.invoke(Call.java:213)
>         at
> org.apache.soap.server.ServiceManagerClient.invokeMethod(ServiceManagerClient.java:127)
> 
>         at
> org.apache.soap.server.ServiceManagerClient.deploy(ServiceManagerClient.java:140)
> 
>         at
> org.apache.soap.server.ServiceManagerClient.main(ServiceManagerClient.java:228)
> 
> Exception in thread "main" [SOAPException: faultCode=SOAP-ENV:Client;
> msg=Parsing error, response wa
> s:
> Content-Type: text/xml; charset=utf-8
> Content-Transfer-Encoding: 8bit
> Content-ID: <5760903.983970286708.apache-soap.gleichtm.dell-44-gregl>
> Content-Length: 438
> 
> <?xml version='1.0' encoding='UTF-8'?>
> <SOAP-ENV:Envelope xmlns:SOAP-ENV="
> http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.
> w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema
> ">
> <SOAP-ENV:Body>
> <ns1:deployResponse xmlns:ns1="urn:x
> ]
>         at org.apache.soap.rpc.Call.invoke(Call.java:223)
>         at
> org.apache.soap.server.ServiceManagerClient.invokeMethod(ServiceManagerClient.java:127)
> 
>         at
> org.apache.soap.server.ServiceManagerClient.deploy(ServiceManagerClient.java:140)
> 
>         at
> org.apache.soap.server.ServiceManagerClient.main(ServiceManagerClient.java:228)
> 
> Classpath is:
> 
> E:
> \LocalCVSRepository\SourceCode\PyramidApp\tomcat-4.0\webapps\soap\WEB-INF\classes\samples\addressb
> 
> ook>set CLASSPATH
> CLASSPATH=E:\LocalCVSRepository\SourceCode\jars\xerces.jar;E:
> \LocalCVSRepository\SourceCode\jars\soa
> p.jar;E:\LocalCVSRepository\SourceCode\jars\activation.jar;E:
> \java\sun\javamail-1.2\lib\mailapi.jar;
> .;E:\java\apache\ant\lib\ant.jar;E:
> \LocalCVSRepository\SourceCode\PyramidApp\tomcat-4.0\lib\jasper.j
> ar;E:
> \LocalCVSRepository\SourceCode\PyramidApp\tomcat-4.0\server\catalina.jar;e:
> \java\sun\Swing-1.1.
> 1\mac.jar;e:\java\sun\jdk1.3\jre\lib\rt.jar;e:
> \java\sun\jdk1.3\jre\lib\i18n.jar;e:\java\sun\jdk1.3\l
> ib\tools.jar;e:\java\sun\jdk1.3\lib\dt.jar;E:
> \java\JPython\JPython-1.1\jpython.jar;;E:\java\sun\3D\j
> dk1.2.2\jre\lib\ext\j3daudio.jar;E:
> \java\sun\3D\jdk1.2.2\jre\lib\ext\j3dcore.jar;E:\java\sun\3D\jdk1
> .2.2\jre\lib\ext\j3dutils.jar;E:
> \java\sun\3D\jdk1.2.2\jre\lib\ext\vecmath.jar;e:\java\sun\JAI\jai1_0
> _2\jre\lib\ext\jai_core.jar;e:
> \java\sun\JAI\jai1_0_2\jre\lib\ext\jai_codec.jar;e:\java\sun\JAI\jai1_
> 0_2\jre\lib\ext\mlibwrapper_jai.jar;E:
> \LocalCVSRepository\SourceCode\PyramidApp\tomcat-4.0\webapps\s
> oap\WEB-INF\classes
> 
> Files are:
> 
> E:\LocalCVSRepository\SourceCode\jars>ls -l
> total 8570
> drwxr-xr-x   2 1134     None            0 Feb 26 11:32 CVS
> -rw-r--r--   1 1134     None        33329 Mar  2 08:12 Jama-1.0.1.jar
> -rw-r--r--   1 1134     None      6949301 Feb 22 12:57 Pyramid2.jar
> drwxr-xr-x   5 1134     None            0 Feb 22 12:57 XML
> -rw-r--r--   1 1134     None        45386 May 21  1999 activation.jar
> -rw-r--r--   1 1134     None       115454 Nov 16 12:32 ant.jar
> -rw-r--r--   1 1134     None       174761 Jan 29 14:13 avalonapi.jar
> -rw-r--r--   1 1134     None        24774 Feb  9 09:36 bootstrap.jar
> -rw-r--r--   1 1134     None      5195128 Apr 27  2000 j2ee.jar
> -rw-r--r--   1 1134     None       183421 Jan 18 09:30 jai_codec.jar
> -rw-r--r--   1 1134     None      1018280 Jan 18 09:30 jai_core.jar
> -rw-r--r--   1 1134     None        29871 Nov 27 11:57
> jakarta-regexp-1.2.jar
> -rw-r--r--   1 1134     None         7637 Aug  1  2000 jcert.jar
> -rw-r--r--   1 1134     None       223212 Apr 11  2000 jmxri.jar
> -rw-r--r--   1 1134     None         3098 Aug  1  2000 jnet.jar
> -rw-r--r--   1 1134     None       463471 Aug  1  2000 jsse.jar
> -rw-r--r--   1 1134     None       161771 Feb 14 15:03 junit.jar
> -rw-r--r--   1 1134     None       112735 May 30  2000 mac.jar
> -rw-r--r--   1 1134     None       153117 Dec  1 00:08 mailapi.jar
> -rw-r--r--   1 1134     None        34859 Jan 18 09:30 mlibwrapper_jai.jar
> -rw-r--r--   1 1134     None        23512 Feb  9 09:36 naming.jar
> -rw-r--r--   1 1134     None        54446 Nov  8 13:38 servlet.jar
> -rw-r--r--   1 1134     None       200855 Feb  5 18:09 soap.jar
> -rw-r--r--   1 1134     None       267837 Sep 12 16:17 tyrex-0.9.6.jar
> -rw-r--r--   1 1134     None       275946 May  4  2000 vecmath.jar
> -rw-r--r--   1 1134     None      1605266 Feb 15 10:01 xerces.jar
> -rw-r--r--   1 1134     None       167681 Jan 31 17:21 xercesSamples.jar
> 
> E:
> \LocalCVSRepository\SourceCode\PyramidApp\tomcat-4.0\webapps\soap\WEB-INF\lib>ls
> 
> -l
> total 99
> drwxr-xr-x   2 1134     None            0 Feb 21 14:57 CVS
> -rw-r--r--   1 1134     None       200855 Feb  5 18:09 soap.jar
> 
> I have recompiled the samples to no avail.
> 
> I have confirmed that the service manager IS reading the deployment
> descriptor file, since removing various XML elements registers a logical
> complaint. For instance, removing the provider element indicates that one
> provider element is missing.
> 
> I'm using Xerces 1.3.0 and Sun JDK1.3.
> 
> There is nothing in my jre/lib/ext directory.
> 
> Any help would be appreciated.
> 
>                                                                      -=>
> Gregg <=-