[
https://issues.apache.org/jira/browse/JUDDI-78?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jeff Faath resolved JUDDI-78.
-----------------------------
Resolution: Fixed
Assignee: Jeff Faath (was: Steve Viens)
Per the UDDI v2 spec, when a tModelKey isn't passed on the KeyedReference of
the publisherAssertion, an invalidKeyPassed fault should be thrown. The code
has been fixed to perfrom this check.
> jUDDI cannot accept null tModelKey in keyedReference element in a
> set_publisherAssertions call
> ----------------------------------------------------------------------------------------------
>
> Key: JUDDI-78
> URL: https://issues.apache.org/jira/browse/JUDDI-78
> Project: jUDDI
> Issue Type: Bug
> Affects 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: Jeff Faath
>
> 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.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]