I am implementing a soap service to access some data
maintained by another servlet within tomcat. OJB is configured into
that servlet and works fine.

I am trying to add ojb into my soap service - so this is all happening within
the axis servlet.
I have placed the OJB.properties file in the classes directory for axis,
I have placed the ojb jar in the tomcat lib directory.
within my soap handler I have this:
--------
    public static String makeKey(Document doc) {
    System.out.println ("Making key:  ");
    PersistenceBroker broker = null;
    try {
                System.out.println ("Making broker:  ");
                broker = PersistenceBrokerFactory.defaultPersistenceBroker();
                System.out.println ("Making sm:  ");
                //SequenceManager sm = broker.serviceSequenceManager();
                System.out.println ("Making class desc:  ");
//ClassDescriptor classDescriptor = broker.getDescriptorRepository().getDescriptorFor("org.osuosl.ockham.registry.metadata.OckhamRecord");
                System.out.println ("Making field desc:  ");
//FieldDescriptor fieldDescriptor = classDescriptor.getFieldDescriptorByName("localIdentifier");
                //String key = (String) sm.getUniqueValue(fieldDescriptor);
    }
    catch (org.apache.ojb.broker.PBFactoryException ex)  {
           System.out.println ("Exception:  " + ex.getMessage ());
    }
catch (org.apache.ojb.broker.metadata.ClassNotPersistenceCapableException ex) { System.out.println ("Not persistent exception: " + ex.getMessage ());
    }
    catch (java.lang.Exception ex) {
           System.out.println ("Exception:  " + ex.getMessage ());
    }
    finally
    {
        System.out.println ("Finally:  ");
        if (broker != null) broker.close();
    }

from my soap invocation, I arrive at the defaultPersistenceBroker()
and then only get back this from my soap call -



AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
 faultSubcode:
 faultString: java.lang.reflect.InvocationTargetException
 faultActor:
 faultNode:
 faultDetail:
        {http://xml.apache.org/axis/}hostname:libdev

java.lang.reflect.InvocationTargetException
at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222) at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129) at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087) at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
        at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
        at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
        at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
        at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:375)
at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
        at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
        at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
        at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
        at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
        at org.apache.axis.client.Call.invoke(Call.java:2767)
        at org.apache.axis.client.Call.invoke(Call.java:2443)
        at org.apache.axis.client.Call.invoke(Call.java:2366)
        at org.apache.axis.client.Call.invoke(Call.java:1812)
at gov.loc.www.zing.srw.update.soap_binding.SOAPBindingStub.update(SOAPBindingStub.java:441)
        at ReadClient.main(ReadClient.java:102)


I suppose that the persistence broker is failing but I don't know how.
How can I get some traces out of it?
How can I get some insight into its operation, and what is failing?

I have also been unable to get log4.properties to take effect. I don't know whether this should be placed in the tomcat classes directory, or the axis/classes directory, or both.
I have tried both.

Thanks,
Rick Silterra

Reply via email to