Ok,
That wasn't very clear. BasicHandler is supposed to be subclassed (and
is, quite a few times in Axis), but each sublcass declares its own
static log variable. Take a look at
org.apache.axis.FaultableHandler.java, as an example.
I'd say WsseClientHandler.java has been badly written and is unusable.
But it might have been written for an older version of Axis that didn't
have the log class variable as private in BasicHandler. Who knows?
Either way, you have the solution, edit the class to declare your own
log variable, recompile and away you go.
-jeff

-----Original Message-----
From: Walker, Jeff 
Sent: Wednesday, August 01, 2007 4:49 PM
To: axis-user@ws.apache.org
Subject: RE: Axis-wsse and log.debug

I don't know.
It looks like that class isn't really supposed to be subclassed. Just
guessing.
I don't know of anyone using wsse, is that the old security project by
apache?
I think most people interested in open source security projects moved on
to wss4j and Rampart.
I would abandon wsse, if you can. (No active development that I can see,
hence, probably no bug fixes coming. You could always take the src code
and edit yourself. I know that's a lousy solution).
-jeff


-----Original Message-----
From: Hillel Seltzer [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, August 01, 2007 4:37 PM
To: axis-user@ws.apache.org
Subject: RE: Axis-wsse and log.debug

So how does the publicly distributed axis-wsse jar work for anyone?

Is there a way to set a global "log" variable that would then
be seen by the WsseClientHandler class instead of trying to
inherit it from its abstract superclass?

Thanks.
--Hillel

On Wed, 1 Aug 2007 16:29:53 -0400, Walker, Jeff wrote
> Looks like the log variable is declared private, that means only
methods
> in that class can use that variable, not subclasses like
> WsseClientHandler.
> -jeff
> 
> -----Original Message-----
> From: Hillel Seltzer [mailto:[EMAIL PROTECTED] 
> Sent: Wednesday, August 01, 2007 4:22 PM
> To: axis-user@ws.apache.org
> Subject: Re: Axis-wsse and log.debug
> 
> I did a little digging in the axis 1.4 and axis-wsse source.
> 
> The WsseClientHandler class extends the axis BasicHandler class.
> BasicHandler has the class variable:
>     private static Log log =
>         LogFactory.getLog(BasicHandler.class.getName());
> 
> Yet, when the code in WsseClientHandler tries to use the 
> "log.debug" method, the runtime (Java 1.4) ends up throwing
> the exception:
> java.lang.IllegalAccessError:
>  net.vitale.filippo.axis.handlers.WsseClientHandler tried to access
> field
>  org/apache/axis/handlers/BasicHandler.log from class 
>         at
>
net.vitale.filippo.axis.handlers.WsseClientHandler.invoke(WsseClientHand
> ler.java:92)
> 
> By extending the BasicHandler class, shouldn't the WsseClientHandler
> class just inherit the "log" variable?  What is wrong here?
> What can I do about it without recompiling axis and/or axis-wsse
> from the source?
> 
> Thanks.
> ---Hillel
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to