You are viewing a plain text version of this content. The canonical link for it is here.
Posted to soap-user@ws.apache.org by ti...@adinet.com.uy on 2004/06/07 07:52:45 UTC

fault listener

Hi there,

I have been testing some services with no faultListener at all, and everything
worked right. I have tryed DOMFaultListener, and it works ok too. But I
have a problem with ExceptionFaultListener. 

When there is no exception generated at the server side, it works fine.
But when there is an exception, I can't access to the Fault, because an
exception is generated on the client side, at the moment of invoking the
service (RPCCall.invoke(url.....). The exception message is the following:

[SOAPException: faultCode=SOAP-ENV:Protocol; msg=Unsupported response content
type "text/html; charset=ISO-8859-1", must be: "text/xml".
Response was:
<html><head><title>Apache Tomcat/5.0.18 - Informe de Error</title><style><!--H1
{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;}
H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;}
H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;}
BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;}
B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;}
P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A
{color : black;}A.name {color : black;}HR {color : #525D76;}--></style>
</head><body><h1>Estado HTTP 500 - </h1><HR size="1"
noshade><p><b>type</b> Informe de Excepción</p><p><b>mensaje</b>
<u></u></p><p><b>descripción</b> <u>El
servidor encontró un error interno () que hizo que no pudiera rellenar este
requerimiento.</u></p><p><b>excepción</b>
<pre>javax.servlet.ServletException: Error building response envelope:
java.lang.NullPointerException
        org.apache.soap.server.http.RPCRouterServlet.doPost(RPCRouterServlet.java:418)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
</pre></p><p><b>nota</b> <u>La traza
completa de la causa de este error se encuentra en los archivos de diario
de Tomcat.</u></p><HR size="1" noshade><h3>Apache
Tomcat/5.0.18</h3></body></html>
]

Can anyone help me?, do yo need more information about this error?

Thanks very much,

tizo


Re: fault listener

Posted by Scott Nichol <sn...@scottnichol.com>.
Any investigation you can do would be much appreciated.

Scott Nichol

Do not send e-mail directly to this e-mail address,
because it is filtered to accept only mail from
specific mail lists.
----- Original Message ----- 
From: <ti...@adinet.com.uy>
To: <so...@ws.apache.org>
Sent: Friday, June 11, 2004 12:26 PM
Subject: Re: fault listener


Ok Scott,

Thanks very much. I will try to make minimal examples that reproduces the
errors, and investigate it. The big problem is I don't know much about serialization
and deserialization; I am just a SOAP user.

Do you have any problem that I post some results of the examples, if I can't
find the solution?, or do you prefer waiting until you have some time to
investigate?

Thanks for YOUR patience,

tizo



>-- Mensaje original --
>Reply-To: soap-user@ws.apache.org
>From: "Scott Nichol" <sn...@scottnichol.com>
>To: <so...@ws.apache.org>
>Subject: Re: fault listener
>Date: Fri, 11 Jun 2004 09:45:36 -0400
>
>
>
>For #2, I cannot fault your logic, but it since you are getting a Node
instead
>of a Parameter, I think you will need to handle both the case when you
get
>a Parameter and when you get a Node.  As I said before, the de-serialization
>looks like it will produce a Node whenever it cannot produce a Parameter,
>and this may be one of those cases.
>
>I hope to investigate this in more depth soon, but right now I am afraid
>I just do not have the time.
>
>Thanks for your patience.
>
>Scott Nichol
>
>Do not send e-mail directly to this e-mail address,
>because it is filtered to accept only mail from
>specific mail lists.
>----- Original Message ----- 
>From: <ti...@adinet.com.uy>
>To: <so...@ws.apache.org>
>Sent: Tuesday, June 08, 2004 4:34 PM
>Subject: Re: fault listener
>
>
>Scott,
>
>I think that I was not clear enough (sorry about my english).
>
>I have two problems, which I'll try to explain again. 
>
>The scenario is the following: I am trying to catch a server exception
in
>the client side; not the SOAP Fault, but the original server exception.
>So, in any of the cases that I am testing, I am forcing the server to throw
>an exception. To catch the exception from client, I am trying using ExceptionFaultListener.
>I thought that in that way, I could obtain the Fault in the client side,
>obtain the detail entries from it (with getDetailEntries method), take
the
>first element, which would be a Parameter, and take the orignal exception
>from that Parameter. Is that reasoning right? Supposing that it is right,
>the problems that I am having are:
>
>1-Using the production version of Apache SOAP, I couldn't obtain the Fault
>in the client, because an exception is throwed at the moment of the invocation
>(i.e: when the method invoke is called). I have posted the message of this
>exception earlier, but if you want, I could post it again.
>
>2-Using the nightly build of Apache SOAP, I could obtain the Fault (what
>it is supposed to do), and the message of the Fault is right (it tells
the
>original exception). In the detail entries Vector of the Fault, there is
>only one element (of class org.apache.crimson.tree.ElementNode2), and it
>contains the stackTrace of the exception. The stackTrace is right, it says
>what it should said; but the problem is that, if my reasoning is right,
>the element of the detail entries Vector should not be a stackTrace; it
>should be a Parameter from which I could take the orignial exception, shouldn't
>it?
>
>I hope that this make things clearer.
>
>Thanks very much,
>
>tizo
>
>
>
>>-- Mensaje original --
>>Reply-To: soap-user@ws.apache.org
>>From: "Scott Nichol" <sn...@scottnichol.com>
>>To: <so...@ws.apache.org>
>>Subject: Re: fault listener
>>Date: Mon, 7 Jun 2004 23:59:18 -0400
>>
>>
>>----- Original Message ----- 
>>From: <ti...@adinet.com.uy>
>>To: <so...@ws.apache.org>
>>Sent: Monday, June 07, 2004 7:55 PM
>>Subject: Re: fault listener
>>
>>
>>Scott,
>>
>>>>>>
>>I have tried with the nightly build of Apache SOAP, and there is not more
>>exception in the client when I use ExceptionFaultListener, and there is
>>a exception in the server
>><<<<
>>
>>What is the stack dump from the server exception?  The nightly build should
>>have more useful information in the dump than the 2.3.1 release had.
>>
>>>>>>
>> (is that a bug in the production version?, if
>>it is, how could I fix that?)
>><<<<
>>
>>You need to post the stack dump for anyone to determine the nature of
the
>>problem.
>>
>>>>>>
>>, but I still have a problem:
>>
>>I have seen the code of ExceptionFaultListener, and it takes the original
>>exception, wraps it in a Parameter, puts the Parameter in a Vector, and
>>puts the last one in the detail entries of the Fault (with method setDetailEntries).
>>In the client side, when I've got a Fault, I get the detail entries Vector
>>(with method getDetailEntries), take the first element of this Vector
(the
>>only one), and it is not of class Parameter; why?, shouldn't it be a Parameter?
>>Anyway, this object (the first one of the detail entries Vector) is of
>class
>>org.apache.crimson.tree.ElementNode2.
>><<<<
>>
>>It will be a Parameter, unless an exception is thrown trying to de-serialize
>>a detail as a Parameter, in which case it will be kept as an Element.
>>
>>Scott Nichol
>>
>>Do not send e-mail directly to this e-mail address,
>>because it is filtered to accept only mail from
>>specific mail lists.
>>
>
>
>




Re: fault listener

Posted by ti...@adinet.com.uy.
Ok Scott,

Thanks very much. I will try to make minimal examples that reproduces the
errors, and investigate it. The big problem is I don't know much about serialization
and deserialization; I am just a SOAP user.

Do you have any problem that I post some results of the examples, if I can't
find the solution?, or do you prefer waiting until you have some time to
investigate?

Thanks for YOUR patience,

tizo



>-- Mensaje original --
>Reply-To: soap-user@ws.apache.org
>From: "Scott Nichol" <sn...@scottnichol.com>
>To: <so...@ws.apache.org>
>Subject: Re: fault listener
>Date: Fri, 11 Jun 2004 09:45:36 -0400
>
>
>
>For #2, I cannot fault your logic, but it since you are getting a Node
instead
>of a Parameter, I think you will need to handle both the case when you
get
>a Parameter and when you get a Node.  As I said before, the de-serialization
>looks like it will produce a Node whenever it cannot produce a Parameter,
>and this may be one of those cases.
>
>I hope to investigate this in more depth soon, but right now I am afraid
>I just do not have the time.
>
>Thanks for your patience.
>
>Scott Nichol
>
>Do not send e-mail directly to this e-mail address,
>because it is filtered to accept only mail from
>specific mail lists.
>----- Original Message ----- 
>From: <ti...@adinet.com.uy>
>To: <so...@ws.apache.org>
>Sent: Tuesday, June 08, 2004 4:34 PM
>Subject: Re: fault listener
>
>
>Scott,
>
>I think that I was not clear enough (sorry about my english).
>
>I have two problems, which I'll try to explain again. 
>
>The scenario is the following: I am trying to catch a server exception
in
>the client side; not the SOAP Fault, but the original server exception.
>So, in any of the cases that I am testing, I am forcing the server to throw
>an exception. To catch the exception from client, I am trying using ExceptionFaultListener.
>I thought that in that way, I could obtain the Fault in the client side,
>obtain the detail entries from it (with getDetailEntries method), take
the
>first element, which would be a Parameter, and take the orignal exception
>from that Parameter. Is that reasoning right? Supposing that it is right,
>the problems that I am having are:
>
>1-Using the production version of Apache SOAP, I couldn't obtain the Fault
>in the client, because an exception is throwed at the moment of the invocation
>(i.e: when the method invoke is called). I have posted the message of this
>exception earlier, but if you want, I could post it again.
>
>2-Using the nightly build of Apache SOAP, I could obtain the Fault (what
>it is supposed to do), and the message of the Fault is right (it tells
the
>original exception). In the detail entries Vector of the Fault, there is
>only one element (of class org.apache.crimson.tree.ElementNode2), and it
>contains the stackTrace of the exception. The stackTrace is right, it says
>what it should said; but the problem is that, if my reasoning is right,
>the element of the detail entries Vector should not be a stackTrace; it
>should be a Parameter from which I could take the orignial exception, shouldn't
>it?
>
>I hope that this make things clearer.
>
>Thanks very much,
>
>tizo
>
>
>
>>-- Mensaje original --
>>Reply-To: soap-user@ws.apache.org
>>From: "Scott Nichol" <sn...@scottnichol.com>
>>To: <so...@ws.apache.org>
>>Subject: Re: fault listener
>>Date: Mon, 7 Jun 2004 23:59:18 -0400
>>
>>
>>----- Original Message ----- 
>>From: <ti...@adinet.com.uy>
>>To: <so...@ws.apache.org>
>>Sent: Monday, June 07, 2004 7:55 PM
>>Subject: Re: fault listener
>>
>>
>>Scott,
>>
>>>>>>
>>I have tried with the nightly build of Apache SOAP, and there is not more
>>exception in the client when I use ExceptionFaultListener, and there is
>>a exception in the server
>><<<<
>>
>>What is the stack dump from the server exception?  The nightly build should
>>have more useful information in the dump than the 2.3.1 release had.
>>
>>>>>>
>> (is that a bug in the production version?, if
>>it is, how could I fix that?)
>><<<<
>>
>>You need to post the stack dump for anyone to determine the nature of
the
>>problem.
>>
>>>>>>
>>, but I still have a problem:
>>
>>I have seen the code of ExceptionFaultListener, and it takes the original
>>exception, wraps it in a Parameter, puts the Parameter in a Vector, and
>>puts the last one in the detail entries of the Fault (with method setDetailEntries).
>>In the client side, when I've got a Fault, I get the detail entries Vector
>>(with method getDetailEntries), take the first element of this Vector
(the
>>only one), and it is not of class Parameter; why?, shouldn't it be a Parameter?
>>Anyway, this object (the first one of the detail entries Vector) is of
>class
>>org.apache.crimson.tree.ElementNode2.
>><<<<
>>
>>It will be a Parameter, unless an exception is thrown trying to de-serialize
>>a detail as a Parameter, in which case it will be kept as an Element.
>>
>>Scott Nichol
>>
>>Do not send e-mail directly to this e-mail address,
>>because it is filtered to accept only mail from
>>specific mail lists.
>>
>
>
>



Re: fault listener

Posted by Scott Nichol <sn...@scottnichol.com>.
For #2, I cannot fault your logic, but it since you are getting a Node instead of a Parameter, I think you will need to handle both the case when you get a Parameter and when you get a Node.  As I said before, the de-serialization looks like it will produce a Node whenever it cannot produce a Parameter, and this may be one of those cases.

I hope to investigate this in more depth soon, but right now I am afraid I just do not have the time.

Thanks for your patience.

Scott Nichol

Do not send e-mail directly to this e-mail address,
because it is filtered to accept only mail from
specific mail lists.
----- Original Message ----- 
From: <ti...@adinet.com.uy>
To: <so...@ws.apache.org>
Sent: Tuesday, June 08, 2004 4:34 PM
Subject: Re: fault listener


Scott,

I think that I was not clear enough (sorry about my english).

I have two problems, which I'll try to explain again. 

The scenario is the following: I am trying to catch a server exception in
the client side; not the SOAP Fault, but the original server exception.
So, in any of the cases that I am testing, I am forcing the server to throw
an exception. To catch the exception from client, I am trying using ExceptionFaultListener.
I thought that in that way, I could obtain the Fault in the client side,
obtain the detail entries from it (with getDetailEntries method), take the
first element, which would be a Parameter, and take the orignal exception
from that Parameter. Is that reasoning right? Supposing that it is right,
the problems that I am having are:

1-Using the production version of Apache SOAP, I couldn't obtain the Fault
in the client, because an exception is throwed at the moment of the invocation
(i.e: when the method invoke is called). I have posted the message of this
exception earlier, but if you want, I could post it again.

2-Using the nightly build of Apache SOAP, I could obtain the Fault (what
it is supposed to do), and the message of the Fault is right (it tells the
original exception). In the detail entries Vector of the Fault, there is
only one element (of class org.apache.crimson.tree.ElementNode2), and it
contains the stackTrace of the exception. The stackTrace is right, it says
what it should said; but the problem is that, if my reasoning is right,
the element of the detail entries Vector should not be a stackTrace; it
should be a Parameter from which I could take the orignial exception, shouldn't
it?

I hope that this make things clearer.

Thanks very much,

tizo



>-- Mensaje original --
>Reply-To: soap-user@ws.apache.org
>From: "Scott Nichol" <sn...@scottnichol.com>
>To: <so...@ws.apache.org>
>Subject: Re: fault listener
>Date: Mon, 7 Jun 2004 23:59:18 -0400
>
>
>----- Original Message ----- 
>From: <ti...@adinet.com.uy>
>To: <so...@ws.apache.org>
>Sent: Monday, June 07, 2004 7:55 PM
>Subject: Re: fault listener
>
>
>Scott,
>
>>>>>
>I have tried with the nightly build of Apache SOAP, and there is not more
>exception in the client when I use ExceptionFaultListener, and there is
>a exception in the server
><<<<
>
>What is the stack dump from the server exception?  The nightly build should
>have more useful information in the dump than the 2.3.1 release had.
>
>>>>>
> (is that a bug in the production version?, if
>it is, how could I fix that?)
><<<<
>
>You need to post the stack dump for anyone to determine the nature of the
>problem.
>
>>>>>
>, but I still have a problem:
>
>I have seen the code of ExceptionFaultListener, and it takes the original
>exception, wraps it in a Parameter, puts the Parameter in a Vector, and
>puts the last one in the detail entries of the Fault (with method setDetailEntries).
>In the client side, when I've got a Fault, I get the detail entries Vector
>(with method getDetailEntries), take the first element of this Vector (the
>only one), and it is not of class Parameter; why?, shouldn't it be a Parameter?
>Anyway, this object (the first one of the detail entries Vector) is of
class
>org.apache.crimson.tree.ElementNode2.
><<<<
>
>It will be a Parameter, unless an exception is thrown trying to de-serialize
>a detail as a Parameter, in which case it will be kept as an Element.
>
>Scott Nichol
>
>Do not send e-mail directly to this e-mail address,
>because it is filtered to accept only mail from
>specific mail lists.
>




Re: fault listener

Posted by ti...@adinet.com.uy.
Scott,

I think that I was not clear enough (sorry about my english).

I have two problems, which I'll try to explain again. 

The scenario is the following: I am trying to catch a server exception in
the client side; not the SOAP Fault, but the original server exception.
So, in any of the cases that I am testing, I am forcing the server to throw
an exception. To catch the exception from client, I am trying using ExceptionFaultListener.
I thought that in that way, I could obtain the Fault in the client side,
obtain the detail entries from it (with getDetailEntries method), take the
first element, which would be a Parameter, and take the orignal exception
from that Parameter. Is that reasoning right? Supposing that it is right,
the problems that I am having are:

1-Using the production version of Apache SOAP, I couldn't obtain the Fault
in the client, because an exception is throwed at the moment of the invocation
(i.e: when the method invoke is called). I have posted the message of this
exception earlier, but if you want, I could post it again.

2-Using the nightly build of Apache SOAP, I could obtain the Fault (what
it is supposed to do), and the message of the Fault is right (it tells the
original exception). In the detail entries Vector of the Fault, there is
only one element (of class org.apache.crimson.tree.ElementNode2), and it
contains the stackTrace of the exception. The stackTrace is right, it says
what it should said; but the problem is that, if my reasoning is right,
the element of the detail entries Vector should not be a stackTrace; it
should be a Parameter from which I could take the orignial exception, shouldn't
it?

I hope that this make things clearer.

Thanks very much,

tizo



>-- Mensaje original --
>Reply-To: soap-user@ws.apache.org
>From: "Scott Nichol" <sn...@scottnichol.com>
>To: <so...@ws.apache.org>
>Subject: Re: fault listener
>Date: Mon, 7 Jun 2004 23:59:18 -0400
>
>
>----- Original Message ----- 
>From: <ti...@adinet.com.uy>
>To: <so...@ws.apache.org>
>Sent: Monday, June 07, 2004 7:55 PM
>Subject: Re: fault listener
>
>
>Scott,
>
>>>>>
>I have tried with the nightly build of Apache SOAP, and there is not more
>exception in the client when I use ExceptionFaultListener, and there is
>a exception in the server
><<<<
>
>What is the stack dump from the server exception?  The nightly build should
>have more useful information in the dump than the 2.3.1 release had.
>
>>>>>
> (is that a bug in the production version?, if
>it is, how could I fix that?)
><<<<
>
>You need to post the stack dump for anyone to determine the nature of the
>problem.
>
>>>>>
>, but I still have a problem:
>
>I have seen the code of ExceptionFaultListener, and it takes the original
>exception, wraps it in a Parameter, puts the Parameter in a Vector, and
>puts the last one in the detail entries of the Fault (with method setDetailEntries).
>In the client side, when I've got a Fault, I get the detail entries Vector
>(with method getDetailEntries), take the first element of this Vector (the
>only one), and it is not of class Parameter; why?, shouldn't it be a Parameter?
>Anyway, this object (the first one of the detail entries Vector) is of
class
>org.apache.crimson.tree.ElementNode2.
><<<<
>
>It will be a Parameter, unless an exception is thrown trying to de-serialize
>a detail as a Parameter, in which case it will be kept as an Element.
>
>Scott Nichol
>
>Do not send e-mail directly to this e-mail address,
>because it is filtered to accept only mail from
>specific mail lists.
>



Re: fault listener

Posted by ti...@adinet.com.uy.
Scott,

I don't know if you have read my last message. The point is that I can't
resolve the problem yet.

What I could do, is make a small example that reproduces the problem, and
post the server code, the client code, the deployment descriptor, and the
faults and exceptions messages, that would help?

Thanks very much,

tizo

>-- Mensaje original --
>Reply-To: soap-user@ws.apache.org
>From: "Scott Nichol" <sn...@scottnichol.com>
>To: <so...@ws.apache.org>
>Subject: Re: fault listener
>Date: Mon, 7 Jun 2004 23:59:18 -0400
>
>
>----- Original Message ----- 
>From: <ti...@adinet.com.uy>
>To: <so...@ws.apache.org>
>Sent: Monday, June 07, 2004 7:55 PM
>Subject: Re: fault listener
>
>
>Scott,
>
>>>>>
>I have tried with the nightly build of Apache SOAP, and there is not more
>exception in the client when I use ExceptionFaultListener, and there is
>a exception in the server
><<<<
>
>What is the stack dump from the server exception?  The nightly build should
>have more useful information in the dump than the 2.3.1 release had.
>
>>>>>
> (is that a bug in the production version?, if
>it is, how could I fix that?)
><<<<
>
>You need to post the stack dump for anyone to determine the nature of the
>problem.
>
>>>>>
>, but I still have a problem:
>
>I have seen the code of ExceptionFaultListener, and it takes the original
>exception, wraps it in a Parameter, puts the Parameter in a Vector, and
>puts the last one in the detail entries of the Fault (with method setDetailEntries).
>In the client side, when I've got a Fault, I get the detail entries Vector
>(with method getDetailEntries), take the first element of this Vector (the
>only one), and it is not of class Parameter; why?, shouldn't it be a Parameter?
>Anyway, this object (the first one of the detail entries Vector) is of
class
>org.apache.crimson.tree.ElementNode2.
><<<<
>
>It will be a Parameter, unless an exception is thrown trying to de-serialize
>a detail as a Parameter, in which case it will be kept as an Element.
>
>Scott Nichol
>
>Do not send e-mail directly to this e-mail address,
>because it is filtered to accept only mail from
>specific mail lists.
>



Re: fault listener

Posted by Scott Nichol <sn...@scottnichol.com>.
----- Original Message ----- 
From: <ti...@adinet.com.uy>
To: <so...@ws.apache.org>
Sent: Monday, June 07, 2004 7:55 PM
Subject: Re: fault listener


Scott,

>>>>
I have tried with the nightly build of Apache SOAP, and there is not more
exception in the client when I use ExceptionFaultListener, and there is
a exception in the server
<<<<

What is the stack dump from the server exception?  The nightly build should have more useful information in the dump than the 2.3.1 release had.

>>>>
 (is that a bug in the production version?, if
it is, how could I fix that?)
<<<<

You need to post the stack dump for anyone to determine the nature of the problem.

>>>>
, but I still have a problem:

I have seen the code of ExceptionFaultListener, and it takes the original
exception, wraps it in a Parameter, puts the Parameter in a Vector, and
puts the last one in the detail entries of the Fault (with method setDetailEntries).
In the client side, when I've got a Fault, I get the detail entries Vector
(with method getDetailEntries), take the first element of this Vector (the
only one), and it is not of class Parameter; why?, shouldn't it be a Parameter?
Anyway, this object (the first one of the detail entries Vector) is of class
org.apache.crimson.tree.ElementNode2.
<<<<

It will be a Parameter, unless an exception is thrown trying to de-serialize a detail as a Parameter, in which case it will be kept as an Element.

Scott Nichol

Do not send e-mail directly to this e-mail address,
because it is filtered to accept only mail from
specific mail lists.


Re: fault listener

Posted by ti...@adinet.com.uy.
Scott,

I have tried with the nightly build of Apache SOAP, and there is not more
exception in the client when I use ExceptionFaultListener, and there is
a exception in the server (is that a bug in the production version?, if
it is, how could I fix that?), but I still have a problem:

I have seen the code of ExceptionFaultListener, and it takes the original
exception, wraps it in a Parameter, puts the Parameter in a Vector, and
puts the last one in the detail entries of the Fault (with method setDetailEntries).
In the client side, when I've got a Fault, I get the detail entries Vector
(with method getDetailEntries), take the first element of this Vector (the
only one), and it is not of class Parameter; why?, shouldn't it be a Parameter?
Anyway, this object (the first one of the detail entries Vector) is of class
org.apache.crimson.tree.ElementNode2.

Thanks very much,

tizo




>-- Mensaje original --
>Reply-To: soap-user@ws.apache.org
>From: "Scott Nichol" <sn...@scottnichol.com>
>To: <so...@ws.apache.org>
>Subject: Re: fault listener
>Date: Mon, 7 Jun 2004 09:51:19 -0400
>
>
>I'll note two things:
>
>1. If you can in your environment (e.g. it is not production), I suggest
>you use the nightly build of Apache SOAP (http://cvs.apache.org/dist/soap/nightly/2004-04-07/).
> This fixes several bugs, adds a few features, and in particular will give
>you more using exception information in the area you are having problems.
>
>2. One of the issues in 2.3.1 is that you will get the kind of generic
error
>you see below if you include whitespace in the name of the fault listener
>class or misspell the class.  For example, having the following in the
deployment
>descriptor will cause the exception you are seeing
>
>  <isd:faultListener>org.apache.soap.server.DOMFaultListener
>  </isd:faultListener>
>
>because there is whitespace in the class name.  Check your deployment descriptor.
>
>Scott Nichol
>
>Do not send e-mail directly to this e-mail address,
>because it is filtered to accept only mail from
>specific mail lists.
>----- Original Message ----- 
>From: <ti...@adinet.com.uy>
>To: <so...@ws.apache.org>
>Sent: Monday, June 07, 2004 1:52 AM
>Subject: fault listener
>
>
>Hi there,
>
>I have been testing some services with no faultListener at all, and everything
>worked right. I have tryed DOMFaultListener, and it works ok too. But I
>have a problem with ExceptionFaultListener. 
>
>When there is no exception generated at the server side, it works fine.
>But when there is an exception, I can't access to the Fault, because an
>exception is generated on the client side, at the moment of invoking the
>service (RPCCall.invoke(url.....). The exception message is the following:
>
>[SOAPException: faultCode=SOAP-ENV:Protocol; msg=Unsupported response content
>type "text/html; charset=ISO-8859-1", must be: "text/xml".
>Response was:
><html><head><title>Apache Tomcat/5.0.18 - Informe de Error</title><style><!--H1
>{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;}
>H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;}
>H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;}
>BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;}
>B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;}
>P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A
>{color : black;}A.name {color : black;}HR {color : #525D76;}--></style>
></head><body><h1>Estado HTTP 500 - </h1><HR size="1"
>noshade><p><b>type</b> Informe de Excepción</p><p><b>mensaje</b>
><u></u></p><p><b>descripción</b> <u>El
>servidor encontró un error interno () que hizo que no pudiera rellenar
este
>requerimiento.</u></p><p><b>excepción</b>
><pre>javax.servlet.ServletException: Error building response envelope:
>java.lang.NullPointerException
>        org.apache.soap.server.http.RPCRouterServlet.doPost(RPCRouterServlet.java:418)
>        javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
>        javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
></pre></p><p><b>nota</b> <u>La traza
>completa de la causa de este error se encuentra en los archivos de diario
>de Tomcat.</u></p><HR size="1" noshade><h3>Apache
>Tomcat/5.0.18</h3></body></html>
>]
>
>Can anyone help me?, do yo need more information about this error?
>
>Thanks very much,
>
>tizo
>
>



Re: fault listener

Posted by Scott Nichol <sn...@scottnichol.com>.
I'll note two things:

1. If you can in your environment (e.g. it is not production), I suggest you use the nightly build of Apache SOAP (http://cvs.apache.org/dist/soap/nightly/2004-04-07/).  This fixes several bugs, adds a few features, and in particular will give you more using exception information in the area you are having problems.

2. One of the issues in 2.3.1 is that you will get the kind of generic error you see below if you include whitespace in the name of the fault listener class or misspell the class.  For example, having the following in the deployment descriptor will cause the exception you are seeing

  <isd:faultListener>org.apache.soap.server.DOMFaultListener
  </isd:faultListener>

because there is whitespace in the class name.  Check your deployment descriptor.

Scott Nichol

Do not send e-mail directly to this e-mail address,
because it is filtered to accept only mail from
specific mail lists.
----- Original Message ----- 
From: <ti...@adinet.com.uy>
To: <so...@ws.apache.org>
Sent: Monday, June 07, 2004 1:52 AM
Subject: fault listener


Hi there,

I have been testing some services with no faultListener at all, and everything
worked right. I have tryed DOMFaultListener, and it works ok too. But I
have a problem with ExceptionFaultListener. 

When there is no exception generated at the server side, it works fine.
But when there is an exception, I can't access to the Fault, because an
exception is generated on the client side, at the moment of invoking the
service (RPCCall.invoke(url.....). The exception message is the following:

[SOAPException: faultCode=SOAP-ENV:Protocol; msg=Unsupported response content
type &quot;text/html; charset=ISO-8859-1&quot;, must be: &quot;text/xml&quot;.
Response was:
&lt;html&gt;&lt;head&gt;&lt;title&gt;Apache Tomcat/5.0.18 - Informe de Error&lt;/title&gt;&lt;style&gt;&lt;!--H1
{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;}
H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;}
H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;}
BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;}
B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;}
P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A
{color : black;}A.name {color : black;}HR {color : #525D76;}--&gt;&lt;/style&gt;
&lt;/head&gt;&lt;body&gt;&lt;h1&gt;Estado HTTP 500 - &lt;/h1&gt;&lt;HR size=&quot;1&quot;
noshade&gt;&lt;p&gt;&lt;b&gt;type&lt;/b&gt; Informe de Excepción&lt;/p&gt;&lt;p&gt;&lt;b&gt;mensaje&lt;/b&gt;
&lt;u&gt;&lt;/u&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;descripción&lt;/b&gt; &lt;u&gt;El
servidor encontró un error interno () que hizo que no pudiera rellenar este
requerimiento.&lt;/u&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;excepción&lt;/b&gt;
&lt;pre&gt;javax.servlet.ServletException: Error building response envelope:
java.lang.NullPointerException
        org.apache.soap.server.http.RPCRouterServlet.doPost(RPCRouterServlet.java:418)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
&lt;/pre&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;nota&lt;/b&gt; &lt;u&gt;La traza
completa de la causa de este error se encuentra en los archivos de diario
de Tomcat.&lt;/u&gt;&lt;/p&gt;&lt;HR size=&quot;1&quot; noshade&gt;&lt;h3&gt;Apache
Tomcat/5.0.18&lt;/h3&gt;&lt;/body&gt;&lt;/html&gt;
]

Can anyone help me?, do yo need more information about this error?

Thanks very much,

tizo



Re: fault listener

Posted by ti...@adinet.com.uy.
Martin,

The contents of the Tomcat log relating to this exception are the following:

2004-06-07 18:28:13 StandardContext[/balancer]org.apache.webapp.balancer.BalancerFilter:
init(): ruleChain: [org.apache.webapp.balancer.RuleChain: [org.apache.webapp.balancer.rules.URLStringMatchRule:
Target string: News / Redirect URL: http://www.cnn.com], [org.apache.webapp.balancer.rules.RequestParameterRule:
Target param name: paramName / Target param value: paramValue / Redirect
URL: http://www.yahoo.com], [org.apache.webapp.balancer.rules.AcceptEverythingRule:
Redirect URL: http://jakarta.apache.org]]
2004-06-07 18:28:15 StandardContext[/jsp-examples]ContextListener: contextInitialized()
2004-06-07 18:28:15 StandardContext[/jsp-examples]SessionListener: contextInitialized()
2004-06-07 18:28:15 StandardContext[/servlets-examples]ContextListener:
contextInitialized()
2004-06-07 18:28:15 StandardContext[/servlets-examples]SessionListener:
contextInitialized()
2004-06-07 18:28:22 StandardWrapperValve[rpcrouter]: Servlet.service() for
servlet rpcrouter threw exception
javax.servlet.ServletException: Error building response envelope: java.lang.NullPointerException
	at org.apache.soap.server.http.RPCRouterServlet.doPost(RPCRouterServlet.java:418)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:284)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:204)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:257)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
	at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:245)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:199)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:195)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:164)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:156)
	at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:972)
	at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:206)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700)
	at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
	at java.lang.Thread.run(Thread.java:534)

Scott,

Neither is whitespace in the name of the fault listener class nor the class
is misspelled. I am going to try with the nightly build of Apache SOAP.

Thanks you both very much,

tizo





>-- Mensaje original --
>Reply-To: soap-user@ws.apache.org
>From: "Martin Gainty" <mg...@hotmail.com>
>To: <so...@ws.apache.org>
>Subject: Re: fault listener
>Date: Mon, 7 Jun 2004 07:28:34 -0400
>
>
>Tizo
>Can you display the contents of the Tomcat log relating to this exception
>Martin
>----- Original Message ----- 
>From: <ti...@adinet.com.uy>
>To: <so...@ws.apache.org>
>Sent: Monday, June 07, 2004 1:52 AM
>Subject: fault listener
>
>
>Hi there,
>
>I have been testing some services with no faultListener at all, and
>everything
>worked right. I have tryed DOMFaultListener, and it works ok too. But I
>have a problem with ExceptionFaultListener.
>
>When there is no exception generated at the server side, it works fine.
>But when there is an exception, I can't access to the Fault, because an
>exception is generated on the client side, at the moment of invoking the
>service (RPCCall.invoke(url.....). The exception message is the following:
>
>[SOAPException: faultCode=SOAP-ENV:Protocol; msg=Unsupported response
>content
>type "text/html; charset=ISO-8859-1", must be:
>"text/xml".
>Response was:
><html><head><title>Apache Tomcat/5.0.18 - Informe de
>Error</title><style><!--H1
>{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;fo
>nt-size:22px;}
>H2
>{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;fo
>nt-size:16px;}
>H3
>{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;fo
>nt-size:14px;}
>BODY
>{font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;}
>B
>{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;}
>P
>{font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:
>12px;}A
>{color : black;}A.name {color : black;}HR {color :
>#525D76;}--></style>
></head><body><h1>Estado HTTP 500 - </h1><HR
>size="1"
>noshade><p><b>type</b> Informe de
>Excepción</p><p><b>mensaje</b>
><u></u></p><p><b>descripción</b>
><u>El
>servidor encontró un error interno () que hizo que no pudiera rellenar
este
>requerimiento.</u></p><p><b>excepción</b>
><pre>javax.servlet.ServletException: Error building response envelope:
>java.lang.NullPointerException
>
>org.apache.soap.server.http.RPCRouterServlet.doPost(RPCRouterServlet.java:41
>8)
>        javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
>        javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
></pre></p><p><b>nota</b> <u>La traza
>completa de la causa de este error se encuentra en los archivos de diario
>de Tomcat.</u></p><HR size="1"
>noshade><h3>Apache
>Tomcat/5.0.18</h3></body></html>
>]
>
>Can anyone help me?, do yo need more information about this error?
>
>Thanks very much,
>
>tizo
>



Re: fault listener

Posted by Martin Gainty <mg...@hotmail.com>.
Tizo
Can you display the contents of the Tomcat log relating to this exception
Martin
----- Original Message ----- 
From: <ti...@adinet.com.uy>
To: <so...@ws.apache.org>
Sent: Monday, June 07, 2004 1:52 AM
Subject: fault listener


Hi there,

I have been testing some services with no faultListener at all, and
everything
worked right. I have tryed DOMFaultListener, and it works ok too. But I
have a problem with ExceptionFaultListener.

When there is no exception generated at the server side, it works fine.
But when there is an exception, I can't access to the Fault, because an
exception is generated on the client side, at the moment of invoking the
service (RPCCall.invoke(url.....). The exception message is the following:

[SOAPException: faultCode=SOAP-ENV:Protocol; msg=Unsupported response
content
type &quot;text/html; charset=ISO-8859-1&quot;, must be:
&quot;text/xml&quot;.
Response was:
&lt;html&gt;&lt;head&gt;&lt;title&gt;Apache Tomcat/5.0.18 - Informe de
Error&lt;/title&gt;&lt;style&gt;&lt;!--H1
{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;fo
nt-size:22px;}
H2
{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;fo
nt-size:16px;}
H3
{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;fo
nt-size:14px;}
BODY
{font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;}
B
{font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;}
P
{font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:
12px;}A
{color : black;}A.name {color : black;}HR {color :
#525D76;}--&gt;&lt;/style&gt;
&lt;/head&gt;&lt;body&gt;&lt;h1&gt;Estado HTTP 500 - &lt;/h1&gt;&lt;HR
size=&quot;1&quot;
noshade&gt;&lt;p&gt;&lt;b&gt;type&lt;/b&gt; Informe de
Excepción&lt;/p&gt;&lt;p&gt;&lt;b&gt;mensaje&lt;/b&gt;
&lt;u&gt;&lt;/u&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;descripción&lt;/b&gt;
&lt;u&gt;El
servidor encontró un error interno () que hizo que no pudiera rellenar este
requerimiento.&lt;/u&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;excepción&lt;/b&gt;
&lt;pre&gt;javax.servlet.ServletException: Error building response envelope:
java.lang.NullPointerException

org.apache.soap.server.http.RPCRouterServlet.doPost(RPCRouterServlet.java:41
8)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
&lt;/pre&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;nota&lt;/b&gt; &lt;u&gt;La traza
completa de la causa de este error se encuentra en los archivos de diario
de Tomcat.&lt;/u&gt;&lt;/p&gt;&lt;HR size=&quot;1&quot;
noshade&gt;&lt;h3&gt;Apache
Tomcat/5.0.18&lt;/h3&gt;&lt;/body&gt;&lt;/html&gt;
]

Can anyone help me?, do yo need more information about this error?

Thanks very much,

tizo