pentaho/pentaho-kettle · error · KettleException
WebServiceAvailableMeta.Exception.UnexpectedErrorReadingStep…
Error message
WebServiceAvailableMeta.Exception.UnexpectedErrorReadingStepInfo
What it means
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.
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.
Defensive patterns
Strategy: try-catch
Validate before calling
if (!rep.connect()) throw new IllegalStateException("Repository unavailable"); Try / catch
try {
transMeta.load(rep, metaStore, ...);
} catch (KettleException e) {
logError("Unexpected repository read error", e);
// fall back to local .ktr export
} Prevention
- Test repository connection before opening transformations
- Keep exported .ktr copies of repository content
- Keep repository schema and PDI versions aligned
When it happens
Trigger: readRep calls rep.getStepAttributeString(id_step, ...) for each setting and the repository layer throws — connection failure, missing step row, DB error.
Common situations: Repository database unreachable; transformation opened with a stale id_step after repo cleanup; repository schema mismatch; permission problems.
Understand the failure class
Background: Database query failed: Internal Server Error 500s wrapping SQL, Prisma, and connection failures — what to check first — this error's family across 16 libraries.
Related errors
- GetSequenceMeta.Exception.UnableToReadStepInfo
- GetSequenceMeta.Exception.UnableToSaveStepInfo
- JobCopyFiles.Error.Exception.UnableLoadRep
- JobEntryCopyMoveResultFilenames.CanNotLoadFromRep
- JobMoveFiles.Error.Exception.UnableLoadRep
AI-assisted analysis of pentaho/pentaho-kettle@f3058517a1 (2026-09-13).
Data as JSON: /api/errors/7b90554c2f1b53c5.
Report an issue: GitHub.
Appendix: source
Thrown at engine/src/main/java/org/pentaho/di/trans/steps/webserviceavailable/WebServiceAvailableMeta.java:170
try {
urlField = XMLHandler.getTagValue( stepnode, "urlField" );
connectTimeOut = XMLHandler.getTagValue( stepnode, "connectTimeOut" );
readTimeOut = XMLHandler.getTagValue( stepnode, "readTimeOut" );
resultfieldname = XMLHandler.getTagValue( stepnode, "resultfieldname" );
} catch ( Exception e ) {
throw new KettleXMLException( BaseMessages.getString(
PKG, "WebServiceAvailableMeta.Exception.UnableToReadStepInfo" ), e );
}
}
public void readRep( Repository rep, IMetaStore metaStore, ObjectId id_step, List<DatabaseMeta> databases ) throws KettleException {
try {
urlField = rep.getStepAttributeString( id_step, "urlField" );
connectTimeOut = rep.getStepAttributeString( id_step, "connectTimeOut" );
readTimeOut = rep.getStepAttributeString( id_step, "readTimeOut" );
resultfieldname = rep.getStepAttributeString( id_step, "resultfieldname" );
} catch ( Exception e ) {
throw new KettleException( BaseMessages.getString(
PKG, "WebServiceAvailableMeta.Exception.UnexpectedErrorReadingStepInfo" ), e );
}
}
public void saveRep( Repository rep, IMetaStore metaStore, ObjectId id_transformation, ObjectId id_step ) throws KettleException {
try {
rep.saveStepAttribute( id_transformation, id_step, "urlField", urlField );
rep.saveStepAttribute( id_transformation, id_step, "connectTimeOut", connectTimeOut );
rep.saveStepAttribute( id_transformation, id_step, "readTimeOut", readTimeOut );
rep.saveStepAttribute( id_transformation, id_step, "resultfieldname", resultfieldname );
} catch ( Exception e ) {
throw new KettleException( BaseMessages.getString(
PKG, "WebServiceAvailableMeta.Exception.UnableToSaveStepInfo" )
+ id_step, e );
}
}
public void check( List<CheckResultInterface> remarks, TransMeta transMeta, StepMeta stepMeta,View on GitHub (pinned to f3058517a1)