{"record":{"id":"6f52d79ead71aa5a","repo":"pentaho/pentaho-kettle","slug":"httppost-exception-errorfindingfield","errorCode":null,"errorMessage":"HTTPPOST.Exception.ErrorFindingField","messagePattern":"HTTPPOST\\.Exception\\.ErrorFindingField","errorType":"exception","errorClass":"KettleException","httpStatus":null,"severity":"error","filePath":"engine/src/main/java/org/pentaho/di/trans/steps/httppost/HTTPPOST.java","lineNumber":379,"sourceCode":"      data.inputRowMeta = getInputRowMeta();\n      data.outputRowMeta = getInputRowMeta().clone();\n      meta.getFields( getTransMeta().getBowl(), data.outputRowMeta, getStepname(), null, null, this, repository,\n        metaStore );\n\n      if ( meta.isUrlInField() ) {\n        if ( Utils.isEmpty( meta.getUrlField() ) ) {\n          logError( BaseMessages.getString( PKG, \"HTTPPOST.Log.NoField\" ) );\n          throw new KettleException( BaseMessages.getString( PKG, \"HTTPPOST.Log.NoField\" ) );\n        }\n\n        // cache the position of the field\n        if ( data.indexOfUrlField < 0 ) {\n          String realUrlfieldName = environmentSubstitute( meta.getUrlField() );\n          data.indexOfUrlField = data.inputRowMeta.indexOfValue( ( realUrlfieldName ) );\n          if ( data.indexOfUrlField < 0 ) {\n            // The field is unreachable !\n            logError( BaseMessages.getString( PKG, \"HTTPPOST.Log.ErrorFindingField\", realUrlfieldName ) );\n            throw new KettleException( BaseMessages.getString( PKG, \"HTTPPOST.Exception.ErrorFindingField\",\n              realUrlfieldName ) );\n          }\n        }\n      } else {\n        data.realUrl = environmentSubstitute( meta.getUrl() );\n      }\n      // set body parameters\n      int nrargs = meta.getArgumentField().length;\n      if ( nrargs > 0 ) {\n        data.useBodyParameters = false;\n        data.useHeaderParameters = false;\n        data.contentTypeHeaderOverwrite = false;\n        int nrheader = 0;\n        int nrbody = 0;\n        for ( int i = 0; i < nrargs; i++ ) {  // split into body / header\n          if ( meta.getArgumentHeader()[ i ] ) {\n            data.useHeaderParameters = true; // at least one header parameter\n            nrheader++;","sourceCodeStart":361,"sourceCodeEnd":397,"githubUrl":"https://github.com/pentaho/pentaho-kettle/blob/f3058517a153da500bf4551f46d79b91bf8ec552/engine/src/main/java/org/pentaho/di/trans/steps/httppost/HTTPPOST.java#L361-L397","documentation":"Thrown when 'URL is in a field?' is enabled and the configured URL field name cannot be found in the incoming row. data.inputRowMeta.indexOfValue() returns -1, so processRow raises a KettleException with 'HTTPPOST.Exception.ErrorFindingField' naming the field.","triggerScenarios":"processRow executes with isUrlInField true; environmentSubstitute(meta.getUrlField()) resolved, but indexOfValue on the input row meta returns < 0 at line 379.","commonSituations":"Upstream step renamed or removed the URL column; field name case mismatch; environment variable substitution changed the expected name; step connected to a different stream than designed.","solutions":["Verify the incoming row layout (right-click the hop / 'Show input fields') and set 'URL field name' to an existing field.","Correct the field name casing — lookups are exact matches.","Reconnect/reorder upstream steps so the field actually reaches the HTTP POST step.","Use Fieldname selection from the dropdown in the step dialog rather than typing the name."],"exampleFix":"// before\nurlField=\"url_adress\"; // typo, field does not exist\n// after\nurlField=\"url_address\"; // matches the actual incoming field name","handlingStrategy":"validation","validationCode":"RowMetaInterface in = transMeta.getPrevStepFields(stepName);\nif (in.indexOfValue(meta.getUrlField()) < 0)\n  throw new KettleException(\"URL field not in stream: \" + meta.getUrlField());","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Preview upstream rows before configuring the step","Update dependent steps when renaming fields upstream"],"tags":["pentaho","configuration","field-lookup","http-post"],"backgroundTag":"resource-not-found","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"}