I am working on the creation of an API and using two approaches for doing the same thing, first code snippet includes the code which is working fine without any issue whereas if I try to minimize the code and by placing request creation in a different expression I get error error "The jsonText parameter was not valid JSON."
a!localVariables( /*code throwing error*/ local!jsonRequest: a!fromJson(http!request.body), local!value: rule!ASQ_CreateRequestStructureForSfdc(jsonRequest:local!jsonRequest), a!writeRecords( records: local!value, onSuccess: a!httpResponse( statusCode: 200, headers: { a!httpHeader( name: "Content-Type", value: "application/json" ) }, body: a!toJson(fv!recordsUpdated) ), onError: a!httpResponse( statusCode: 500, headers: { a!httpHeader( name: "Content-Type", value: "application/json" ) }, body: a!toJson( a!map( message: "Write request has failed", error: fv!error ) ) ) ) ) /*expression called*/ a!localVariables( local!refData: rule!ASQ_RT_GetReferenceData( attributeName: { "Priority", "Service Type", "Customer Consent", "Scenario", "Requesting Group", "Shared ONT", "Is an Escalation", "Address Source", "Qualification Type", "Qualification Result", "ASQ Output", "Output Reason", "GIS Issue Found", "Input Error", "Dependency Reason", "Speed Qual (Mbps)", "Responsible Team", "Resolution" } ), local!refRequestingGroup: local!refData[wherecontains( "Requesting Group", local!refData['recordType!{79c01c22-ab0c-4ab2-8744-4ed1b7a33b6f}ASQ Reference Data.fields.{20238511-f28a-4fd9-b022-fd44276c8ee2}attributeName'] )], local!refServiceType: local!refData[wherecontains( "Service Type", local!refData['recordType!{79c01c22-ab0c-4ab2-8744-4ed1b7a33b6f}ASQ Reference Data.fields.{20238511-f28a-4fd9-b022-fd44276c8ee2}attributeName'] )], local!refQualtype: local!refData[wherecontains( "Qualification Type", local!refData['recordType!{79c01c22-ab0c-4ab2-8744-4ed1b7a33b6f}ASQ Reference Data.fields.{20238511-f28a-4fd9-b022-fd44276c8ee2}attributeName'] )], local!jsonRequest: (ri!jsonRequest), local!summary: 'recordType!{f857b81b-c4f7-4772-8b6b-c85283e01d0f}ASQ Issue'( 'recordType!{f857b81b-c4f7-4772-8b6b-c85283e01d0f}ASQ Issue.fields.{68402540-626d-4dc1-a8dd-fb76a1cee9cf}summary': index( index(local!jsonRequest, "fields", null), "summary", null ), 'recordType!{f857b81b-c4f7-4772-8b6b-c85283e01d0f}ASQ Issue.fields.{5db4233e-a6ec-4ae2-80fe-98a15088ebf4}description': index( index(local!jsonRequest, "fields", null), "description", null ), 'recordType!{f857b81b-c4f7-4772-8b6b-c85283e01d0f}ASQ Issue.fields.{a3cb8eee-6c45-4e6e-b5d9-4eea05589af0}serviceType': displayvalue( index( index(local!jsonRequest, "fields", null), "customfield_32800", null ).value, local!refServiceType['recordType!{79c01c22-ab0c-4ab2-8744-4ed1b7a33b6f}ASQ Reference Data.fields.{ef80c0cf-afef-4f3f-ab30-ebc6e5401bd7}value'], local!refServiceType['recordType!{79c01c22-ab0c-4ab2-8744-4ed1b7a33b6f}ASQ Reference Data.fields.{17288c54-9490-41ac-9a8d-7fc9386d4c5e}id'], null ), 'recordType!{f857b81b-c4f7-4772-8b6b-c85283e01d0f}ASQ Issue.fields.{7512ae33-1abf-41a7-bed5-e2cc5ab5862c}requestingGroup': displayvalue( index( index(local!jsonRequest, "fields", null), "customfield_19485", null ).value, local!refRequestingGroup['recordType!{79c01c22-ab0c-4ab2-8744-4ed1b7a33b6f}ASQ Reference Data.fields.{ef80c0cf-afef-4f3f-ab30-ebc6e5401bd7}value'], local!refRequestingGroup['recordType!{79c01c22-ab0c-4ab2-8744-4ed1b7a33b6f}ASQ Reference Data.fields.{17288c54-9490-41ac-9a8d-7fc9386d4c5e}id'], null ), 'recordType!{f857b81b-c4f7-4772-8b6b-c85283e01d0f}ASQ Issue.fields.{967961ff-7ce7-4a23-9050-e344efda3e10}requestingGrpOther': index( index(local!jsonRequest, "fields", null), "customfield_30204", null ), 'recordType!{f857b81b-c4f7-4772-8b6b-c85283e01d0f}ASQ Issue.fields.{18e11983-4031-47a5-bf81-9527b7affd27}ecid': index( index(local!jsonRequest, "fields", null), "customfield_30204", null ), 'recordType!{f857b81b-c4f7-4772-8b6b-c85283e01d0f}ASQ Issue.fields.{fd1d83fa-7c5c-409d-b450-27d45fc19cb7}address': index( index(local!jsonRequest, "fields", null), "customfield_11347", null ), 'recordType!{f857b81b-c4f7-4772-8b6b-c85283e01d0f}ASQ Issue.fields.{2159a08e-01cf-4394-b569-f15c83d35d4c}qualificationType': displayvalue( index( index(local!jsonRequest, "fields", null), "customfield_30202", null ).value, local!refQualtype['recordType!{79c01c22-ab0c-4ab2-8744-4ed1b7a33b6f}ASQ Reference Data.fields.{ef80c0cf-afef-4f3f-ab30-ebc6e5401bd7}value'], local!refQualtype['recordType!{79c01c22-ab0c-4ab2-8744-4ed1b7a33b6f}ASQ Reference Data.fields.{17288c54-9490-41ac-9a8d-7fc9386d4c5e}id'], null ), 'recordType!{f857b81b-c4f7-4772-8b6b-c85283e01d0f}ASQ Issue.fields.{ae113520-e399-44c4-9a73-cf4e634b355b}lpdsid': index( index(local!jsonRequest, "fields", null), "customfield_21508", null ), ), local!summary )
a!localVariables( /*CODE Working*/ local!refData: rule!ASQ_RT_GetReferenceData( attributeName: { "Priority", "Service Type", "Customer Consent", "Scenario", "Requesting Group", "Shared ONT", "Is an Escalation", "Address Source", "Qualification Type", "Qualification Result", "ASQ Output", "Output Reason", "GIS Issue Found", "Input Error", "Dependency Reason", "Speed Qual (Mbps)", "Responsible Team", "Resolution" } ), local!refRequestingGroup: local!refData[wherecontains( "Requesting Group", local!refData['recordType!{79c01c22-ab0c-4ab2-8744-4ed1b7a33b6f}ASQ Reference Data.fields.{20238511-f28a-4fd9-b022-fd44276c8ee2}attributeName'] )], local!refServiceType: local!refData[wherecontains( "Service Type", local!refData['recordType!{79c01c22-ab0c-4ab2-8744-4ed1b7a33b6f}ASQ Reference Data.fields.{20238511-f28a-4fd9-b022-fd44276c8ee2}attributeName'] )], local!refQualtype: local!refData[wherecontains( "Qualification Type", local!refData['recordType!{79c01c22-ab0c-4ab2-8744-4ed1b7a33b6f}ASQ Reference Data.fields.{20238511-f28a-4fd9-b022-fd44276c8ee2}attributeName'] )], local!jsonRequest: a!fromJson(http!request.body), local!value: 'recordType!{f857b81b-c4f7-4772-8b6b-c85283e01d0f}ASQ Issue'( 'recordType!{f857b81b-c4f7-4772-8b6b-c85283e01d0f}ASQ Issue.fields.{68402540-626d-4dc1-a8dd-fb76a1cee9cf}summary': index( index(local!jsonRequest, "fields", null), "summary", null ), 'recordType!{f857b81b-c4f7-4772-8b6b-c85283e01d0f}ASQ Issue.fields.{5db4233e-a6ec-4ae2-80fe-98a15088ebf4}description': index( index(local!jsonRequest, "fields", null), "description", null ), 'recordType!{f857b81b-c4f7-4772-8b6b-c85283e01d0f}ASQ Issue.fields.{a3cb8eee-6c45-4e6e-b5d9-4eea05589af0}serviceType': displayvalue( index( index(local!jsonRequest, "fields", null), "customfield_32800", null ).value, local!refServiceType['recordType!{79c01c22-ab0c-4ab2-8744-4ed1b7a33b6f}ASQ Reference Data.fields.{ef80c0cf-afef-4f3f-ab30-ebc6e5401bd7}value'], local!refServiceType['recordType!{79c01c22-ab0c-4ab2-8744-4ed1b7a33b6f}ASQ Reference Data.fields.{17288c54-9490-41ac-9a8d-7fc9386d4c5e}id'], null ), 'recordType!{f857b81b-c4f7-4772-8b6b-c85283e01d0f}ASQ Issue.fields.{7512ae33-1abf-41a7-bed5-e2cc5ab5862c}requestingGroup': displayvalue( index( index(local!jsonRequest, "fields", null), "customfield_19485", null ).value, local!refRequestingGroup['recordType!{79c01c22-ab0c-4ab2-8744-4ed1b7a33b6f}ASQ Reference Data.fields.{ef80c0cf-afef-4f3f-ab30-ebc6e5401bd7}value'], local!refRequestingGroup['recordType!{79c01c22-ab0c-4ab2-8744-4ed1b7a33b6f}ASQ Reference Data.fields.{17288c54-9490-41ac-9a8d-7fc9386d4c5e}id'], null ), 'recordType!{f857b81b-c4f7-4772-8b6b-c85283e01d0f}ASQ Issue.fields.{967961ff-7ce7-4a23-9050-e344efda3e10}requestingGrpOther': index( index(local!jsonRequest, "fields", null), "customfield_30204", null ), 'recordType!{f857b81b-c4f7-4772-8b6b-c85283e01d0f}ASQ Issue.fields.{18e11983-4031-47a5-bf81-9527b7affd27}ecid': index( index(local!jsonRequest, "fields", null), "customfield_30204", null ), 'recordType!{f857b81b-c4f7-4772-8b6b-c85283e01d0f}ASQ Issue.fields.{fd1d83fa-7c5c-409d-b450-27d45fc19cb7}address': index( index(local!jsonRequest, "fields", null), "customfield_11347", null ), 'recordType!{f857b81b-c4f7-4772-8b6b-c85283e01d0f}ASQ Issue.fields.{2159a08e-01cf-4394-b569-f15c83d35d4c}qualificationType': displayvalue( index( index(local!jsonRequest, "fields", null), "customfield_30202", null ).value, local!refQualtype['recordType!{79c01c22-ab0c-4ab2-8744-4ed1b7a33b6f}ASQ Reference Data.fields.{ef80c0cf-afef-4f3f-ab30-ebc6e5401bd7}value'], local!refQualtype['recordType!{79c01c22-ab0c-4ab2-8744-4ed1b7a33b6f}ASQ Reference Data.fields.{17288c54-9490-41ac-9a8d-7fc9386d4c5e}id'], null ), 'recordType!{f857b81b-c4f7-4772-8b6b-c85283e01d0f}ASQ Issue.fields.{ae113520-e399-44c4-9a73-cf4e634b355b}lpdsid': index( index(local!jsonRequest, "fields", null), "customfield_21508", null ), ), a!writeRecords( records: local!value, onSuccess: a!httpResponse( statusCode: 200, headers: { a!httpHeader( name: "Content-Type", value: "application/json" ) }, body: a!toJson(fv!recordsUpdated) ), onError: a!httpResponse( statusCode: 500, headers: { a!httpHeader( name: "Content-Type", value: "application/json" ) }, body: a!toJson( a!map( message: "Write request has failed", error: fv!error ) ) ) ) )
Discussion posts and replies are publicly visible
You try to call fromJson() two times.
even if I remove a!fromjson() from line number 34 I am still getting the same error, what exactly does "The jsonText parameter was not valid JSON." this error means??
It means that the string you want to parse from JSON into an Appian dictionary is not valid JSON.
Could you share the json you are trying to parse? That error means that the json is not valid...