{"record":{"id":"7b90554c2f1b53c5","repo":"pentaho/pentaho-kettle","slug":"webserviceavailablemeta-exception","errorCode":null,"errorMessage":"WebServiceAvailableMeta.Exception.UnexpectedErrorReadingStepInfo","messagePattern":"WebServiceAvailableMeta\\.Exception\\.UnexpectedErrorReadingStepInfo","errorType":"exception","errorClass":"KettleException","httpStatus":null,"severity":"error","filePath":"engine/src/main/java/org/pentaho/di/trans/steps/webserviceavailable/WebServiceAvailableMeta.java","lineNumber":170,"sourceCode":"    try {\n      urlField = XMLHandler.getTagValue( stepnode, \"urlField\" );\n      connectTimeOut = XMLHandler.getTagValue( stepnode, \"connectTimeOut\" );\n      readTimeOut = XMLHandler.getTagValue( stepnode, \"readTimeOut\" );\n      resultfieldname = XMLHandler.getTagValue( stepnode, \"resultfieldname\" );\n    } catch ( Exception e ) {\n      throw new KettleXMLException( BaseMessages.getString(\n        PKG, \"WebServiceAvailableMeta.Exception.UnableToReadStepInfo\" ), e );\n    }\n  }\n\n  public void readRep( Repository rep, IMetaStore metaStore, ObjectId id_step, List<DatabaseMeta> databases ) throws KettleException {\n    try {\n      urlField = rep.getStepAttributeString( id_step, \"urlField\" );\n      connectTimeOut = rep.getStepAttributeString( id_step, \"connectTimeOut\" );\n      readTimeOut = rep.getStepAttributeString( id_step, \"readTimeOut\" );\n      resultfieldname = rep.getStepAttributeString( id_step, \"resultfieldname\" );\n    } catch ( Exception e ) {\n      throw new KettleException( BaseMessages.getString(\n        PKG, \"WebServiceAvailableMeta.Exception.UnexpectedErrorReadingStepInfo\" ), e );\n    }\n  }\n\n  public void saveRep( Repository rep, IMetaStore metaStore, ObjectId id_transformation, ObjectId id_step ) throws KettleException {\n    try {\n      rep.saveStepAttribute( id_transformation, id_step, \"urlField\", urlField );\n      rep.saveStepAttribute( id_transformation, id_step, \"connectTimeOut\", connectTimeOut );\n      rep.saveStepAttribute( id_transformation, id_step, \"readTimeOut\", readTimeOut );\n      rep.saveStepAttribute( id_transformation, id_step, \"resultfieldname\", resultfieldname );\n    } catch ( Exception e ) {\n      throw new KettleException( BaseMessages.getString(\n        PKG, \"WebServiceAvailableMeta.Exception.UnableToSaveStepInfo\" )\n        + id_step, e );\n    }\n  }\n\n  public void check( List<CheckResultInterface> remarks, TransMeta transMeta, StepMeta stepMeta,","sourceCodeStart":152,"sourceCodeEnd":188,"githubUrl":"https://github.com/pentaho/pentaho-kettle/blob/f3058517a153da500bf4551f46d79b91bf8ec552/engine/src/main/java/org/pentaho/di/trans/steps/webserviceavailable/WebServiceAvailableMeta.java#L152-L188","documentation":"WebServiceAvailableMeta.readRep loads the step settings (urlField, connectTimeOut, readTimeOut, resultfieldname) from the repository; any Exception is wrapped in a KettleException 'Unexpected error reading step info from the repository'. The repository could not supply the step attributes.","triggerScenarios":"readRep calls rep.getStepAttributeString(id_step, ...) for each setting and the repository layer throws — connection failure, missing step row, DB error.","commonSituations":"Repository database unreachable; transformation opened with a stale id_step after repo cleanup; repository schema mismatch; permission problems.","solutions":["Test and restore the repository connection, then reopen the transformation.","Inspect the wrapped cause for the root SQL/connection error and fix DB access.","Verify the step attributes exist for the given id_step in the repository tables.","If the repository is broken, load the transformation from an exported .ktr instead."],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":"if (!rep.connect()) throw new IllegalStateException(\"Repository unavailable\");","typeGuard":null,"tryCatchPattern":"try {\n  transMeta.load(rep, metaStore, ...);\n} catch (KettleException e) {\n  logError(\"Unexpected repository read error\", e);\n  // fall back to local .ktr export\n}","preventionTips":["Test repository connection before opening transformations","Keep exported .ktr copies of repository content","Keep repository schema and PDI versions aligned"],"tags":["pdi","kettle","repository","webservice","database"],"backgroundTag":"database-query-failed","analyzedSha":"f3058517a153da500bf4551f46d79b91bf8ec552","analyzedAt":"2026-09-13T14:04:16.340Z","contentChangedAt":"2026-09-13T14:04:16.340Z","schemaVersion":2},"datasetVersion":"2026-09-20T23:17:15.980Z"}