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 Matt MacDonald <ma...@mitre.org> on 2002/03/25 21:21:25 UTC

Parsing error in the response xml.

I am getting the following SOAPException error message:

(SOAP-ENV:Client): Parsing error, response was:
An invalid second ':' was found in the element type or attribute name.

The Call and Response xml fragments are below. My application is 
throwing the proper exception but the Element Fault -> detail -> 
stackTrace contains an invalid namespace declaration. I'm curious as to 
how this invalid namespace attribute is showing up in the first place. I 
have looked through the Apache SOAP 2.2 source code and can't see where 
this namespace is being declared. I looked in 
Utils.buildFaultDetailsFromThrowable which is where I believe the Java 
stackTrace is converted into an xml element and I can't see the 
namespace inclusion to this "stackTrace" Element. Does anyone have 
thoughts as to what is going on? I am using:

Apache SOAP 2.2
Xerces 1.4.4

CALL and RESPONSE:


CALL
<?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:getProjectName xmlns:ns1="urn:project-validator" 
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<Paramater0 xsi:type="xsd:string">01AAV633</Paramater0>
<Paramater1 xsi:type="xsd:string">MP</Paramater1>
<Paramater2 xsi:type="xsd:string">2001</Paramater2>
</ns1:getProjectName>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>


RESPONSE
<?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>
<SOAP-ENV:Fault>
<faultcode>SOAP-ENV:Server</faultcode>
<faultstring>Exception from service object: Invalid fiscal year and 
project number combonation. 01AAV633 and fiscal year = 2001</faultstring>
<faultactor>/NASApp/pdc_soap/servlet/rpcrouter</faultactor>
<detail>
<stackTrace 
xmlns:="">org.mitre.mii.project.validation.ProjectValidationException: 
Invalid fiscal year and project number combonation. 01AAV633 and fiscal 
year = 2001
    at java.lang.Throwable.fillInStackTrace(Native Method)
    at java.lang.Throwable.fillInStackTrace(Compiled Code)
    at java.lang.Throwable.&lt;init&gt;(Compiled Code)
    at java.lang.Exception.&lt;init&gt;(Compiled Code)
    at org.mitre.mii.datacollector.ExceptionWrapper.&lt;init&gt;(Unknown 
Source)
    at 
org.mitre.mii.project.validation.ProjectValidationException.&lt;init&gt;(Unknown 
Source)
    at 
org.mitre.mii.project.validation.ProjectValidatorImpl.queryProjectBean(Compiled 
Code)
    at 
org.mitre.mii.project.validation.ProjectValidatorImpl.queryProjectBean(Compiled 
Code)
    at 
org.mitre.mii.project.validation.ProjectValidatorImpl.getProjectName(Unknown 
Source)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Compiled Code)
    at org.apache.soap.server.RPCRouter.invoke(Compiled Code)
    at 
org.apache.soap.providers.RPCJavaProvider.invoke(RPCJavaProvider.java:129)
    at org.apache.soap.server.http.RPCRouterServlet.doPost(Compiled Code)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:772)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
    at 
com.netscape.server.servlet.servletrunner.ServletInfo.service(Unknown 
Source)
    at 
com.netscape.server.servlet.servletrunner.ServletRunner.execute(Unknown 
Source)
    at com.kivasoft.applogic.AppLogic.execute(Compiled Code)
    at com.kivasoft.applogic.AppLogic.execute(Compiled Code)
    at com.kivasoft.thread.ThreadBasic.run(Native Method)
    at com.kivasoft.thread.ThreadBasic.run(Native Method)
    at com.kivasoft.thread.ThreadBasic.run(Native Method)
    at com.kivasoft.thread.ThreadBasic.run(Native Method)
    at com.kivasoft.thread.ThreadBasic.run(Compiled Code)
    at java.lang.Thread.run(Compiled Code)
</stackTrace>
</detail>
</SOAP-ENV:Fault>

</SOAP-ENV:Body>
</SOAP-ENV:Envelope>





Re: Parsing error in the response xml.

Posted by Scott Nichol <sc...@yahoo.com>.
Looking into the Apache SOAP code, I suspect the DOM2Writer#serializeAsXml
method.  If both the prefix and namespace URI for the DOM Element are
non-null, it will write the namespace information.  As created in
buildFaultDetailsFromThrowable, does Xerces give the element null values for
these, or does it give zero-length strings?  If DOM2Writer checked for the
zero-length case as well as null, I suspect you would not get the error you
do.  Note that I *suspect* this; I do not *know* it.

Scott Nichol

----- Original Message -----
From: "Matt MacDonald" <ma...@mitre.org>
To: <so...@xml.apache.org>
Sent: Monday, March 25, 2002 15:21
Subject: Parsing error in the response xml.


> I am getting the following SOAPException error message:
>
> (SOAP-ENV:Client): Parsing error, response was:
> An invalid second ':' was found in the element type or attribute name.
>
> The Call and Response xml fragments are below. My application is
> throwing the proper exception but the Element Fault -> detail ->
> stackTrace contains an invalid namespace declaration. I'm curious as to
> how this invalid namespace attribute is showing up in the first place. I
> have looked through the Apache SOAP 2.2 source code and can't see where
> this namespace is being declared. I looked in
> Utils.buildFaultDetailsFromThrowable which is where I believe the Java
> stackTrace is converted into an xml element and I can't see the
> namespace inclusion to this "stackTrace" Element. Does anyone have
> thoughts as to what is going on? I am using:
>
> Apache SOAP 2.2
> Xerces 1.4.4
>
> CALL and RESPONSE:
>
>
> CALL
> <?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:getProjectName xmlns:ns1="urn:project-validator"
> SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
> <Paramater0 xsi:type="xsd:string">01AAV633</Paramater0>
> <Paramater1 xsi:type="xsd:string">MP</Paramater1>
> <Paramater2 xsi:type="xsd:string">2001</Paramater2>
> </ns1:getProjectName>
> </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
>
>
> RESPONSE
> <?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>
> <SOAP-ENV:Fault>
> <faultcode>SOAP-ENV:Server</faultcode>
> <faultstring>Exception from service object: Invalid fiscal year and
> project number combonation. 01AAV633 and fiscal year = 2001</faultstring>
> <faultactor>/NASApp/pdc_soap/servlet/rpcrouter</faultactor>
> <detail>
> <stackTrace
> xmlns:="">org.mitre.mii.project.validation.ProjectValidationException:
> Invalid fiscal year and project number combonation. 01AAV633 and fiscal
> year = 2001
>     at java.lang.Throwable.fillInStackTrace(Native Method)
>     at java.lang.Throwable.fillInStackTrace(Compiled Code)
>     at java.lang.Throwable.&lt;init&gt;(Compiled Code)
>     at java.lang.Exception.&lt;init&gt;(Compiled Code)
>     at org.mitre.mii.datacollector.ExceptionWrapper.&lt;init&gt;(Unknown
> Source)
>     at
>
org.mitre.mii.project.validation.ProjectValidationException.&lt;init&gt;(Unk
nown
> Source)
>     at
>
org.mitre.mii.project.validation.ProjectValidatorImpl.queryProjectBean(Compi
led
> Code)
>     at
>
org.mitre.mii.project.validation.ProjectValidatorImpl.queryProjectBean(Compi
led
> Code)
>     at
>
org.mitre.mii.project.validation.ProjectValidatorImpl.getProjectName(Unknown
> Source)
>     at java.lang.reflect.Method.invoke(Native Method)
>     at java.lang.reflect.Method.invoke(Compiled Code)
>     at org.apache.soap.server.RPCRouter.invoke(Compiled Code)
>     at
> org.apache.soap.providers.RPCJavaProvider.invoke(RPCJavaProvider.java:129)
>     at org.apache.soap.server.http.RPCRouterServlet.doPost(Compiled Code)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:772)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
>     at
> com.netscape.server.servlet.servletrunner.ServletInfo.service(Unknown
> Source)
>     at
> com.netscape.server.servlet.servletrunner.ServletRunner.execute(Unknown
> Source)
>     at com.kivasoft.applogic.AppLogic.execute(Compiled Code)
>     at com.kivasoft.applogic.AppLogic.execute(Compiled Code)
>     at com.kivasoft.thread.ThreadBasic.run(Native Method)
>     at com.kivasoft.thread.ThreadBasic.run(Native Method)
>     at com.kivasoft.thread.ThreadBasic.run(Native Method)
>     at com.kivasoft.thread.ThreadBasic.run(Native Method)
>     at com.kivasoft.thread.ThreadBasic.run(Compiled Code)
>     at java.lang.Thread.run(Compiled Code)
> </stackTrace>
> </detail>
> </SOAP-ENV:Fault>
>
> </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
>
>
>


Re: Parsing error in the response xml.

Posted by Scott Nichol <sc...@yahoo.com>.
Looking into the Apache SOAP code, I suspect the DOM2Writer#serializeAsXml
method.  If both the prefix and namespace URI for the DOM Element are
non-null, it will write the namespace information.  As created in
buildFaultDetailsFromThrowable, does Xerces give the element null values for
these, or does it give zero-length strings?  If DOM2Writer checked for the
zero-length case as well as null, I suspect you would not get the error you
do.  Note that I *suspect* this; I do not *know* it.

Scott Nichol

----- Original Message -----
From: "Matt MacDonald" <ma...@mitre.org>
To: <so...@xml.apache.org>
Sent: Monday, March 25, 2002 15:21
Subject: Parsing error in the response xml.


> I am getting the following SOAPException error message:
>
> (SOAP-ENV:Client): Parsing error, response was:
> An invalid second ':' was found in the element type or attribute name.
>
> The Call and Response xml fragments are below. My application is
> throwing the proper exception but the Element Fault -> detail ->
> stackTrace contains an invalid namespace declaration. I'm curious as to
> how this invalid namespace attribute is showing up in the first place. I
> have looked through the Apache SOAP 2.2 source code and can't see where
> this namespace is being declared. I looked in
> Utils.buildFaultDetailsFromThrowable which is where I believe the Java
> stackTrace is converted into an xml element and I can't see the
> namespace inclusion to this "stackTrace" Element. Does anyone have
> thoughts as to what is going on? I am using:
>
> Apache SOAP 2.2
> Xerces 1.4.4
>
> CALL and RESPONSE:
>
>
> CALL
> <?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:getProjectName xmlns:ns1="urn:project-validator"
> SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
> <Paramater0 xsi:type="xsd:string">01AAV633</Paramater0>
> <Paramater1 xsi:type="xsd:string">MP</Paramater1>
> <Paramater2 xsi:type="xsd:string">2001</Paramater2>
> </ns1:getProjectName>
> </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
>
>
> RESPONSE
> <?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>
> <SOAP-ENV:Fault>
> <faultcode>SOAP-ENV:Server</faultcode>
> <faultstring>Exception from service object: Invalid fiscal year and
> project number combonation. 01AAV633 and fiscal year = 2001</faultstring>
> <faultactor>/NASApp/pdc_soap/servlet/rpcrouter</faultactor>
> <detail>
> <stackTrace
> xmlns:="">org.mitre.mii.project.validation.ProjectValidationException:
> Invalid fiscal year and project number combonation. 01AAV633 and fiscal
> year = 2001
>     at java.lang.Throwable.fillInStackTrace(Native Method)
>     at java.lang.Throwable.fillInStackTrace(Compiled Code)
>     at java.lang.Throwable.&lt;init&gt;(Compiled Code)
>     at java.lang.Exception.&lt;init&gt;(Compiled Code)
>     at org.mitre.mii.datacollector.ExceptionWrapper.&lt;init&gt;(Unknown
> Source)
>     at
>
org.mitre.mii.project.validation.ProjectValidationException.&lt;init&gt;(Unk
nown
> Source)
>     at
>
org.mitre.mii.project.validation.ProjectValidatorImpl.queryProjectBean(Compi
led
> Code)
>     at
>
org.mitre.mii.project.validation.ProjectValidatorImpl.queryProjectBean(Compi
led
> Code)
>     at
>
org.mitre.mii.project.validation.ProjectValidatorImpl.getProjectName(Unknown
> Source)
>     at java.lang.reflect.Method.invoke(Native Method)
>     at java.lang.reflect.Method.invoke(Compiled Code)
>     at org.apache.soap.server.RPCRouter.invoke(Compiled Code)
>     at
> org.apache.soap.providers.RPCJavaProvider.invoke(RPCJavaProvider.java:129)
>     at org.apache.soap.server.http.RPCRouterServlet.doPost(Compiled Code)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:772)
>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:865)
>     at
> com.netscape.server.servlet.servletrunner.ServletInfo.service(Unknown
> Source)
>     at
> com.netscape.server.servlet.servletrunner.ServletRunner.execute(Unknown
> Source)
>     at com.kivasoft.applogic.AppLogic.execute(Compiled Code)
>     at com.kivasoft.applogic.AppLogic.execute(Compiled Code)
>     at com.kivasoft.thread.ThreadBasic.run(Native Method)
>     at com.kivasoft.thread.ThreadBasic.run(Native Method)
>     at com.kivasoft.thread.ThreadBasic.run(Native Method)
>     at com.kivasoft.thread.ThreadBasic.run(Native Method)
>     at com.kivasoft.thread.ThreadBasic.run(Compiled Code)
>     at java.lang.Thread.run(Compiled Code)
> </stackTrace>
> </detail>
> </SOAP-ENV:Fault>
>
> </SOAP-ENV:Body>
> </SOAP-ENV:Envelope>
>
>
>