Stai visualizzando la documentazione di Apigee Edge.
  Vai alla sezione
     Documentazione di Apigee X. Informazioni
SourceUnavailable
Codice di errore
steps.json2xml.SourceUnavailable
Corpo della risposta di errore
{ "fault": { "faultstring": "JSONToXML[policy_name]: Source [source_variable] is not available", "detail": { "errorcode": "steps.json2xml.SourceUnavailable" } } }
Errore di esempio
{
    "fault": {
        "faultstring": "JSONToXML[Convert-JSONToXML]: Source response is not available",
        "detail": {
            "errorcode": "steps.json2xml.SourceUnavailable"
        }
    }
}
Causa
Questo errore si verifica se la variabile message specificata nell'elemento <Source> del criterio da JSON a XML ha una delle seguenti caratteristiche:
- Fuori ambito (non disponibile nel flusso specifico in cui viene eseguito il criterio) o
- Non può essere risolto (non è definito)
Ad esempio, questo errore si verifica se si prevede che il criterio da JSON a XML debba essere eseguito nel flusso di richiesta, ma l'elemento <Source> è impostato sulla variabile response, che non esiste nel flusso di richiesta.
Diagnosi
- Identifica il criterio da JSON a XML in cui si è verificato l'errore e il nome della variabile che non è disponibile. Puoi trovare entrambi gli elementi nell'elemento - faultstringdella risposta di errore. Ad esempio, nel seguente- faultstring, il nome del criterio è- Convert-JSONToXMLe la variabile è- response:- "faultstring": "JSONToXML[Convert-JSONToXML]: Source response is not available"
- Nel file XML del criterio JSON to XML con errore, verifica che il nome del set di variabili nell'elemento - <Source>corrisponda al nome della variabile identificato nella stringa di errore (passaggio 1 sopra). Ad esempio, il seguente criterio da JSON a XML specifica una variabile denominata- responsenell'elemento- <Source>, che corrisponde al contenuto in- faultstring:- <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <JSONToXML async="false" continueOnError="false" enabled="true" name="Convert-JSONToXML"> <DisplayName>Convert-JSONToXML</DisplayName> <Properties/> <Options> <NullValue>NULL</NullValue> <NamespaceBlockName>#namespaces</NamespaceBlockName> <DefaultNamespaceNodeName>$default</DefaultNamespaceNodeName> <NamespaceSeparator>:</NamespaceSeparator> <TextNodeName>#text</TextNodeName> <AttributeBlockName>#attrs</AttributeBlockName> <AttributePrefix>@</AttributePrefix> <InvalidCharsReplacement>_</InvalidCharsReplacement> <ObjectRootElementName>Root</ObjectRootElementName> <ArrayRootElementName>Array</ArrayRootElementName> <ArrayItemElementName>Item</ArrayItemElementName> </Options> <OutputVariable>request</OutputVariable> <Source>response</Source> </JSONToXML>
- Determina se la variabile utilizzata nell'elemento - <Source>è definita e disponibile nel flusso in cui viene eseguito il criterio da JSON a XML.
- Se la variabile è: - Fuori ambito (non disponibile nel flusso specifico in cui viene eseguito il criterio) o
- Impossibile risolvere (non è definito)
 - questa è la causa dell'errore. - Ad esempio, supponiamo che il criterio di conversione da JSON a XML mostrato sopra debba essere eseguito nel flusso di richiesta. Ricorda che la variabile - responseviene utilizzata nell'elemento- <Source>del criterio da JSON a XML. La variabile di risposta è disponibile solo nel flusso di risposta.- Poiché la variabile - responsenon esiste nel flusso di richiesta, ricevi il codice di errore:- steps.json2xml.SourceUnavailable
Risoluzione
Assicurati che la variabile impostata nell'elemento <Source> del criterio JSON to XML non riuscito sia definita ed esista nel flusso in cui viene eseguito il criterio.
Per correggere il criterio da JSON a XML di esempio mostrato sopra, puoi modificare l'elemento <Source> in modo che utilizzi la variabile request, perché esiste nel flusso di richiesta:
  <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  <JSONToXML async="false" continueOnError="false" enabled="true" name="Convert-JSONToXML">
      <DisplayName>Convert-JSONToXML</DisplayName>
      <Properties/>
      <Options>
          <NullValue>NULL</NullValue>
          <NamespaceBlockName>#namespaces</NamespaceBlockName>
          <DefaultNamespaceNodeName>$default</DefaultNamespaceNodeName>
          <NamespaceSeparator>:</NamespaceSeparator>
          <TextNodeName>#text</TextNodeName>
          <AttributeBlockName>#attrs</AttributeBlockName>
          <AttributePrefix>@</AttributePrefix>
          <InvalidCharsReplacement>_</InvalidCharsReplacement>
          <ObjectRootElementName>Root</ObjectRootElementName>
          <ArrayRootElementName>Array</ArrayRootElementName>
          <ArrayItemElementName>Item</ArrayItemElementName>
      </Options>
      <OutputVariable>request</OutputVariable>
      <Source>request</Source>
  </JSONToXML>
ExecutionFailed
Codice di errore
steps.json2xml.ExecutionFailed
Corpo della risposta di errore
{ "fault": { "faultstring": "JSONToXML[policy_name]: Execution failed due to reason: Expecting { or [ at line 1", "detail": { "errorcode": "steps.json2xml.ExecutionFailed" } } }
Possibili cause
Le possibili cause di questo errore sono:
| Causa | Descrizione | 
| Payload input mancante | Il payload di input (JSON) è vuoto. | 
| Input non valido o non corretto | L'input (JSON) passato al criterio JSON-XML non è valido o è in un formato non corretto. | 
Causa: payload di input mancante
Nel criterio da JSON a XML se i contenuti (payload) della variabile specificata nell'elemento <Source> sono vuoti, si verifica questo errore.
Ad esempio, se l'elemento <Source> nel criterio JSON to XML è impostato come variabile request o response e dovrebbe contenere un payload JSON, ma se il payload è vuoto, si verifica l'errore.
Diagnosi
- Identifica il criterio JSON to XML in cui si è verificato l'errore. Puoi trovare queste informazioni nell'elemento - faultstringdella risposta all'errore. Ad esempio, nel seguente- faultstring, il nome del criterio è- Convert-JSONToXML:- "faultstring": "JSONToXML[Convert-JSONToXML]: Execution failed due to reason: Expecting { or [ at line 1"
- Esamina l'elemento - <Source>nel file XML del criterio JSON to XML con errore e determina la variabile specificata. Ad esempio, nel seguente criterio da JSON a XML l'elemento- <Source>è impostato su- request:- <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <JSONToXML async="false" continueOnError="false" enabled="true" name="Convert-JSONToXML"> <DisplayName>Convert-JSONToXML</DisplayName> <Properties/> <Options> <NullValue>NULL</NullValue> <NamespaceBlockName>#namespaces</NamespaceBlockName> <DefaultNamespaceNodeName>$default</DefaultNamespaceNodeName> <NamespaceSeparator>:</NamespaceSeparator> <TextNodeName>#text</TextNodeName> <AttributeBlockName>#attrs</AttributeBlockName> <AttributePrefix>@</AttributePrefix> <InvalidCharsReplacement>_</InvalidCharsReplacement> <ObjectRootElementName>Root</ObjectRootElementName> <ArrayRootElementName>Array</ArrayRootElementName> <ArrayItemElementName>Item</ArrayItemElementName> </Options> <OutputVariable>request</OutputVariable> <Source>request</Source> </JSONToXML>
- Controlla se la variabile specificata per l'elemento - <Source>nel criterio è vuota. Se è vuoto, questo è la causa dell'errore.- Nel criterio da JSON a XML di esempio mostrato sopra, il payload della richiesta (ossia il corpo della richiesta) inviato dal client è vuoto. - Ad esempio: - curl -v "http://<org>-<env>.apigee.net/v1/testjsontoxml" -H "Content-Type: application/json"- Poiché il payload della risposta JSON è vuoto, viene visualizzato il codice di errore: - steps.json2xml.ExecutionFailed- Questo errore può verificarsi anche se l'elemento - <Source>è impostato come risposta, ma il server di backend passa un payload vuoto.
Risoluzione
Assicurati che l'input passato al criterio da JSON a XML nell'elemento <Source> sia un payload JSON valido e che non sia vuoto.
Per risolvere il problema relativo al criterio da JSON a XML di esempio, trasmetti un payload JSON valido. Ad esempio:
- Crea un file denominato - city.jsoncon i seguenti contenuti:- { "Name":"Apigee", "City":"Bengaluru", "Pincode":"560016" }
- Effettua la chiamata API utilizzando un comando cURL come segue: - curl -v "http://<org>-<env>.apigee.net/v1/testxmltojson" -H "Content-Type: application/json" -X POST -d @company.json
Causa: input non valido o non corretto
Se il criterio da JSON a XML analizza un input non valido o non valido, viene visualizzato questo errore.
Ad esempio, se il seguente JSON non valido viene fornito come input al criterio JSON to XML,
[
    "args": ["name" : "Google" ]
]
viene visualizzato l'errore:
"faultstring": "JSONToXML[Convert-JSONToXML]: Execution failed due to reason: Expecting { or [ at line 1"
Diagnosi
- Identifica il criterio da JSON a XML in cui si è verificato l'errore. Puoi trovare queste informazioni nell'elemento - faultstringdella risposta di errore. Ad esempio, nel seguente- faultstring, il nome del criterio è- Convert-JSONToXML:- "faultstring": "JSONToXML[Convert-JSONToXML]: Execution failed due to reason: Expecting { or [ at line 1"
- Esamina l'elemento - <Source>specificato nel file XML con il criterio JSON-XML non riuscito. Ad esempio, nel seguente criterio da JSON a XML l'elemento- <Source>è impostato sulla variabile- request:- <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <JSONToXML async="false" continueOnError="false" enabled="true" name="Convert-JSONToXML"> <DisplayName>Convert-JSONToXML</DisplayName> <Properties/> <Options> <NullValue>NULL</NullValue> <NamespaceBlockName>#namespaces</NamespaceBlockName> <DefaultNamespaceNodeName>$default</DefaultNamespaceNodeName> <NamespaceSeparator>:</NamespaceSeparator> <TextNodeName>#text</TextNodeName> <AttributeBlockName>#attrs</AttributeBlockName> <AttributePrefix>@</AttributePrefix> <InvalidCharsReplacement>_</InvalidCharsReplacement> <ObjectRootElementName>Root</ObjectRootElementName> <ArrayRootElementName>Array</ArrayRootElementName> <ArrayItemElementName>Item</ArrayItemElementName> </Options> <OutputVariable>request</OutputVariable> <Source>request</Source> </JSONToXML>
- Verifica che l'input specificato nell'elemento - <Source>sia un payload JSON valido. Se l'input non è valido o è in un formato non corretto, è questa la causa dell'errore.- Supponiamo che al criterio sia stato passato il seguente JSON non valido - [ "args": ["name" : "Google" ] ]- Ecco la chiamata API di esempio che mostra come è stata passata la richiesta: - curl -v "http://<org>-<env>.apigee.net/v1/testjsontoxml" -H "Content-Type: application/json" -X POST -d '[ "args" : ["name" : "Google" ]]'- Il payload JSON passato nella richiesta non è valido perché l'oggetto JSON inizia e termina con le parentesi quadre ([ ]). Per questo motivo, ricevi il codice di errore: - steps.json2xml.ExecutionFailed- Questo errore può verificarsi anche se l'elemento - <Source>è stato impostato come risposta, ma il payload della risposta JSON non è valido o è in un formato non corretto.
Risoluzione
Assicurati che l'input trasmesso al criterio da JSON a XML nell'elemento <Source> sia valido e non in un formato corretto.
Per risolvere il problema relativo al criterio JSON to XML di esempio discusso sopra, passa una richiesta di payload JSON valida come segue:
{
  "args"  : {
        "name"  :  "Google"
   }
}
OutputVariableIsNotAvailable
Codice di errore
steps.json2xml.OutputVariableIsNotAvailable
Corpo della risposta di errore
{ "fault": { "faultstring": "JSONToXML[policy_name]: Output variable is not available.", "detail": { "errorcode": "steps.json2xml.OutputVariableIsNotAvailable" } } }
Errore di esempio
{
    "fault": {
        "faultstring": "JSONToXML[Check-JSONToXML]: Output variable is not available.",
        "detail": {
            "errorcode": "steps.json2xml.OutputVariableIsNotAvailable"
        }
    }
}
Causa
Questo errore si verifica se la variabile specificata nell'elemento <Source> del criterio JSON to XML è di tipo stringa e l'elemento <OutputVariable> non è definito. L'elemento <OutputVariable> è obbligatorio quando la variabile definita nell'elemento <Source> è di tipo stringa.
Diagnosi
- Identifica il criterio JSON to XML in cui si è verificato l'errore. Puoi trovarlo nell'elemento - faultstringdella risposta di errore. Ad esempio, nel seguente- faultstring, il nome del criterio è- Check-JSONToXML:- "faultstring": "JSONToXML[Check-JSONToXML]: Output variable is not available."
- Nel criterio JSON-XML non è stato possibile eseguire la convalida se manca - <OutputVariable>.- Il seguente criterio JSONToXML di esempio manca dell'elemento - <OutputVariable>:- <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <JSONToXML async="false" continueOnError="false" enabled="true" name="JSONToXML"> <DisplayName>Check-JSONToXML</DisplayName> <Properties/> <Options> <NullValue>NULL</NullValue> <NamespaceBlockName>#namespaces</NamespaceBlockName> <DefaultNamespaceNodeName>$default</DefaultNamespaceNodeName> <NamespaceSeparator>:</NamespaceSeparator> <TextNodeName>#text</TextNodeName> <AttributeBlockName>#attrs</AttributeBlockName> <AttributePrefix>@</AttributePrefix> <InvalidCharsReplacement>_</InvalidCharsReplacement> <ObjectRootElementName>Root</ObjectRootElementName> <ArrayRootElementName>Array</ArrayRootElementName> <ArrayItemElementName>Item</ArrayItemElementName> </Options> <Source>PostalCode</Source> </JSONToXML>
- Determina il tipo di variabile specificato nell'elemento - <Source>:- Individua il codice all'interno del proxy API in cui è stata definita per la prima volta la variabile.
- Una volta stabilito il criterio in cui la variabile viene definita e compilata per primo, devi stabilire il tipo di variabile come segue:
- Controlla il valore dell'attributo type (se presente).
- Se l'attributo type non è presente, la variabile viene considerata una stringa.
 
- Se il tipo della variabile è stringa, questa è la causa dell'errore. Per saperne di più sulle variabili comuni e sui relativi tipi, consulta il Riferimento sulle variabili.
 - Ad esempio, guarda la variabile - PostalCodenel criterio da JSON a XML riportato sopra.- Ad esempio, consideriamo che il criterio Assegna messaggio viene utilizzato per assegnare un valore a una variabile denominata - PostalCode, come mostrato di seguito:- <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <AssignMessage async="false" continueOnError="false" enabled="true" name="Assign_PostalCode"> <DisplayName>Assign_PostalCode</DisplayName> <Properties/> <AssignVariable> <Name>PostalCode</Name> <Value>{"value":"56008"}</Value> <Ref/> </AssignVariable> <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> <AssignTo createNew="false" transport="http" type="request"/> </AssignMessage>- Tieni presente che il tipo di variabile impostato in - <AssignVariable>è di tipo stringa. La variabile- PostalCodeè di tipo stringa.- A questo punto, ricorda che la variabile - PostalCodeviene utilizzata nell'elemento- <Source>del criterio JSONToXML:- <Source>PostalCode</Source>- Poiché - PostalCodeè di tipo stringa e manca l'elemento- <OutputVariable>, ricevi il codice di errore:- steps.json2xml.OutputVariableIsNotAvailable
Risoluzione
Assicurati che se la variabile specificata nell'elemento <Source> del criterio JSONToXML sia di tipo stringa, l'elemento <OutputVariable> sia definito all'interno del criterio.
Per correggere il criterio JSONToXML discusso sopra, includi un elemento <OutputVariable> come mostrato di seguito.
  <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  <JSONToXML async="false" continueOnError="false" enabled="true" name="JSONToXML">
      <DisplayName>Check-JSONToXML</DisplayName>
      <Properties/>
      <Options>
          <NullValue>NULL</NullValue>
          <NamespaceBlockName>#namespaces</NamespaceBlockName>
          <DefaultNamespaceNodeName>$default</DefaultNamespaceNodeName>
          <NamespaceSeparator>:</NamespaceSeparator>
          <TextNodeName>#text</TextNodeName>
          <AttributeBlockName>#attrs</AttributeBlockName>
          <AttributePrefix>@</AttributePrefix>
          <InvalidCharsReplacement>_</InvalidCharsReplacement>
          <ObjectRootElementName>Root</ObjectRootElementName>
          <ArrayRootElementName>Array</ArrayRootElementName>
          <ArrayItemElementName>Item</ArrayItemElementName>
      </Options>
      <OutputVariable>response</OutputVariable>
      <Source>PostalCode</Source>
  </JSONToXML>
InCompatibleTypes
Codice di errore
steps.json2xml.InCompatibleTypes
Corpo della risposta di errore
{ "fault": { "faultstring": "JSONToXML[policy_name]: String can not be assigned to message type.", "detail": { "errorcode": "steps.json2xml.InCompatibleTypes" } } }
Errore di esempio
{
    "fault": {
        "faultstring": "JSONToXML[JSONToXML_checktype]: String can not be assigned to message type.",
        "detail": {
            "errorcode": "steps.json2xml.InCompatibleTypes"
        }
    }
}
Causa
Questo errore si verifica se il tipo di variabile definita nell'elemento <Source> e nell'elemento <OutputVariable> non sono uguali. È obbligatorio che il tipo di variabili contenute nell'elemento <Source> e nell'elemento <OutputVariable> corrisponda.
I tipi validi sono message e string.
Diagnosi
- Identifica il criterio da JSON a XML in cui si è verificato l'errore. Puoi trovarlo nell'elemento - faultstringdella risposta di errore. Ad esempio, nel seguente- faultstring, il nome del criterio è- JSONToXML_checktype:- "faultstring": "JSONToXML[JSONToXML_checktype]: String can not be assigned to message type."
- Nel criterio JSON-XML non riuscito prendi nota dei valori specificati in - <OutputVariable>e- <Source>.- Considera il seguente criterio di esempio: - <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <JSONToXML async="false" continueOnError="false" enabled="true" name="JSONToXML_checktype"> <DisplayName>JSONToXML_checktype</DisplayName> <Properties/> <Options> <NullValue>NULL</NullValue> <NamespaceBlockName>#namespaces</NamespaceBlockName> <DefaultNamespaceNodeName>$default</DefaultNamespaceNodeName> <NamespaceSeparator>:</NamespaceSeparator> <TextNodeName>#text</TextNodeName> <AttributeBlockName>#attrs</AttributeBlockName> <AttributePrefix>@</AttributePrefix> <InvalidCharsReplacement>_</InvalidCharsReplacement> <ObjectRootElementName>Root</ObjectRootElementName> <ArrayRootElementName>Array</ArrayRootElementName> <ArrayItemElementName>Item</ArrayItemElementName> </Options> <OutputVariable>response</OutputVariable> <Source>PostalCode</Source> </JSONToXML>
- Determina il tipo di variabile specificato negli elementi - <Source>e- <OutputVariable>:- Individua il codice all'interno del proxy API in cui sono state definite per la prima volta tutte queste variabili.
- Una volta stabilito il criterio in cui la variabile viene definita e compilata per primo, devi stabilire il tipo di variabile come segue:
- Controlla il valore dell'attributo type (se presente).
- Se l'attributo type non è presente, la variabile viene considerata come una stringa.
 
- Se il tipo di variabile specificato in <Source>è stringa, mentre il tipo<OutputVariable>è messaggio o viceversa, è questa la causa dell'errore. Per saperne di più sulle variabili comuni e sui relativi tipi, consulta la documentazione di riferimento sulle variabili.
 - Considera ad esempio il criterio Assegna messaggio utilizzato per assegnare un valore a una variabile denominata - PostalCode, come illustrato di seguito:- <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <AssignMessage async="false" continueOnError="false" enabled="true" name="Assign_PostalCode"> <DisplayName>Assign_PostalCode</DisplayName> <Properties/> <AssignVariable> <Name>PostalCode</Name> <Value>{"value":"56008"}</Value> <Ref/> </AssignVariable> <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> <AssignTo createNew="false" transport="http" type="request"/> </AssignMessage>- Tieni presente che il tipo di variabile impostato in - <AssignVariable>è di tipo stringa; pertanto la variabile- PostalCodeè di tipo stringa.- Ora ricorda che la variabile - PostalCodeviene utilizzata nell'elemento- <Source>del criterio JSONToXML:- <Source>PostalCode</Source>- Analogamente, ricorda che la variabile - responseviene utilizzata nell'elemento- <OutputVariable>del criterio JSONToXML:- <OutputVariable>response</OutputVariable>- Poiché - PostalCodeè di tipo stringa, mentre la variabile- responseè di tipo messaggio, non sono tipi compatibili, perciò ricevi il codice di errore:- steps.json2xml.InCompatibleTypes- L'errore riportato sopra può verificarsi anche se la variabile nell'elemento - <Source>è di tipo- message, mentre la variabile nell'elemento- <OutputVariable>è di tipo stringa.
Risoluzione
Assicurati che il tipo di variabile definita nell'elemento <Source> e nell'elemento <OutputVariable> sia sempre lo stesso. È obbligatorio che il tipo di variabili contenute nell'elemento <Source> e nell'elemento <OutputVariable> corrisponda. Assicurati quindi che il tipo di elementi <Source> e <OutputVariable> sia un tipo di stringa o di messaggio.
Per correggere il criterio da JSON a XML discusso sopra, puoi dichiarare un'altra variabile PostalCode_output di tipo stringa utilizzando il criterio Assegna messaggio e utilizzare questa variabile nell'elemento <OutputVariable> del criterio JSON to XML.
Criterio Assegna messaggio modificato:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Assign_PostalCode">
    <DisplayName>Assign_PostalCode</DisplayName>
    <Properties/>
    <AssignVariable>
        <Name>PostalCode</Name>
        <Value>{"value":"56008"}</Value>
        <Ref/>
    </AssignVariable>
    <AssignVariable>
        <Name>PostalCode_output</Name>
        <Ref/>
    </AssignVariable>
    <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
    <AssignTo createNew="false" transport="http" type="request"/>
</AssignMessage>
Criterio JSONToXML modificato:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<JSONToXML async="false" continueOnError="false" enabled="true" name="JSONToXML">
    <DisplayName>JSONToXML_checktype</DisplayName>
    <Properties/>
    <Options>
        <NullValue>NULL</NullValue>
        <NamespaceBlockName>#namespaces</NamespaceBlockName>
        <DefaultNamespaceNodeName>$default</DefaultNamespaceNodeName>
        <NamespaceSeparator>:</NamespaceSeparator>
        <TextNodeName>#text</TextNodeName>
        <AttributeBlockName>#attrs</AttributeBlockName>
        <AttributePrefix>@</AttributePrefix>
        <InvalidCharsReplacement>_</InvalidCharsReplacement>
        <ObjectRootElementName>Root</ObjectRootElementName>
        <ArrayRootElementName>Array</ArrayRootElementName>
        <ArrayItemElementName>Item</ArrayItemElementName>
    </Options>
    <OutputVariable>PostalCode_output</OutputVariable>
    <Source>PostalCode</Source>
</JSONToXML>
InvalidSourceType
Codice di errore
steps.json2xml.InvalidSourceType
Corpo della risposta di errore
{ "fault": { "faultstring": "JSONToXML[class invalid_class]: Invalid source type class invalid_class. Valid source types are [message, string].", "detail": { "errorcode": "steps.json2xml.InvalidSourceType" } } }
Errore di esempio
{
    "fault": {
        "faultstring": "JSONToXML[class java.lang.Integer]: Invalid source type class java.lang.Integer. Valid source types are [message, string].",
        "detail": {
            "errorcode": "steps.json2xml.InvalidSourceType"
        }
    }
}
Causa
Questo errore si verifica se il tipo di variabile utilizzato per definire l'elemento <Source> non è valido.I tipi di variabile validi sono message e string.
Diagnosi
- Identifica il tipo di origine non valida utilizzato nel criterio da JSON a XML. Puoi trovare queste informazioni nel messaggio di errore. Ad esempio, nell'errore seguente, il tipo non valido è Numero intero. - "faultstring": "JSONToXML[class java.lang.Integer]: Invalid source type class java.lang.Integer. Valid source types are [message, string]."
- Esamina tutti i criteri da JSON a XML nel proxy API specifico in cui si è verificato l'errore. Nel criterio JSON-XML non riuscito, prendi nota del nome della variabile specificata in - <Source>.- Di seguito è riportato un criterio di esempio in cui è specificata la variabile denominata EmployeeID nell'elemento - <Source>:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<JSONToXML async="false" continueOnError="false" enabled="true" name="JSONToXML">
    <DisplayName>Check_SourceType</DisplayName>
    <Properties/>
    <Options>
        <NullValue>NULL</NullValue>
        <NamespaceBlockName>#namespaces</NamespaceBlockName>
        <DefaultNamespaceNodeName>$default</DefaultNamespaceNodeName>
        <NamespaceSeparator>:</NamespaceSeparator>
        <TextNodeName>#text</TextNodeName>
        <AttributeBlockName>#attrs</AttributeBlockName>
        <AttributePrefix>@</AttributePrefix>
        <InvalidCharsReplacement>_</InvalidCharsReplacement>
        <ObjectRootElementName>Root</ObjectRootElementName>
        <ArrayRootElementName>Array</ArrayRootElementName>
        <ArrayItemElementName>Item</ArrayItemElementName>
    </Options>
    <OutputVariable>request</OutputVariable>
    <Source>EmployeeID</Source>
</JSONToXML>
- Determina il tipo di variabile specificato nell'elemento - <Source>:- Individua il codice all'interno del proxy API in cui è stata definita prima questa variabile.
- Una volta stabilito il criterio in cui la variabile viene definita e compilata per primo, devi stabilire il tipo di variabile come segue:
- Controlla il valore dell'attributo type (se presente).
- Se l'attributo type non è presente, la variabile viene considerata come una stringa.
 
- Se il tipo della variabile specificata in <Source>non è né un tipo di messaggio né un tipo di stringa, questo è la causa dell'errore. Per saperne di più sulle variabili comuni e sui relativi tipi, consulta la documentazione di riferimento sulle variabili.
 - Ad esempio, consideriamo che il criterio ExtractVariables viene utilizzato per estrarre il valore da un payload JSON e imposta il valore sulla variabile - EmployeeIDdi tipo numero intero come mostrato di seguito:- <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ExtractVariables name="ExtractJSONVariables"> <Source>request</Source> <JSONPayload> <Variable name="EmployeeID" type="integer"> <JSONPath>$.ID</JSONPath> </Variable> </JSONPayload> </ExtractVariables>- A questo punto, ricorda che la variabile - EmployeeIDviene utilizzata nell'elemento- <Source>del criterio JSONToXML:- <Source>EmployeeID</Source>- Poiché il tipo di questa variabile è - Integer, che non è un tipo- <Source>valido, il proxy API non riesce e restituisce l'errore:- steps.json2xml.InvalidSourceType
Risoluzione
Assicurati che il tipo di variabile utilizzato per specificare l'elemento <Source> sia
  valida. I tipi di <Source> validi sono message e string.
Per evitare l'errore riportato sopra con il criterio JSONToXML, puoi utilizzare la richiesta che è di tipo message o qualsiasi altra stringa che è un payload JSON valido.