2 Replies Latest reply on May 22, 2013 3:35 PM by joiellis

    Is Orion SDK 1.6 compatible with the new NPM 10.5?  RunQuery exception reading Metadata.VerbArgument Table


      I am just today starting a small project to automate creating discoveries.  My first step was to use a QueryXml() call to extract rows from the Verb and VerbArguments tables and pretty-print the results.  This works fine for the Verb table, but when I attempt this for the VerbArguments table, I get a Server 500 error from SolarWinds complaining about being unable to parse the XmlTemplates column.  We just upgraded to NPM 10.5 yesterday, and I am concerned that perhaps the Orion SDK 1.6 is now out of date. 


      I can run this exact query from SWIS Studio 1.6 without problems, but I'm using my ActiveDirectory login while in the studio.  I do not know if this worked in NPM 10.4.2, as I didn't start this project until we had already upgraded to NPM 1.5.   I copy & paste the SELECT syntax right out of Studio into a perl QueryXml call to ensure I'm not introducing typos.  (I routinely do this for tables I'm interested in, and this is the first time I've every had an issue arise.)


      The perl script is using a non-AD. Solarwinds user account to access this table.  It can access the Verb table just fine. All it does is run the query, and then run Data::Dumper on the result to print the raw results.  This is failing, as the QueryXml() call is returning undef.  Stepping through things with the perl debugger reveals a 500 Server Exception from the QueryXml() call.  I have attached the simple script that produces this error.  (Note that I have omitted my company library module, which encapsulates the basics of making a connection, proxy, authentication, etc.) 


      Is this something incorrect in the SDK's perl module?  Or is this buried in SWIS itself somewhere?  Was this issue introduced with NPM 10.5, or did it exist before, with 10.4.2?


                        '_http_response' => HTTP::Response=HASH(0x23cdc68)

                           '_content' => '<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"><s:Header><log xmlns="http://schemas.solarwinds.com/2007/08/informationservice">2013-05-22 14:13:25,448 [54] ERROR SolarWinds.InformationService.Core.InformationService - Exception running query:

      SELECT EntityName, VerbName, Position, Name, Type, XmlTemplate, IsOptional

      FROM Metadata.VerbArgument


      2013-05-22 14:13:25,448 [54] ERROR SolarWinds.InformationService.Core.InformationService - Exception caught in method RunQuery&#xD;

      SolarWinds.Data.Query.ParserException: Cannot resolve property XmlTemplate&#xD;

         at SolarWinds.Data.Query.Processor.SemanticChecker.HandleNonQualifiedPropertyName(EntityExpression entityExpression)&#xD;

         at SolarWinds.Data.Query.Processor.SemanticChecker.Visit(EntityExpression entityExpression)&#xD;

         at SolarWinds.Data.SWQL.AST.EntityExpression.Accept[T](SwqlExpressionVisitorOfT`1 visitor)&#xD;

         at SolarWinds.Data.Query.Processor.ParseTreeDuplicator.Visit(ColumnExpression column)&#xD;

         at SolarWinds.Data.Query.Processor.SemanticChecker.Visit(ColumnExpression column)&#xD;

         at SolarWinds.Data.SWQL.AST.ColumnExpression.Accept[T](SwqlExpressionVisitorOfT`1 visitor)&#xD;

         at SolarWinds.Data.Query.Processor.ParseTreeDuplicatorNoState.Visit(SelectClause select)&#xD;

         at SolarWinds.Data.SWQL.AST.SelectClause.Accept[T](SwqlExpressionVisitorOfT`1 visitor)&#xD;

         at SolarWinds.Data.Query.Processor.SemanticChecker.Visit(SelectStatement statement)&#xD;

         at SolarWinds.Data.SWQL.AST.SelectStatement.Accept[T](SwqlExpressionVisitorOfT`1 visitor)&#xD;

         at SolarWinds.Data.Query.Processor.SemanticChecker.Process(SelectStatement statement)&#xD;

         at SolarWinds.Data.Query.Processor.PreProcessor.ProcessInternal(PreProcessorState&amp; preProcessorState)&#xD;

         at SolarWinds.Data.Query.Processor.PreProcessor.Process(SelectStatement statement, Schema schema, IDataProviderCatalog catalog, IPreProcessorStepFactory stepsFactory, ILimitationProvider limitationProvider, IIdentity identity, IAccessControlResolver accessControlResolver, PreProcessorState&amp; preProcessorState)&#xD;

         at SolarWinds.Data.Query.Processor.QueryProcessor.ProcessInternal(String query, IQueryExecutionContext context)&#xD;

         at SolarWinds.Data.Query.Processor.QueryProcessor.ProcessQueryWithDeferredReaderCreation(String query, IQueryExecutionContext context)&#xD;

         at SolarWinds.InformationService.Core.InformationService.&lt;&gt;c__DisplayClassd.&lt;RunQuery&gt;b__9()&#xD;

         at SolarWinds.InformationService.Core.QueryPlanCache.GetQueryPlan(String query, String username, Func`1 buildQueryPlan)&#xD;

         at SolarWinds.InformationService.Core.InformationService.RunQuery(String query, IDictionary`2 parameters, IDataSerializer serializer, Boolean delaySerialization)&#xD;