You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@juddi.apache.org by "Jeff Faath (JIRA)" <ju...@ws.apache.org> on 2007/09/13 00:09:36 UTC
[jira] Closed: (JUDDI-77) DataSource JNDI name different for jUDDI
Console vs happyjuddi.jsp
[ https://issues.apache.org/jira/browse/JUDDI-77?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jeff Faath closed JUDDI-77.
---------------------------
Resolution: Fixed
Fix Version/s: 0.9rc4
This bug is no longer valid. The current console does not open a database connection as it communicates solely through SOAP messages over HTTP.
> DataSource JNDI name different for jUDDI Console vs happyjuddi.jsp
> ------------------------------------------------------------------
>
> Key: JUDDI-77
> URL: https://issues.apache.org/jira/browse/JUDDI-77
> Project: jUDDI
> Issue Type: Bug
> Affects Versions: 0.9rc4
> Environment: WIN 2K
> Reporter: mark streit
> Assignee: Steve Viens
> Fix For: 0.9rc4
>
>
> Following installation of jUDDI 0.9 rc4 I noticed the following. There is a <Context> entry in the jUDDI HOW-TO that is to be placed in the server.xml file for Tomcat. Part of the entry is as follows:
> <Context className="org.apache.catalina.core.StandardContext" cachingAllowed="true" charsetMapperClass="org.apache.catalina.util.CharsetMapper" cookies="true" crossContext="true" debug="5" displayName="jUDDI" docBase="juddi" mapperClass="org.apache.catalina.core.StandardContextMapper" path="/juddi" privileged="false" reloadable="true" swallowOutput="false" useNaming="true" wrapperClass="org.apache.catalina.core.StandardWrapper">
> <Logger className="org.apache.catalina.logger.FileLogger" debug="0" directory="logs" prefix="localhost_juddiDB_log" suffix=".txt" timestamp="true" verbosity="1"/>
>
> <!--
> <Resource auth="Container" name="jdbc/juddi" scope="Shareable" type="javax.sql.DataSource"/>
> <ResourceParams name="jdbc/juddi">
> -->
> <!--
> <Resource auth="Container" name="jdbc/juddiDB" scope="Shareable" type="javax.sql.DataSource"/>
> <ResourceParams name="jdbc/juddiDB">
> -->
>
> <!-- <parameter>
> <name>url</name>
> <value>jdbc:mysql://host.domain.com:3306/juddi?autoReconnect=true</value>
> </parameter> -->
> <parameter>
> <name>url</name>
> <value>jdbc:mysql://localhost:3306/juddi?autoReconnect=true</value>
> </parameter>
> <parameter>
> <name>validationQuery</name>
> <value>select count(*) from PUBLISHER</value>
> </parameter>
> ...
> Note that I have commented out the baseline values like
> <!-- <parameter>
> <name>url</name>
> <value>jdbc:mysql://host.domain.com:3306/juddi?autoReconnect=true</value>
> </parameter> -->
> and added the actual value below it like
> <parameter>
> <name>url</name>
> <value>jdbc:mysql://localhost:3306/juddi?autoReconnect=true</value>
> </parameter>
> The important part is the entry:
> <!--
> <Resource auth="Container" name="jdbc/juddiDB" scope="Shareable" type="javax.sql.DataSource"/>
> <ResourceParams name="jdbc/juddiDB">
> -->
> This is what is specified according to the HOW-TO and it is this entry that allows the happyjuddi.jsp to return a validation containing a message such as:
> jUDDI Dependencies: Resource & Properties Files
> Looking for: log4j.xml+Found in: C:\jakarta-tomcat-4.1.29\webapps\juddi\WEB-INF\classes\log4j.xml
> jUDDI DataSource Validation
> + Got a JNDI Context!
> + Got a JDBC DataSource (dsname=java:comp/env/jdbc/juddiDB)
> + Got a JDBC Connection!
> + SELECT COUNT(*) FROM PUBLISHER = 2
> Note the part of the name "juddiDB". So you must uncomment and use this version of the <Resource> and <ResourceParams> element to get the happyjuddi Validate process to work.
> However, if you try to use the jUDDI Console (yes I know it is Beta), none of the APIs appear to work unless the <Resource> and <ResourceParams> are changed to match the following:
> <!--
> <Resource auth="Container" name="jdbc/juddi" scope="Shareable" type="javax.sql.DataSource"/>
> <ResourceParams name="jdbc/juddi">
> -->
> Note the "DB" dropped from the name jdbc/juddi. Unless you do this, you will get errors such as:
> Jul 19, 2005 2:29:36 PM org.apache.jk.server.JkMain start
> INFO: Jk running ID=0 time=0/16 config=C:\jakarta-tomcat-4.1.29\conf\jk2.proper
> ties
> 2005-07-19 14:43:18,143 [http8080-Processor3] INFO org.apache.juddi.util.Loader
> - Using the Context ClassLoader
> 2005-07-19 14:43:18,159 [http8080-Processor3] INFO org.apache.juddi.util.jdbc.C
> onnectionManager - Using JNDI to aquire a JDBC DataSource with name: java:comp/
> env/jdbc/juddi
> 2005-07-19 14:43:18,159 [http8080-Processor3] ERROR org.apache.juddi.util.jdbc.C
> onnectionManager - Exception occurred while attempting to acquire a JDBC DataSo
> urce from JNDI: Name juddi is not bound in this Context
> 2005-07-19 14:43:18,159 [http8080-Processor3] ERROR org.apache.juddi.function.Fi
> ndPublisherFunction - java.lang.NullPointerException
> 2005-07-19 14:43:18,159 [http8080-Processor3] ERROR org.apache.juddi.registry.Ab
> stractService - java.lang.NullPointerException
> 2005-07-19 14:43:18,175 [http8080-Processor3] ERROR org.apache.juddi.registry.Ab
> stractService - A serious error has occured while assembling the SOAP Fault.
> java.lang.IllegalArgumentException: invalid QName local part
> at javax.xml.namespace.QName.<init>(QName.java:75)
> at javax.xml.namespace.QName.<init>(QName.java:60)
> at org.apache.axis.AxisFault.setFaultCodeAsString(AxisFault.java:422)
> at org.apache.axis.message.SOAPFault.setFaultCode(SOAPFault.java:226)
> at org.apache.juddi.registry.AbstractService.doPost(AbstractService.java
> :317)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
> 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(ApplicationF
> ilterChain.java:193)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
> alve.java:256)
> at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
> t.invokeNext(StandardPipeline.java:643)
> at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
> a:480)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
> alve.java:191)
> at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
> t.invokeNext(StandardPipeline.java:643)
> at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
> a:480)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
> at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:
> 2417)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
> ava:180)
> at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
> t.invokeNext(StandardPipeline.java:643)
> at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatche
> rValve.java:171)
> at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
> t.invokeNext(StandardPipeline.java:641)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
> ava:172)
> at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
> t.invokeNext(StandardPipeline.java:641)
> at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
> a:480)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
> ve.java:174)
> at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContex
> t.invokeNext(StandardPipeline.java:643)
> at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
> a:480)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
> at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:19
> 3)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
> :781)
> at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
> ssConnection(Http11Protocol.java:549)
> at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java
> :589)
> at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
> ool.java:666)
> at java.lang.Thread.run(Thread.java:534)
> Note that it cannot find java:comp/env/jdbc/juddi. Basically the JNDI name used for the happyjuddi.jsp needs "juddiDB" and that for the Console to work needs to be simply "juddi".
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: juddi-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: juddi-dev-help@ws.apache.org