Got rid of one problem, no longer getting the 'connection refused'
error.  I went and cleaned out all old jars everywhere - must remember
to do this often on cutting edge! :)

  Now I am getting a database connection created and my xupdate bean is
being called.  But, I get a different error:

org.xmldb.api.base.XMLDBException: Query error: java.lang.Exception:
java.lang.NoClassDefFoundError: org/apache/xerces/framework/XMLParser

        at
org.apache.xindice.core.FaultCodes.createXMLDBException(FaultCodes.java:577)
        at
org.apache.xindice.client.xmldb.xmlrpc.CollectionImpl.query(CollectionImpl.java:562)
        at
org.apache.xindice.client.xmldb.XindiceCollection.query(XindiceCollection.java:285)
        at
org.apache.xindice.client.xmldb.services.QueryService.query(QueryService.java:129)
        at
org.apache.xindice.client.xmldb.services.XUpdateQueryServiceImpl.upda
te(XUpdateQueryServiceImpl.java:124)
        at
com.teliant.jsp.beans.xupdate.XUpdate.xupdate(XUpdate.java:55)
        at
org.apache.jsp.testxmldb_jsp._jspService(testxmldb_jsp.java:208)
        at
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:136)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper
.java:202)
        at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:289)
        at
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:247)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:643)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:643)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2350)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:643)
        at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:641)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:171)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:641)
        at
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:469)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:641)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
t.invokeNext(StandardPipeline.java:643)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at
org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
        at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:405)
        at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
ssConnection(Http11Protocol.java:380)
        at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:508)
        at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:533)
        at java.lang.Thread.run(Thread.java:536)


The class that it is complaining about,
org/apache/xerces/framework/XMLParser, is a class in Xerces 1.4.3.

Does Xindice 1.1 still have a hard dependency on Xerces 1.4.3?  Or is
this coming from somewhere else?



--- grenoml <[EMAIL PROTECTED]> wrote:
> I am having a problem performing an XUpdate operation from within a
> servlet.
> 
> SCENARIO:
> I have no problem accessing the addressbook collection from the
> command
> line like:
> 
> ----------------------------------
> xindice -c xmldb:xindice:///db   
> 
>   system
>   addressbook
> 
> Total collections: 2
> ----------------------------------
> 
> or using XPath from the command line like this:
> ----------------------------------
> xindice xpath -c xmldb:xindice:///db/addressbook -q "*"
> 
> <fname src:col="/db/addressbook"
> src:key="1601a7c01f9fdabb000000f18b1010db" xmln
> s:src="http://xml.apache.org/xindice/Query";>Gerry</fname>
> <lname src:col="/db/addressbook"
> src:key="1601a7c01f9fdabb000000f18b1010db" xmln
> s:src="http://xml.apache.org/xindice/Query";>Reno</lname>
> <phone src:col="/db/addressbook"
> src:key="1601a7c01f9fdabb000000f18b1010db" type
> ="work"
> xmlns:src="http://xml.apache.org/xindice/Query";>999-999-9999</phone>
> <phone src:col="/db/addressbook"
> src:key="1601a7c01f9fdabb000000f18b1010db" type
> ="home"
> xmlns:src="http://xml.apache.org/xindice/Query";>888-888-8888</phone>
> <phone src:col="/db/addressbook"
> src:key="1601a7c01f9fdabb000000f18b1010db" type
> ="cell"
> xmlns:src="http://xml.apache.org/xindice/Query";>777-777-7777</phone>
> <email src:col="/db/addressbook"
> src:key="1601a7c01f9fdabb000000f18b1010db" type
> ="home"
>
xmlns:src="http://xml.apache.org/xindice/Query";>[EMAIL PROTECTED]</email>
> <email src:col="/db/addressbook"
> src:key="1601a7c01f9fdabb000000f18b1010db" type
> ="work"
>
xmlns:src="http://xml.apache.org/xindice/Query";>[EMAIL PROTECTED]</email>
> <address src:col="/db/addressbook"
> src:key="1601a7c01f9fdabb000000f18b1010db" ty
> pe="home" xmlns:src="http://xml.apache.org/xindice/Query";>123456 Home
> St.</addre
> ss>
> <address src:col="/db/addressbook"
> src:key="1601a7c01f9fdabb000000f18b1010db" ty
> pe="work" xmlns:src="http://xml.apache.org/xindice/Query";>987654 Work
> St.</addre
> ss>
> ----------------------------------
> 
> The problem is when I use the exact same syntax to try and perform an
> XUpdate operation from a servlet I get a 'connection refused'
> response.
> 
> passing URI: "xmldb:xindice:///db/addressbook" in test servlet to my
> bean I get:
> 
> XML:DB Exception occured 1 1 A connection to the Database instance
> 'db'
> could not be created. Error: Connection refused: connect
> ----------------------------------
> my bean code for xupdate: (called from servlet)
> XUpdate modification doc and collection uri string are passed as
> args.
> 
> public class XUpdate {
>    protected static Database database = null;
>    protected static Collection col = null;
> 
>    public static void xupdate(String xupdatedoc, String colstring)
> throws Exception {
>       try {
>          if ( database == null ) {
>               String driver =
> "org.apache.xindice.client.xmldb.DatabaseImpl";
>               Class c = Class.forName(driver);
>          
>               Database database = (Database) c.newInstance();
>               DatabaseManager.registerDatabase(database);
>               col = DatabaseManager.getCollection(colstring); 
>          }
>          XUpdateQueryService service =
>             (XUpdateQueryService)
> col.getService("XUpdateQueryService",
> "1.0");
>          service.update(xupdatedoc);
>       }
>        catch(ClassNotFoundException e)
>        {
>            System.err.println("ClassNotFoundException occured " + e);
>            e.printStackTrace();
>        } catch (XMLDBException e) {
>          System.err.println("XML:DB Exception occured " + e.errorCode
> +
> " " + e.vendorErrorCode + " " + e.getMessage() );
>       }
>       finally {
>          if (col != null) {
>             col.close();
>          }
>       }
>    }
> }
> ----------------------------------
> 
> Does anyone have an XUpdate operation working from within a JSP or
> servlet?  Can you tell me what URI makes it work?
> 
> Thanks,
> Gerry Reno
> 
> 
> __________________________________________________
> Do you Yahoo!?
> Yahoo! Mail Plus � Powerful. Affordable. Sign up now.
> http://mailplus.yahoo.com
> 


__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus � Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com

Reply via email to