Clarity

 View Only
  • 1.  Getting Error on  SOAP XOG call to calrity for Project allocation realted Query ?

    Posted May 26, 2015 11:11 PM

    I am trying to fetch  resource allocation realated data  from Clarity using SOAP XOG call.

     

    Query :

    <NikuDataBus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/nikuxog_read.xsd">

      <Header version="7.5" action="read" objectType="project" externalSource="NIKU">

      <!-- you change the order by simply swap 1 and 2 number in the name attribute -->

      <args name="order_by_1" value="name"/>

      <args name="order_by_2" value="projectID"/>

      <args name="include_tasks" value="true"/>

      <args name="include_resources" value="true"/>

        <args name="include_custom" value="true"/>

        <args name="include_allocations" value="true"/>

        <args name="include_actuals" value="true"/>

        <args name="include_estimates" value="true"/>

      </Header>

      <Query>

     

         <Filter name="projectID" criteria="EQUALS">ProjectID</Filter>

      <Filter name="resourceID" criteria="EQUALS">RID</Filter>

      <Filter name="active" criteria="EQUALS">true</Filter>

       </Query>

    </NikuDataBus>

     

    Response:

    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">

       <soapenv:Header/>

       <soapenv:Body>

          <NikuDataBus xsi:noNamespaceSchemaLocation="../xsd/nikuxog_project.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

             <Header action="write" externalSource="NIKU" objectType="project" version="13.1.0.0248"/>

             <Projects/>

             <XOGOutput>

                <Object type="project"/>

                <Status state="FAILURE"/>

                <Statistics failureRecords="0" insertedRecords="0" totalNumberOfRecords="0" updatedRecords="0"/>

                <Records>

                   <Record>

                      <KeyInformation>

                         <column name="id"/>

                         <column name="name"/>

                      </KeyInformation>

                      <ErrorInformation>

                         <Severity>FATAL</Severity>

                         <Description>Project Object read failed</Description>

                         <Exception>java.sql.SQLException: [CA Clarity][Oracle JDBC Driver][Oracle]ORA-00920: invalid relational operator

     

     

      at com.ca.c

     

     

     

    What can be possible mistakes I am making here ?

    Help please

    Many Thanks.



  • 2.  Re: Getting Error on  SOAP XOG call to calrity for Project allocation realted Query ?

    Posted May 27, 2015 12:57 AM

    Check this -

     

    How to get XOG of resource allocation, task ETC for a project

    https://communities.ca.com/message/100280572#100280572

     

    NJ



  • 3.  Re: Getting Error on  SOAP XOG call to calrity for Project allocation realted Query ?

    Posted May 28, 2015 09:56 AM

    I think for this I would need to see more of the error message to have a chance of offering assistance (the stack trace is cut off, and there is probably also more information about this error in the app-ca.log files too).  If you could also indicate if you have any patches applied on your (I suspect) Clarity 13.1 system, I would need that too.  Thanks.



  • 4.  Re: Getting Error on  SOAP XOG call to calrity for Project allocation realted Query ?

    Posted May 28, 2015 12:56 PM

    The question is why do you need 3 different filters. if you are bringing back the project ID, then why add the resource/active filter in.  That is what it is complaining about. Or at least that is the error i get when i try to run your XML.

    Try just using the projectID tag.

    hope this helps.

     

    <NikuDataBus xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/nikuxog_project.xsd">

          <Header action="write" externalSource="NIKU" objectType="project" version="13.2.0.472"/>

          <Projects/>

          <XOGOutput>

            <Object type="project"/>

            <Status state="FAILURE"/>

            <Statistics failureRecords="0" insertedRecords="0" totalNumberOfRecords="0" updatedRecords="0"/>

            <Records>

              <Record>

                <KeyInformation>

                  <column name="id"/>

                  <column name="name"/>

                </KeyInformation>

                <ErrorInformation>

                  <Severity>FATAL</Severity>

                  <Description>Project Object read failed</Description>

                  <Exception>

    java.sql.SQLException: [CA Clarity][SQLServer JDBC Driver][SQLServer]An expression of non-boolean type specified in a context where a condition is expected, near 'AND'.

      at com.ca.clarity.jdbc.sqlserverbase.ddcg.b(Unknown Source)

      at com.ca.clarity.jdbc.sqlserverbase.ddcg.a(Unknown Source)

      at com.ca.clarity.jdbc.sqlserverbase.ddcf.b(Unknown Source)

      at com.ca.clarity.jdbc.sqlserverbase.ddcf.a(Unknown Source)

      at com.ca.clarity.jdbc.sqlserver.tds.ddr.w(Unknown Source)

      at com.ca.clarity.jdbc.sqlserver.tds.ddr.a(Unknown Source)

      at com.ca.clarity.jdbc.sqlserver.tds.ddq.a(Unknown Source)

      at com.ca.clarity.jdbc.sqlserver.tds.ddr.a(Unknown Source)

      at com.ca.clarity.jdbc.sqlserver.ddj.m(Unknown Source)

      at com.ca.clarity.jdbc.sqlserverbase.ddes.e(Unknown Source)

      at com.ca.clarity.jdbc.sqlserverbase.ddes.a(Unknown Source)

      at com.ca.clarity.jdbc.sqlserverbase.dddm.a(Unknown Source)

      at com.ca.clarity.jdbc.sqlserverbase.ddes.v(Unknown Source)

      at com.ca.clarity.jdbc.sqlserverbase.ddes.r(Unknown Source)

      at com.ca.clarity.jdbc.sqlserverbase.dddm.execute(Unknown Source)

      at sun.reflect.GeneratedMethodAccessor56.invoke(Unknown Source)

      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

      at java.lang.reflect.Method.invoke(Method.java:601)

      at org.logicalcobwebs.proxool.ProxyStatement.invoke(ProxyStatement.java:68)

      at org.logicalcobwebs.cglib.proxy.Proxy$ProxyImpl$$EnhancerByCGLIB$$ac674f44.execute(&lt;generated&gt;)

      at com.niku.union.persistence.jdbc.SQLTracePreparedStatement.execute(SQLTracePreparedStatement.java:109)

      at com.niku.union.persistence.PersistenceController.processSql(PersistenceController.java:2741)

      at com.niku.union.persistence.PersistenceController.processStatement(PersistenceController.java:868)

      at com.niku.union.persistence.PersistenceController.processStatements(PersistenceController.java:768)

      at com.niku.union.persistence.PersistenceController.doProcessRequest(PersistenceController.java:576)

      at com.niku.union.persistence.PersistenceController.processRequest(PersistenceController.java:306)

      at com.niku.xql2.pmd.PMDRecordSet.executePMDStatement(PMDRecordSet.java:260)

      at com.niku.xql2.odf.ODFRecordSet.&lt;init&gt;(ODFRecordSet.java:142)

      at com.niku.xql2.odf.ODFDataSource.select(ODFDataSource.java:60)

      at com.niku.xql2.XQLVisitor.getObjectSet(XQLVisitor.java:829)

      at com.niku.xql2.XQLVisitor.getField(XQLVisitor.java:1371)

      at com.niku.xql2.eval.XQLPropertyNode.eval(XQLPropertyNode.java:92)

      at com.niku.xql2.eval.XQLEvaluator.parse(XQLEvaluator.java:40)

      at com.niku.xql2.XQLVisitor.eval(XQLVisitor.java:1046)

      at com.niku.xql2.XQLVisitor.eval(XQLVisitor.java:1020)

      at com.niku.xql2.handlers.LoopHandler.preProcess(LoopHandler.java:67)

      at com.niku.xql2.XQLVisitor.preProcess(XQLVisitor.java:1342)

      at com.niku.union.xml.dom.DOMWalker.preProcess(DOMWalker.java:194)

      at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:74)

      at com.niku.union.xml.dom.DOMWalker.traverse(DOMWalker.java:51)

      at com.niku.xql2.handlers.TryHandler.preProcess(TryHandler.java:50)

      at com.niku.xql2.XQLVisitor.preProcess(XQLVisitor.java:1342)

      at com.niku.union.xml.dom.DOMWalker.preProcess(DOMWalker.java:194)

      at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:74)

      at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:92)

      at com.niku.union.xml.dom.DOMWalker.traverse(DOMWalker.java:51)

      at com.niku.xql2.handlers.LoopHandler.processObject(LoopHandler.java:161)

      at com.niku.xql2.handlers.LoopHandler.preProcess(LoopHandler.java:91)

      at com.niku.xql2.XQLVisitor.preProcess(XQLVisitor.java:1342)

      at com.niku.union.xml.dom.DOMWalker.preProcess(DOMWalker.java:194)

      at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:74)

      at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:92)

      at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:92)

      at com.niku.union.xml.dom.DOMWalker.traverseIntern(DOMWalker.java:92)

      at com.niku.union.xml.dom.DOMWalker.traverse(DOMWalker.java:36)

      at com.niku.xog.service.XOGXBLHandler.processXBL(XOGXBLHandler.java:248)

      at com.niku.xog.service.XOGXBLHandler.process(XOGXBLHandler.java:154)

      at com.niku.xog.service.ObjectHandler.processRequest(ObjectHandler.java:197)

      at com.niku.xog.service.ObjectHandler.process(ObjectHandler.java:99)

      at com.niku.xog.service.XOGDispa



  • 5.  Re: Getting Error on  SOAP XOG call to calrity for Project allocation realted Query ?

    Posted May 28, 2015 01:05 PM

    It may not appear to make sense, but with the criteria it should still be able to work without error I think - being able to combine the conditions in order to ensure you only return data when all are true is still a logical request to make (e.g. an interface that will only fetch this project if and when it is also active, or also contains a given team member, etc.).

     

    If that's all it takes to cause it though, I would probably get a ticket logged so it can be confirmed and reported as a defect if needed (the workaround until then would, in all likelihood, be as you suggest to just limit the conditions at this time).

     

    Also in case someone else is unsure, the error message is slightly different this time just due to SQL Server reporting the same type of complaint with different wording to Oracle, but they appear to be the same things.



  • 6.  Re: Getting Error on  SOAP XOG call to calrity for Project allocation realted Query ?

    Posted May 28, 2015 01:10 PM

    Agree, it should handle it.  the issue seems to be whenever the ProjectID is used, it is not expecting any other filters (as if you are filtering by ID, nothing else really matters because it is specific to one record).

    if you combine any others that have a possibility of multiple results, then it works  :-)  so I would say it is working as expected?

    hope this helps

    Federico



  • 7.  Re: Getting Error on  SOAP XOG call to calrity for Project allocation realted Query ?

    Posted May 28, 2015 01:16 PM

    Here are the results of tests running it without the ProjectID.  all successful.

    XQ.png



  • 8.  Re: Getting Error on  SOAP XOG call to calrity for Project allocation realted Query ?
    Best Answer

    Posted May 28, 2015 04:10 PM

    TEC615468 Cannot XOG Project Allocation for a particular Resource. Receive FATAL error: Project Object read failed. ORA-00920: invalid relational operator

    http://www.ca.com/us/support/ca-support-online/product-content/knowledgebase-articles/tec615468.aspx

     

    This article covers defect CLRT-75364 that was reported and there is a fix provided for it in 14.2 and above.

     

    Until you upgrade to that version or higher, then to workaround it, you would need to use a more limited filter like the one Frederico suggests.