You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Olivier Lamy (JIRA)" <ax...@ws.apache.org> on 2004/11/24 19:25:18 UTC

[jira] Created: (AXIS-1683) EntityResolver trouble in 1.2-RC2 and IncompatibleClassChangeError

EntityResolver trouble in 1.2-RC2 and IncompatibleClassChangeError 
-------------------------------------------------------------------

         Key: AXIS-1683
         URL: http://nagoya.apache.org/jira/browse/AXIS-1683
     Project: Axis
        Type: Bug
    Versions: 1.1RC1, 1.1rc2    
 Environment: windows and solaris 
java -fullversion : java full version "1.4.2_04-b05"
weblogic 8.1

    Reporter: Olivier Lamy
    Priority: Blocker


Hello,
I have a trouble on weblogic server (I'm using the axis client part).
The stack trace is :
java.lang.NullPointerException
        at weblogic.xml.jaxp.ChainingEntityResolver.popEntityResolver(ChainingEnti
tyResolver.java:61)
        at weblogic.xml.jaxp.RegistryDocumentBuilder.setEntityResolver(RegistryDoc
umentBuilder.java:168)
        at org.apache.axis.utils.XMLUtils.releaseDocumentBuilder(XMLUtils.java:235
 
It's caused by the :
    public static void releaseDocumentBuilder(DocumentBuilder db) {
        synchronized (documentBuilders) {
            db.setErrorHandler(null); // setting implementation default
            db.setEntityResolver(null); // setting implementation default
            documentBuilders.push(db);
        }
    }
 
 
Whereas the 1.2-RC1 contains :
 
    public static Document newDocument(InputSource inp)
        throws ParserConfigurationException, SAXException, IOException
    {
        DocumentBuilder db;
        synchronized (dbf) {
            db = dbf.newDocumentBuilder();
        }
        db.setEntityResolver(new DefaultEntityResolver());
        db.setErrorHandler( new ParserErrorHandler() );
        return( db.parse( inp ) );
    }
 
How is right ?? 
 
Furthermore I have the stack trace with 1.2-RC1 :
java.lang.IncompatibleClassChangeError 
        at org.apache.axis.message.MessageElement.addTextNode(MessageElement.java:1388) 
 
 
The structure in the weblo exploded ear is the following :
 
exploded
    APP-INF/lib
        contains all jars (axis, axis-stubs and mine)
    MyWebApp1    
        /lib (empty)
    MyWebApp2
        /lib (empty)
 
To correct this, I need to put the axis-saaj-1.2-RC1.jar in the weblogic classpath in the position.
Is there other way to correct this ?
 
Thanks a lot,
Olivier


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


[jira] Closed: (AXIS-1683) EntityResolver trouble in 1.2-RC2 and IncompatibleClassChangeError

Posted by "Davanum Srinivas (JIRA)" <ax...@ws.apache.org>.
     [ http://nagoya.apache.org/jira/browse/AXIS-1683?page=history ]
     
Davanum Srinivas closed AXIS-1683:
----------------------------------


Should be fixed in latest CVS.

thanks,
dims

> EntityResolver trouble in 1.2-RC2 and IncompatibleClassChangeError
> ------------------------------------------------------------------
>
>          Key: AXIS-1683
>          URL: http://nagoya.apache.org/jira/browse/AXIS-1683
>      Project: Axis
>         Type: Bug
>     Versions: 1.1RC1, 1.1rc2
>  Environment: windows and solaris 
> java -fullversion : java full version "1.4.2_04-b05"
> weblogic 8.1
>     Reporter: Olivier Lamy
>     Priority: Blocker

>
> Hello,
> I have a trouble on weblogic server (I'm using the axis client part).
> The stack trace is :
> java.lang.NullPointerException
>         at weblogic.xml.jaxp.ChainingEntityResolver.popEntityResolver(ChainingEnti
> tyResolver.java:61)
>         at weblogic.xml.jaxp.RegistryDocumentBuilder.setEntityResolver(RegistryDoc
> umentBuilder.java:168)
>         at org.apache.axis.utils.XMLUtils.releaseDocumentBuilder(XMLUtils.java:235
>  
> It's caused by the :
>     public static void releaseDocumentBuilder(DocumentBuilder db) {
>         synchronized (documentBuilders) {
>             db.setErrorHandler(null); // setting implementation default
>             db.setEntityResolver(null); // setting implementation default
>             documentBuilders.push(db);
>         }
>     }
>  
>  
> Whereas the 1.2-RC1 contains :
>  
>     public static Document newDocument(InputSource inp)
>         throws ParserConfigurationException, SAXException, IOException
>     {
>         DocumentBuilder db;
>         synchronized (dbf) {
>             db = dbf.newDocumentBuilder();
>         }
>         db.setEntityResolver(new DefaultEntityResolver());
>         db.setErrorHandler( new ParserErrorHandler() );
>         return( db.parse( inp ) );
>     }
>  
> How is right ?? 
>  
> Furthermore I have the stack trace with 1.2-RC1 :
> java.lang.IncompatibleClassChangeError 
>         at org.apache.axis.message.MessageElement.addTextNode(MessageElement.java:1388) 
>  
>  
> The structure in the weblo exploded ear is the following :
>  
> exploded
>     APP-INF/lib
>         contains all jars (axis, axis-stubs and mine)
>     MyWebApp1    
>         /lib (empty)
>     MyWebApp2
>         /lib (empty)
>  
> To correct this, I need to put the axis-saaj-1.2-RC1.jar in the weblogic classpath in the position.
> Is there other way to correct this ?
>  
> Thanks a lot,
> Olivier

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


[jira] Commented: (AXIS-1683) EntityResolver trouble in 1.2-RC2 and IncompatibleClassChangeError

Posted by "Dominik Kacprzak (JIRA)" <ax...@ws.apache.org>.
     [ http://nagoya.apache.org/jira/browse/AXIS-1683?page=comments#action_56275 ]
     
Dominik Kacprzak commented on AXIS-1683:
----------------------------------------

Olivier,

You don't have to alter system CLASSPATH by putting Axis' saaj.jar ahead of Weblogic's webservices.jar.  You can simply set <prefer-web-inf-classes> element in weblogic.xml to true.  This will force Weblogic's classloader to load classes located in the WEB-INF directory of a web application in preference to application or system classes.

- Dominik

> EntityResolver trouble in 1.2-RC2 and IncompatibleClassChangeError
> ------------------------------------------------------------------
>
>          Key: AXIS-1683
>          URL: http://nagoya.apache.org/jira/browse/AXIS-1683
>      Project: Axis
>         Type: Bug
>     Versions: 1.1RC1, 1.1rc2
>  Environment: windows and solaris 
> java -fullversion : java full version "1.4.2_04-b05"
> weblogic 8.1
>     Reporter: Olivier Lamy
>     Priority: Blocker

>
> Hello,
> I have a trouble on weblogic server (I'm using the axis client part).
> The stack trace is :
> java.lang.NullPointerException
>         at weblogic.xml.jaxp.ChainingEntityResolver.popEntityResolver(ChainingEnti
> tyResolver.java:61)
>         at weblogic.xml.jaxp.RegistryDocumentBuilder.setEntityResolver(RegistryDoc
> umentBuilder.java:168)
>         at org.apache.axis.utils.XMLUtils.releaseDocumentBuilder(XMLUtils.java:235
>  
> It's caused by the :
>     public static void releaseDocumentBuilder(DocumentBuilder db) {
>         synchronized (documentBuilders) {
>             db.setErrorHandler(null); // setting implementation default
>             db.setEntityResolver(null); // setting implementation default
>             documentBuilders.push(db);
>         }
>     }
>  
>  
> Whereas the 1.2-RC1 contains :
>  
>     public static Document newDocument(InputSource inp)
>         throws ParserConfigurationException, SAXException, IOException
>     {
>         DocumentBuilder db;
>         synchronized (dbf) {
>             db = dbf.newDocumentBuilder();
>         }
>         db.setEntityResolver(new DefaultEntityResolver());
>         db.setErrorHandler( new ParserErrorHandler() );
>         return( db.parse( inp ) );
>     }
>  
> How is right ?? 
>  
> Furthermore I have the stack trace with 1.2-RC1 :
> java.lang.IncompatibleClassChangeError 
>         at org.apache.axis.message.MessageElement.addTextNode(MessageElement.java:1388) 
>  
>  
> The structure in the weblo exploded ear is the following :
>  
> exploded
>     APP-INF/lib
>         contains all jars (axis, axis-stubs and mine)
>     MyWebApp1    
>         /lib (empty)
>     MyWebApp2
>         /lib (empty)
>  
> To correct this, I need to put the axis-saaj-1.2-RC1.jar in the weblogic classpath in the position.
> Is there other way to correct this ?
>  
> Thanks a lot,
> Olivier

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


[jira] Resolved: (AXIS-1683) EntityResolver trouble in 1.2-RC2 and IncompatibleClassChangeError

Posted by "Davanum Srinivas (JIRA)" <ax...@ws.apache.org>.
     [ http://nagoya.apache.org/jira/browse/AXIS-1683?page=history ]
     
Davanum Srinivas resolved AXIS-1683:
------------------------------------

    Resolution: Fixed

added a try/catch for the NPE.

> EntityResolver trouble in 1.2-RC2 and IncompatibleClassChangeError
> ------------------------------------------------------------------
>
>          Key: AXIS-1683
>          URL: http://nagoya.apache.org/jira/browse/AXIS-1683
>      Project: Axis
>         Type: Bug
>     Versions: 1.1RC1, 1.1rc2
>  Environment: windows and solaris 
> java -fullversion : java full version "1.4.2_04-b05"
> weblogic 8.1
>     Reporter: Olivier Lamy
>     Priority: Blocker

>
> Hello,
> I have a trouble on weblogic server (I'm using the axis client part).
> The stack trace is :
> java.lang.NullPointerException
>         at weblogic.xml.jaxp.ChainingEntityResolver.popEntityResolver(ChainingEnti
> tyResolver.java:61)
>         at weblogic.xml.jaxp.RegistryDocumentBuilder.setEntityResolver(RegistryDoc
> umentBuilder.java:168)
>         at org.apache.axis.utils.XMLUtils.releaseDocumentBuilder(XMLUtils.java:235
>  
> It's caused by the :
>     public static void releaseDocumentBuilder(DocumentBuilder db) {
>         synchronized (documentBuilders) {
>             db.setErrorHandler(null); // setting implementation default
>             db.setEntityResolver(null); // setting implementation default
>             documentBuilders.push(db);
>         }
>     }
>  
>  
> Whereas the 1.2-RC1 contains :
>  
>     public static Document newDocument(InputSource inp)
>         throws ParserConfigurationException, SAXException, IOException
>     {
>         DocumentBuilder db;
>         synchronized (dbf) {
>             db = dbf.newDocumentBuilder();
>         }
>         db.setEntityResolver(new DefaultEntityResolver());
>         db.setErrorHandler( new ParserErrorHandler() );
>         return( db.parse( inp ) );
>     }
>  
> How is right ?? 
>  
> Furthermore I have the stack trace with 1.2-RC1 :
> java.lang.IncompatibleClassChangeError 
>         at org.apache.axis.message.MessageElement.addTextNode(MessageElement.java:1388) 
>  
>  
> The structure in the weblo exploded ear is the following :
>  
> exploded
>     APP-INF/lib
>         contains all jars (axis, axis-stubs and mine)
>     MyWebApp1    
>         /lib (empty)
>     MyWebApp2
>         /lib (empty)
>  
> To correct this, I need to put the axis-saaj-1.2-RC1.jar in the weblogic classpath in the position.
> Is there other way to correct this ?
>  
> Thanks a lot,
> Olivier

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


[jira] Commented: (AXIS-1683) EntityResolver trouble in 1.2-RC2 and IncompatibleClassChangeError

Posted by "Thor A. Lange (JIRA)" <ax...@ws.apache.org>.
     [ http://nagoya.apache.org/jira/browse/AXIS-1683?page=comments#action_55885 ]
     
Thor A. Lange commented on AXIS-1683:
-------------------------------------

I expirienced the same problem with the sax implementation in BEA WebLogic 8.1. If you read the javadoc for setEntityResolver() it seems that it should be possible to invoke it with null causing the DocumentBuilder to use its defautl implementation. Thus it seems the BEA implementation has a bug.

I have made a path instantiating the default a dafault entity resolver and errorhandler as seen in the newDocument method (as yuo point out). This seems to work ok.

/Thor

> EntityResolver trouble in 1.2-RC2 and IncompatibleClassChangeError
> ------------------------------------------------------------------
>
>          Key: AXIS-1683
>          URL: http://nagoya.apache.org/jira/browse/AXIS-1683
>      Project: Axis
>         Type: Bug
>     Versions: 1.1RC1, 1.1rc2
>  Environment: windows and solaris 
> java -fullversion : java full version "1.4.2_04-b05"
> weblogic 8.1
>     Reporter: Olivier Lamy
>     Priority: Blocker

>
> Hello,
> I have a trouble on weblogic server (I'm using the axis client part).
> The stack trace is :
> java.lang.NullPointerException
>         at weblogic.xml.jaxp.ChainingEntityResolver.popEntityResolver(ChainingEnti
> tyResolver.java:61)
>         at weblogic.xml.jaxp.RegistryDocumentBuilder.setEntityResolver(RegistryDoc
> umentBuilder.java:168)
>         at org.apache.axis.utils.XMLUtils.releaseDocumentBuilder(XMLUtils.java:235
>  
> It's caused by the :
>     public static void releaseDocumentBuilder(DocumentBuilder db) {
>         synchronized (documentBuilders) {
>             db.setErrorHandler(null); // setting implementation default
>             db.setEntityResolver(null); // setting implementation default
>             documentBuilders.push(db);
>         }
>     }
>  
>  
> Whereas the 1.2-RC1 contains :
>  
>     public static Document newDocument(InputSource inp)
>         throws ParserConfigurationException, SAXException, IOException
>     {
>         DocumentBuilder db;
>         synchronized (dbf) {
>             db = dbf.newDocumentBuilder();
>         }
>         db.setEntityResolver(new DefaultEntityResolver());
>         db.setErrorHandler( new ParserErrorHandler() );
>         return( db.parse( inp ) );
>     }
>  
> How is right ?? 
>  
> Furthermore I have the stack trace with 1.2-RC1 :
> java.lang.IncompatibleClassChangeError 
>         at org.apache.axis.message.MessageElement.addTextNode(MessageElement.java:1388) 
>  
>  
> The structure in the weblo exploded ear is the following :
>  
> exploded
>     APP-INF/lib
>         contains all jars (axis, axis-stubs and mine)
>     MyWebApp1    
>         /lib (empty)
>     MyWebApp2
>         /lib (empty)
>  
> To correct this, I need to put the axis-saaj-1.2-RC1.jar in the weblogic classpath in the position.
> Is there other way to correct this ?
>  
> Thanks a lot,
> Olivier

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://nagoya.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira