hi all,
        i have downloaded digester 1.3 and i would like to use
it inside my application in weblogic 5.1.

i have written following XML file 

<?xml version="1.0"?>
 <myServices>
  <serviceGroup name="My Personal Data">
    <service name="Current Position">
      <joltservice>  
         <jolt name="Current1"  isHB="true"/>
         <jolt name="Current2"  isHB="true"/>
      </joltservice>
      <configtool>
         <config name="CurrentPos"/>
           <config name="DateSpec"/>
      </configtool>
      <field name="ADDRESS_CONAME"/> 
      <field name="ADDRESS_NAMEOFCOUNTRY"/>
      <field name="ADDRESS_EMPLOYEENO"/>
    </service>
  </serviceGroup>
</myServices


for this XML file, i have written following classes part
of the com.xml package
- MyServices
- ServiceGroup
- Service
- JoltService
- Jolt
- ConfigTool
- Config
- Field


i am using this simple class for getting servicegroups/fields etc
 based on rules


public class DigesterTest {

    private Digester digester;
    private String configFile;
    
    public DigesterTest(String fileName) {
        digester = new Digester();
        digester.setValidating(false);
        setRules(digester);
        configFile = fileName;
    }
    
    /**
     *  Set the rules to be used to parse
     *  the XML file.
     */
    private void setRules(Digester digester) {
        /** Whenever we need to change rules, we must
         *  edit following section.
         */
                
        // Adding rules to be used when <myService> element is encountered.
        digester.addObjectCreate( "myServices", MyServices.class );
        // Adding rules to be used when <serviceGroup> element is encountered.
        digester.addObjectCreate( "myServices/serviceGroup", ServiceGroup.class );
        digester.addSetProperties( "myServices/serviceGroup", "name", "name" );
        digester.addSetNext("myServices/serviceGroup", "addServiceGroup" );
        
        // Adding rules to be used when <service> element is encountered.
        digester.addObjectCreate("myServices/serviceGroup/service", Service.class);
        digester.addSetProperties("myServices/serviceGroup/service","name", "name");
        digester.addSetNext("myServices/serviceGroup/service" , "addService");

        }
    
    /**
     * @return all services available in the
     *      configuration file.
     */
    public MyServices getAllServices() throws Exception {
        MyServices mp = (MyServices)digester.parse("myProfile.xml");
        return  mp;
    }

but when i run this program in a servlet under weblogic 5.1 i got following exception

Dec 17, 2002 12:50:43 PM org.apache.commons.beanutils.MethodUtils getMatchingAcc
essibleMethod
WARNING: Cannot setAccessible on method. Therefore cannot use jvm access bug wor
karound.
java.security.AccessControlException: access denied (java.lang.reflect.ReflectPe
rmission suppressAccessChecks)
        at java.security.AccessControlContext.checkPermission(AccessControlConte
xt.java:270)
        at java.security.AccessController.checkPermission(AccessController.java:
401)
        at java.lang.SecurityManager.checkPermission(SecurityManager.java:542)
        at java.lang.reflect.AccessibleObject.setAccessible(AccessibleObject.jav
a:107)
        at org.apache.commons.beanutils.MethodUtils.getMatchingAccessibleMethod(
MethodUtils.java:578)
        at org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.jav
a:243)
        at org.apache.commons.digester.SetNextRule.end(SetNextRule.java:260)
        at org.apache.commons.digester.Digester.endElement(Digester.java:1036)
        at org.apache.xerces.parsers.AbstractSAXParser.endElement(AbstractSAXPar
ser.java:568)
        at org.apache.xerces.impl.XMLNamespaceBinder.endElement(XMLNamespaceBind
er.java:646)
        at org.apache.xerces.impl.dtd.XMLDTDValidator.handleEndElement(XMLDTDVal
idator.java:3006)
        at org.apache.xerces.impl.dtd.XMLDTDValidator.endElement(XMLDTDValidator
.java:930)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.handleEndElemen
t(XMLDocumentFragmentScannerImpl.java:1145)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(
XMLDocumentFragmentScannerImpl.java:988)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContent
Dispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1446)
        at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XM
LDocumentFragmentScannerImpl.java:333)
        at org.apache.xerces.parsers.StandardParserConfiguration.parse(StandardP
arserConfiguration.java:525)
        at org.apache.xerces.parsers.StandardParserConfiguration.parse(StandardP
arserConfiguration.java:581)
        at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:147)
        at org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.j
ava:1157)
        at org.apache.commons.digester.Digester.parse(Digester.java:1552)
        at com.xml.DigesterTest.getAllServices(Unknown Source)
        at com.nokia.servlet.MyProfileServlet.init(Unknown Source)
        at weblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubIm
pl.java:474)
        at weblogic.servlet.internal.ServletStubImpl.createInstances(ServletStub
Impl.java:432)
        at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubI
mpl.java:421)
        at weblogic.servlet.internal.ServletStubImpl.getServlet(ServletStubImpl.
java:181)
        at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:118)
        at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
textImpl.java:761)
        at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletCon
textImpl.java:708)
        at weblogic.servlet.internal.ServletContextManager.invokeServlet(Servlet
ContextManager.java:252)
        at weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.jav
a:346)
        at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:246)

        at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:135)


However, if i run the DigesterTest class as standalone, everything works fine.

can anyone help me?

thanx in advance and regards
        marco

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

Reply via email to