[ http://issues.apache.org/jira/browse/JUDDI-78?page=comments#action_12330743 ]
Deepak Bhole commented on JUDDI-78: ----------------------------------- > There are two faults at work here. In a proper scenario, the server should be > sending a SOAP fault back, gracefully indicating that there was a problem. > Instead, > there is an exception[2] that gets thrown on server side. I will be opening > another bug for this and will post the number in here for tracking purposes. Bug number is 79. > jUDDI cannot accept null tModelKey in keyedReference element in a > set_publisherAssertions call > ---------------------------------------------------------------------------------------------- > > Key: JUDDI-78 > URL: http://issues.apache.org/jira/browse/JUDDI-78 > Project: jUDDI > Type: Bug > Versions: 0.9rc4 > Environment: OS: Fedora Core 4 -- KERNEL=2.6.11-1.1369_FC4smp > Software env: JOnAS 4.5.3 + postgresql backend + jUDDI v09.rc4 > Reporter: Deepak Bhole > Assignee: Steve Viens > > When creating an association, a SOAP message is sent to jUDDI with the > set_publisherAssertions element/call. According to the UDDI V2 > specifications, the set_publisherAssertions element has 0 or more > publisherAssertion elements. These publisherAssertion elements have a > keyedReference element, which in turn has an optional "tModelKey" attribute. > A SOAP message[1] with a non-existent 'tModelKey' key attribute was sent from > a client (Scout) to a server using jUDDI. According to the uddi > specifications, that message should have been valid. However, the server > threw an error indicating that a not-null constraint was violated in the > datastore. > Couple of notes... > 1. There are two faults at work here. In a proper scenario, the server should > be sending a SOAP fault back, gracefully indicating that there was a problem. > Instead, there is an exception[2] that gets thrown on server side. I will be > opening another bug for this and will post the number in here for tracking > purposes. > 2. Currently, Scout has an associated bug that will prevent you from > reproducing this error (it will throw an exception before SOAP message is > even sent). If you wish to reproduce this with Scout, you will have to add a > check in it in > modules/scout/src/java/org/apache/ws/scout/util/ScoutJaxrUddiHelper.java, > line (approx.) 184 in getPubAssertionFromJAXRAssociation() so that > kr.setTModelKey(key.getId()); gets called only if key != null. I am going to > open a corresponding bug for Scout and will post the number here. > [1] -- SOAP message sent from client: > <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> > <soapenv:Body> > <urn:set_publisherAssertions xmlns:urn="urn:uddi-org:api_v2" > generic="2.0" xmlns="urn:uddi-org:api_v2"> > > <urn:authInfo>authToken:9D0A9310-2F86-11DA-9310-B41FF8323FA2</urn:authInfo> > <urn:publisherAssertion> > > <urn:fromKey>BF367EF0-2F80-11DA-BEF0-A93E6C39B5A5</urn:fromKey> > > <urn:toKey>BF3A2870-2F80-11DA-A870-B6F127499C12</urn:toKey> > <urn:keyedReference keyValue="RelatedTo" > keyName="Concept"/> > </urn:publisherAssertion> > </urn:set_publisherAssertions> > </soapenv:Body> > </soapenv:Envelope> > [2] -- Exception seen on serverside: > 2005-09-27 14:28:32,368 : PublisherAssertionTable.insert : ERROR: null value > in column "tmodel_key" violates not-null constraint > 2005-09-27 14:28:32,369 : SetPublisherAssertionsFunction.execute : > org.postgresql.util.PSQLException: ERROR: null value in column "tmodel_key" > violates not-null constraint > 2005-09-27 14:28:32,370 : AbstractService.doPost : > org.postgresql.util.PSQLException: ERROR: null value in column "tmodel_key" > violates not-null constraint > 2005-09-27 14:28:32,371 : AbstractService.doPost : 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(Inlined Compiled Code)) > at javax.xml.namespace.QName.<init>(QName.java(Compiled Code)) > 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:709) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) > at sun.reflect.GeneratedMethodAccessor78.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java(Compiled > Code)) > at java.lang.reflect.Method.invoke(Method.java(Compiled Code)) > at > org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243) > at java.security.AccessController.doPrivileged1(Native Method) > at > java.security.AccessController.doPrivileged(AccessController.java(Compiled > Code)) > at javax.security.auth.Subject.doAsPrivileged(Subject.java:709) > at > org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:275) > at > org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:161) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:245) > at > org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:50) > at > org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:156) > at java.security.AccessController.doPrivileged1(Native Method) > at > java.security.AccessController.doPrivileged(AccessController.java(Compiled > Code)) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:152) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) > 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:856) > at > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744) > at > org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) > at > org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) > at > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) > at java.lang.Thread.run(Thread.java:568) -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
