]
Thomas Diesler updated JBWS-1206:
---------------------------------
Fix Version/s: (was: jbossws-1.0.5)
name space issue
----------------
Key: JBWS-1206
URL:
http://jira.jboss.com/jira/browse/JBWS-1206
Project: JBoss Web Services
Issue Type: Bug
Security Level: Public(Everyone can see)
Environment: Occurs on jboss-4.0.3 and jboss-4.0.4
Reporter: Kurt Stam
Attachments: juddi.zip
** steps to reproduce on the bottom **
I deployed juddi.war to jboss-4.0.4 and jboss-4.0.3SP1 and when I send
it any juddi SOAP requests I get
http://marc.theaimsgroup.com/?l=juddi-user&m=115833314707575&w=2
(there is namespace error in the stack trace which seems to point to an
issue with xerces)
Note that this is not that big a deal for me (ESB) as if we are going to
use SOAP we will connect to the jUDDI that is packed up with jboss4, and
if we are going to embed jUDDI then we don't need SOAP and in that case,
in all likelihood, we will not see this issue. If you have seen this
before can you point me to how to go about fixing this? It'd look better
for us if this would work :) . It works just fine on jboss-3.2.*. (see
also
http://labs.jboss.com/portal/auth/index.html?ctrl:cmd=render&ctrl:win...)
if you need more background info.
So, don't spend any time on this, all I'm asking is if you have seen
anything like this before. I've tried nuking the xerces jars from the
classpath, but that didn't help.
Some more info send by email:
ANIL:
"http://jira.jboss.com/jira/browse/JBWS-743
During this, I remember I saw this. It was something to do with support
for namespaces (xmlns that was not directly to schema standard.
Something to do like xmlns="urn:juddi-org:api_v1" which xerces hates).
I temporarily fixed this by having the following transport for scout.
On the client side:
<sysproperty key="juddi.proxy.transportClass"
value="org.jboss.jaxr.juddi.transport.SaajTransport"/>
I think, I carefully constructed the tedious soap message in this
transport such that the xmlns issue does not pop up.
Sorry, I do not exactly recall what the issue was (few months ago). But
this is the ball-park answer
Also, on the juddi end, I had ripped out a new servlet from their
original servlet to construct the soap message.
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3972010
The workaround was placed in rather than deeper analysis because JAXR is
low priority and I did not want to spend too much time on it."
JASON:
"Looking more into this error I think it there must be a bug in our SAAJ
tree. One thing that's interesting, although probably not related, is
that the error is coming from the SUN implementation of Xerces, instead
of the endorsed version that should be used.
Anyway, the only way this can occur is if xmlns is created without XML
Namespace namespaceURI. So could be an issue in
DOMUtils.copyAttributes(), or the SAAJ tree it is copying."
KURT: I placed the endorsed xerces libs back and get the following stacktrace:
2006-09-15 14:43:56,515 INFO [org.jboss.system.server.Server] JBoss (MX MicroKernel)
[4.0.4.GA (build: CVSTag=JBoss_4_0_4_GA date=200605151000)] Started in 15s:531ms
2006-09-15 14:44:10,156 DEBUG [org.jboss.resource.connectionmanager.IdleRemover]
internalRegisterPool: registering pool with interval 900000 old interval:
9223372036854775807
2006-09-15 14:44:10,156 DEBUG [org.jboss.resource.connectionmanager.IdleRemover]
internalRegisterPool: about to notify thread: old next: 1158346300156, new next:
1158346300156
2006-09-15 14:44:21,906 DEBUG [org.jboss.ws.soap.MessageFactoryImpl] createMessage:
[contentType=text/xml]
2006-09-15 14:44:22,125 INFO [STDOUT] 2006-09-15 14:44:22,125 [http-0.0.0.0-8080-2] INFO
org.apache.juddi.util.Loader - Using the Context ClassLoader
2006-09-15 14:44:22,156 INFO [STDOUT] 2006-09-15 14:44:22,156 [http-0.0.0.0-8080-2] INFO
org.apache.juddi.util.jdbc.ConnectionManager - Using JNDI to aquire a JDBC DataSource
with name: java:comp/env/jdbc/juddiDB
2006-09-15 14:44:22,218 INFO [STDOUT] 2006-09-15 14:44:22,218 [http-0.0.0.0-8080-2]
ERROR org.apache.juddi.registry.AbstractService - NAMESPACE_ERR: An attempt is made to
create or change an object in a way which is incorrect with regard to namespaces.
org.w3c.dom.DOMException: NAMESPACE_ERR: An attempt is made to create or change an object
in a way which is incorrect with regard to namespaces.
at org.apache.xerces.dom.AttrNSImpl.setName(Unknown Source)
at org.apache.xerces.dom.AttrNSImpl.<init>(Unknown Source)
at org.apache.xerces.dom.CoreDocumentImpl.createAttributeNS(Unknown Source)
at org.apache.xerces.dom.ElementImpl.setAttributeNS(Unknown Source)
at org.jboss.ws.soap.SOAPElementImpl.setAttributeNS(SOAPElementImpl.java:616)
at org.jboss.util.xml.DOMUtils.copyAttributes(DOMUtils.java:315)
at org.jboss.ws.soap.SOAPFactoryImpl.createElement(SOAPFactoryImpl.java:81)
at org.jboss.ws.soap.SOAPBodyImpl.addDocument(SOAPBodyImpl.java:82)
at org.apache.juddi.registry.AbstractService.doPost(AbstractService.java:216)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at
org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
at java.lang.Thread.run(Thread.java:595)
2006-09-15 14:44:22,234 INFO [STDOUT] 2006-09-15 14:44:22,234 [http-0.0.0.0-8080-2]
ERROR org.apache.juddi.registry.AbstractService - A serious error has occured while
assembling the SOAP Fault.
java.lang.IllegalArgumentException: Invalid faultCode: Server
at org.jboss.ws.soap.SOAPFaultImpl.setFaultCode(SOAPFaultImpl.java:152)
at org.apache.juddi.registry.AbstractService.doPost(AbstractService.java:341)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at
org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
at java.lang.Thread.run(Thread.java:595)
ANIL: I think there must have been something related to DOM/DOM2/DOM3 with
regard to SAAJ construction.
Steps to reproduce:
1. Create a (mysql) db importing the juddi.dmp file into mysql (attached as juddi.zip).
2. Get the juddi.war and juddi-ds.xml (make sure username and pw are correct) from
http://labs.jboss.com/wiki/JudyEvaluation and copy to the server/default/deploy
directory.
3. Copy the mysql driver to the server/default/lib directory.
4. Start jboss-4.0.4, and point the browser to
http://localhost:8080/juddi/ in this page
you can validate (juddihappy) to make sure all is happy for you.
5. Click on the console link (
http://localhost:8080/juddi/console/controller.jsp) and
submit a find_publisher request.
In the logs (and console) you should see the stack trace.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: