Risoluzione dei problemi di runtime durante il processo da XML a JSON

Stai visualizzando la documentazione di Apigee X.
Visualizza la documentazione di Apigee Edge.

Sorgente non disponibile

Codice di errore

steps.xml2json.SourceUnavailable

Corpo della risposta di errore

{
    "fault": {
        "faultstring": "XMLToJSON[policy_name]: Source [source_variable] is not available",
        "detail": {
            "errorcode": "steps.xmltojson.SourceUnavailable"
        }
    }
}

Esempio di messaggio di errore

{
    "fault": {
        "faultstring": "XMLToJSON[Convert-XMLToJSON]: Source response is not available",
        "detail": {
            "errorcode": "steps.xml2json.SourceUnavailable"
        }
    }
}

Causa

Questo errore si verifica se la variabile messaggio o stringa specificata nell'elemento <Source> del criterio da XML a JSON è:

  • fuori dall'ambito (non disponibile nel flusso specifico in cui il criterio è in esecuzione) oppure
  • non può essere risolto (non è definito)

Ad esempio, questo errore si verifica se è previsto che il criterio da XML a JSON venga eseguito nel flusso di richiesta, ma l'elemento <Source> è impostato sulla variabile response, che non esiste nel flusso di richiesta.

Diagnosi

  1. Identificare il criterio da XML a JSON in cui si è verificato l'errore e il nome della variabile non disponibile. Puoi trovare entrambi questi elementi nell'elemento faultstring della risposta di errore. Ad esempio, nel seguente faultstring, il nome del criterio è Convert-XMLToJSON e la variabile è response:

    "faultstring": "XMLToJSON[Convert-XMLToJSON]: Source response is not available"
    
  2. Nel file XML del criterio da XML a JSON non riuscito, verifica che il nome della variabile impostato nell'elemento <Source> corrisponda al nome della variabile identificato nella stringa di errore (passaggio 1 sopra). Ad esempio, il seguente criterio da XML a JSON specifica una variabile denominata response nell'elemento <Source>, che corrisponde a ciò che è nell'elemento faultstring:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLToJSON async="false" continueOnError="false" enabled="true" name="Convert-XMLToJSON">
        <DisplayName>Convert-XMLToJSON</DisplayName>
        <Properties/>
        <Format>google</Format>
        <OutputVariable>response</OutputVariable>
        <Source>response</Source>
    </XMLToJSON>
    
  3. Determina se la variabile utilizzata nell'elemento <Source> è definita e disponibile nel flusso in cui viene eseguito il criterio da XML a JSON.

  4. Se la variabile è:

    • fuori dall'ambito (non disponibile nel flusso specifico in cui il criterio è in esecuzione) oppure
    • non può essere risolto (non è definito)

    quindi questa è la causa dell'errore.

    Ad esempio, supponiamo che il criterio da XML a JSON mostrato sopra debba essere eseguito nel flusso request. Ricorda che la variabile response viene utilizzata nell'elemento <Source> del criterio XML in formato JSON. La variabile di risposta è disponibile solo nel flusso di risposta.

    Poiché la variabile di risposta non esiste nel flusso di richiesta, ricevi il codice di errore:

    steps.xml2json.SourceUnavailable
    

Risoluzione

Assicurati che la variabile impostata nell'elemento <Source> del criterio XML-JSON non riuscito sia definita e esista nel flusso in cui viene eseguito il criterio.

Per correggere il criterio XML di esempio mostrato sopra, puoi modificare l'elemento <Source> in modo che utilizzi la variabile request così com'è nel flusso della richiesta:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLToJSON async="false" continueOnError="false" enabled="true" name="Convert-XMLToJSON">
    <DisplayName>Convert-XMLToJSON</DisplayName>
    <Properties/>
    <Format>google</Format>
    <OutputVariable>response</OutputVariable>
    <Source>request</Source>
</XMLToJSON>

Esecuzione non riuscita

Codice di errore

steps.xml2json.ExecutionFailed

Corpo della risposta di errore

{
    "fault": {
        "faultstring": "XMLToJSON[policy_name]: Execution failed. reason: Premature end of document while parsing at line [line_number](possibly  around char [character_number])",
        "detail": {
            "errorcode": "steps.xml2json.ExecutionFailed"
        }
    }
}

Cause possibili

Ecco le possibili cause di questo errore:

Causa Descrizione
Payload input mancante Il payload di input (XML) è vuoto.
Input non valido o non valido Il testo inserito (XML) passato dal criterio XML al file JSON non è valido o non è nel formato corretto.

Causa: payload di input mancante

Nel criterio da XML a JSON se il contenuto (loadload) della variabile specificata nell'elemento <Source> è vuoto, si verifica questo errore.

Ad esempio, se l'elemento <Source> nel criterio da XML a JSON è impostato come variabile request o response e deve contenere un payload XML, questo errore si verifica se il payload è vuoto.

Diagnosi

  1. Identificare il criterio da XML a JSON in cui si è verificato l'errore. Puoi trovare queste informazioni nell'elemento faultstring della risposta di errore. Ad esempio, nel seguente faultstring, il nome del criterio è Convert-XMLToJSON:

    "faultstring": "XMLToJSON[Convert-XMLToJSON]: Execution failed. reason: Premature end of document while parsing at line 1(possibly  around char 0)"
    
  2. Esamina l'elemento <Source> nel file XML del criterio JSON non riuscito e determina la variabile specificata. Ad esempio, il seguente criterio da XML a JSON ha un elemento <Source> impostato su richiesta:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
        <XMLToJSON async="false" continueOnError="false" enabled="true" name="Convert-XMLToJSON">
        <DisplayName>Convert-XMLToJSON</DisplayName>
        <Properties/>
        <Options>
            <RecognizeNumber>true</RecognizeNumber>
            <RecognizeBoolean>true</RecognizeBoolean>
            <RecognizeNull>true</RecognizeNull>
        </Options>
        <OutputVariable>request</OutputVariable>
        <Source>request</Source>
    </XMLToJSON>
    
  3. Controlla se la variabile specificata per l'elemento <Source> nel criterio XMLToJSON è vuota. Se è vuoto, la causa dell'errore è questa.

    Nel criterio XML da esempio di cui sopra, il payload della richiesta (ovvero il corpo della richiesta) inviato dal client era vuoto.

    Ad esempio:

    curl -v "http://your_host_alias/v1/testxmltojson" -H "Content-Type: application/xml"
    

    Dove your_host_alias è un dominio visibile al pubblico utilizzato per accedere alle tue API, come configurato nella proprietà virtualhosts.hostAliases del file delle sostituzioni. Consulta la sezione Specificare le sostituzioni della configurazione.

    Poiché il payload della richiesta XML è vuoto, ricevi il codice di errore:

    steps.xml2json.ExecutionFailed
    

    Questo errore può verificarsi anche se l'elemento <Source> è impostato su risposta, ma il server di backend trasmette un payload vuoto.

Risoluzione

Assicurati che l'input passato al criterio XML in formato JSON tramite l'elemento <Source> sia un payload XML valido e non vuoto.

Per risolvere il problema relativo al criterio XML di esempio in formato JSON, trasmetti un payload XML valido. Ad esempio:

  1. Crea un file denominato city.xml con i seguenti contenuti:

    <?xml version="1.0" encoding="UTF-8"?>
    <root>
       <City>Bengaluru</City>
       <Name>Apigee</Name>
       <Pincode>560016</Pincode>
    </root>
    
  2. Effettua la chiamata API utilizzando un comando cURL come segue:

    curl -v "http://your_host_alias/v1/testxmltojson" -H "Content-Type: application/xml" -X POST -d @company.xml
    

    Dove your_host_alias è un dominio visibile al pubblico utilizzato per accedere alle tue API, come configurato nella proprietà virtualhosts.hostAliases del file delle sostituzioni. Consulta la sezione Specificare le sostituzioni della configurazione.

Causa: input non valido o non valido

Se il criterio da XML a JSON analizza un input non valido o non valido, viene visualizzato questo errore.

Ad esempio, se viene fornito il seguente XML non valido come input per il criterio da XML a JSON,

<?xml version="1.0" encoding="UTF-8"?>
<root>
   <City>Bengaluru</City>
   <Name>Apigee</Name>
   <Pincode>560016</Pincode>

viene visualizzato l'errore:

"faultstring": "XMLToJSON[Convert-XMLToJSON]: Execution failed. reason: Premature end of document while parsing at line 6(possibly  around char 0)"

Diagnosi

  1. Identificare il criterio da XML a JSON in cui si è verificato l'errore. Puoi trovare queste informazioni nell'elemento faultstring della risposta di errore. Ad esempio, nel seguente faultstring, il nome del criterio è Convert-XMLToJSON:

    "faultstring": "XMLToJSON[Convert-XMLToJSON]: Execution failed. reason: Premature end of document while parsing at line 6(possibly  around char 0)"
    
  2. Esamina l'elemento <Source> specificato nel file XML del criterio con errori JSON. Ad esempio, il seguente criterio da XML a JSON ha l'elemento <Source> impostato sulla variabile request:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
        <XMLToJSON async="false" continueOnError="false" enabled="true" name="Convert-XMLToJSON">
        <DisplayName>Convert-XMLToJSON</DisplayName>
        <Properties/>
        <Options>
            <RecognizeNumber>true</RecognizeNumber>
            <RecognizeBoolean>true</RecognizeBoolean>
            <RecognizeNull>true</RecognizeNull>
        </Options>
        <OutputVariable>request</OutputVariable>
        <Source>request</Source>
    </XMLToJSON>
    
  3. Verifica se l'input specificato nell'elemento <Source> nel criterio da XML a JSON è un payload XML valido. Se l'input non è valido o non è valido, allora è questa la causa dell'errore.

    Nel criterio XML di esempio riportato sopra, il seguente XML non valido è stato passato al criterio Estrai variabili tramite il file city.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <root>
       <City>Bengaluru</City>
       <Name>Apigee</Name>
       <Pincode>560016</Pincode>
    

    Ecco un esempio di chiamata API che mostra come è stata trasmessa la richiesta:

    curl -v "http://your_host_alias/v1/testxmltpjson" -H "Content-Type: application/xml" -X POST -d @city.xml
    

    Dove your_host_alias è un dominio visibile al pubblico utilizzato per accedere alle tue API, come configurato nella proprietà virtualhosts.hostAliases del file delle sostituzioni. Consulta la sezione Specificare le sostituzioni della configurazione.

    Il payload XML passato all'API non è valido, perché il file XML non ha un tag finale per l'elemento <root>. Quindi ricevi il codice di errore:

    steps.xml2json.ExecutionFailed
    

    Questo errore può verificarsi anche se l'elemento <Source> è stato impostato su risposta, ma il payload della risposta XML del server di backend non è valido o non è valido.

Risoluzione

Assicurati che l'input passato al file XML al criterio JSON tramite l'elemento <Source> sia valido e non valido.

Per risolvere il problema relativo al criterio XML di esempio fornito in precedenza, passa una richiesta di payload XML valida come segue:

<?xml version="1.0" encoding="UTF-8"?>
<root>
   <City>Bengaluru</City>
   <Name>Apigee</Name>
   <Pincode>560016</Pincode>
</root>

OutputVariableIsNonDisponibile

Codice di errore

steps.xml2json.OutputVariableIsNotAvailable

Corpo della risposta di errore

{
    "fault": {
        "faultstring": "XMLToJSON[policy_name]: Output variable is not available.",
        "detail": {
            "errorcode": "steps.xml2json.OutputVariableIsNotAvailable"
        }
    }
}

Esempio di messaggio di errore

{
    "fault": {
        "faultstring": "XMLToJSON[Convert-XMLToJSON]: Output variable is not available.",
        "detail": {
            "errorcode": "steps.xml2json.OutputVariableIsNotAvailable"
        }
    }
}

Causa

Questo errore si verifica se la variabile specificata nell'elemento <Source> del criterio da XML a JSON è di tipo stringa e l'elemento <OutputVariable> non è definito. L'elemento <OutputVariable> è obbligatorio quando la variabile definita nell'elemento <Source> è di tipo string.

Diagnosi

  1. Identificare il criterio da XML a JSON in cui si è verificato l'errore. Puoi trovarlo nell'elemento faultstring della risposta di errore. Ad esempio, nel seguente faultstring, il nome del criterio è Convert-XMLToJSON:

    "faultstring": "XMLToJSON[Convert-XMLToJSON]: Output variable is not available."
    
  2. Nel criterio XML-JSON non riuscito, convalida se non è presente il valore <OutputVariable>.

    Ecco un esempio di criterio XML per JSON in cui manca l'elemento <OutputVariable>.

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLToJSON async="false" continueOnError="false" enabled="true" name="Convert-XMLToJSON">
        <DisplayName>Convert-XMLToJSON</DisplayName>
        <Properties/>
        <Format>google</Format>
        <Source>TrackingNumber</Source>
    </XMLToJSON>
    
    
  3. Determina il tipo di variabile specificato nell'elemento <Source>:

    1. Trova il codice all'interno del bundle proxy dell'API, dove la variabile è stata definita per prima.
    2. Dopo aver individuato il criterio in cui la variabile viene definita e compilata per prima, devi determinare il tipo di tale variabile come segue:
      1. Controlla il valore dell'attributo "type" (se presente).
      2. Se l'attributo "type" non è presente, la variabile viene considerata una stringa.
    3. Se il tipo di variabile è string, la causa dell'errore è questa. Per saperne di più sulle variabili comuni e sui loro tipi, consulta il riferimento per le variabili.

    Ad esempio, osserva la variabile TrackingNumber nel criterio da XML a JSON sopra riportato. È di tipo stringa. Ora puoi prendere in considerazione un criterio Assegna messaggio che viene utilizzato per impostare il valore per una variabile denominata TrackingNumber, come mostrato di seguito:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <AssignMessage async="false" continueOnError="false" enabled="true" name="Assign_TrackingNumber">
        <DisplayName>Assign_TrackingNumber</DisplayName>
        <Properties/>
        <AssignVariable>
            <Name>TrackingNumber</Name>
            <Value><![CDATA[<Code>560075393539898</Code>]]></Value>
            <Ref/>
        </AssignVariable>
        <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
        <AssignTo createNew="false" transport="http" type="request"/>
    </AssignMessage>
    

    Tieni presente che il tipo di variabile impostato tramite <AssignVariable> è stringa. La variabile TrackingNumber è di tipo stringa.

    Ora, ricorda che la variabile TrackingNumber viene utilizzata nell'elemento <Source> del criterio XML To JSON:

    <Source>TrackingNumber</Source>
    

    Poiché TrackingNumber è di tipo stringa e <OutputVariable> non è presente nel criterio, riceverai il codice di errore:

    steps.xml2json.OutputVariableIsNotAvailable
    

Risoluzione

Assicurati che se la variabile specificata nell'elemento <Source> del criterio XMLToJSON sia di tipo stringa, l'elemento <OutputVariable> sia obbligatorio in questo caso.

Per correggere il criterio da XML a JSON discusso in precedenza, includi l'elemento <OutputVariable> come mostrato di seguito.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XMLToJSON async="false" continueOnError="false" enabled="true" name="Convert-XMLToJSON">
    <DisplayName>Convert-XMLToJSON</DisplayName>
    <Properties/>
    <Format>google</Format>
    <OutputVariable>response</OutputVariable>
    <Source>TrackingNumber</Source>
</XMLToJSON>

Incompatibilità

Codice di errore

steps.xml2json.InCompatibleTypes

Corpo della risposta di errore

{
    "fault": {
        "faultstring": "XMLToJSON[policy_name]: String can not be assigned to message type.",
        "detail": {
            "errorcode": "steps.xml2json.InCompatibleTypes"
        }
    }
}

Esempio di messaggio di errore

{
    "fault": {
        "faultstring": "XMLToJSON[XMLToJSON_CheckType]: String can not be assigned to message type.",
        "detail": {
            "errorcode": "steps.xml2json.InCompatibleTypes"
        }
    }
}

Causa

Questo errore si verifica se il tipo di variabile definito nell'elemento <Source> e nell'elemento <OutputVariable> non sono uguali. È obbligatorio che il tipo di variabili contenute nell'elemento <Source> corrisponda all'elemento <OutputVariable>.

The valid types are message and string.

Diagnosi

  1. Identificare il criterio da XML a JSON in cui si è verificato l'errore. Puoi trovarlo nell'elemento faultstring della risposta di errore. Ad esempio, nel seguente faultstring, il nome del criterio è XMLToJSON_CheckType:

    "faultstring": "XMLToJSON[XMLToJSON_CheckType]: String can not be assigned to message type."
    
  2. Nel criterio XML To JSON non riuscito, prendi nota dei valori specificati nel criterio <OutputVariable>.

    Di seguito è riportato un criterio XMLToJSON di esempio in cui manca l'elemento <OutputVariable>

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLToJSON async="false" continueOnError="false" enabled="true" name="XMLToJSON_CheckType">
        <DisplayName>XMLToJSON_CheckType</DisplayName>
        <Properties/>
        <Format>google</Format>
        <OutputVariable>request</OutputVariable>
        <Source>TrackingNumber</Source>
    </XMLToJSON>
    
  3. Determina il tipo di variabile specificato negli elementi <Source> e <OutputVariable>:

    1. Individua il codice nel bundle proxy dell'API, dove ogni variabile è stata definita per prima.
    2. Dopo aver individuato il criterio in cui la variabile viene definita e compilata per prima, devi determinare il tipo di tale variabile come segue:
      1. Controlla il valore dell'attributo "type" (se presente).
      2. Se l'attributo "type" non è presente, la variabile viene considerata una stringa.
    3. Se il tipo di variabile specificato in <Source> è string, mentre il tipo di <OutputVariable> è message o viceversa, questa è la causa dell'errore. Per saperne di più sulle variabili comuni e sui loro tipi, consulta il riferimento per le variabili.

    Ad esempio, considera un criterio Assegna messaggio che viene utilizzato per impostare un valore per una variabile denominata TrackingNumber, come mostrato di seguito:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <AssignMessage async="false" continueOnError="false" enabled="true" name="Assign_TrackingNumber">
        <DisplayName>Assign_TrackingNumber</DisplayName>
        <Properties/>
        <AssignVariable>
            <Name>TrackingNumber</Name>
            <Value><![CDATA[<Code>560075393539898</Code>]]></Value>
            <Ref/>
        </AssignVariable>
        <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
        <AssignTo createNew="false" transport="http" type="request"/>
    </AssignMessage>
    

    Tieni presente che il tipo di variabile impostato tramite <AssignVariable> è stringa. La variabile TrackingNumber è di tipo stringa.

    Ora, ricorda che la variabile TrackingNumber viene utilizzata nell'elemento <Source> del criterio XMLToJSON:

    <Source>TrackingNumber</Source>
    

    Analogamente, ricorda che la variabile request viene utilizzata nell'elemento <OutputVariable> del criterio XML To JSON:

    <OutputVariable>request</OutputVariable>
    

    Dato che TrackingNumber è di tipo string, mentre la variabile response è di tipo message, non sono compatibili, pertanto riceverai il codice di errore:

    steps.xml2json.InCompatibleTypes
    

    L'errore precedente può verificarsi anche se la variabile nell'elemento <Source> è di tipo message, ma la variabile nell'elemento <OutputVariable> è di tipo stringa.

Risoluzione

Assicurati che il tipo di variabile definito nell'elemento <Source> e nell'elemento <OutputVariable> siano sempre gli stessi. È obbligatorio che il tipo di variabili contenute nell'elemento <Source> corrisponda all'elemento <OutputVariable>.

Per correggere il criterio XML in formato JSON discusso in precedenza, puoi dichiarare un'altra variabile TrackingNumber_output di tipo string utilizzando il criterio Assegna messaggio e utilizzare questa variabile nell'elemento <OutputVariable> del criterio XML in formato JSON.

Criterio di assegnazione di messaggi modificato:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Assign_TrackingNumber">
    <DisplayName>Assign_TrackingNumber</DisplayName>
    <Properties/>
    <AssignVariable>
        <Name>TrackingNumber</Name>
        <Value><![CDATA[<Code>560098</Code>]]></Value>
        <Ref/>
    </AssignVariable>
    <AssignVariable>
        <Name>TrackingNumber_output</Name>
        <Ref/>
    </AssignVariable>
    <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
    <AssignTo createNew="false" transport="http" type="request"/>
</AssignMessage>

Criterio XMLToJSON modificato:

  <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  <XMLToJSON async="false" continueOnError="false" enabled="true" name="XMLToJSON_CheckType">
      <DisplayName>XMLToJSON_CheckType</DisplayName>
      <Properties/>
      <Format>google</Format>
      <OutputVariable>TrackingNumber_output</OutputVariable>
      <Source>TrackingNumber</Source>
  </XMLToJSON>

TipoOrigine non valido

Codice di errore

steps.xml2json.InvalidSourceType

Corpo della risposta di errore

{
    "fault": {
        "faultstring": "XMLToJSON[class invalid_class]: Invalid source type class invalid_class. Valid source types are [message, string].",
        "detail": {
            "errorcode": "steps.xml2json.InvalidSourceType"
        }
    }
}

Esempio di messaggio di errore

{
    "fault": {
        "faultstring": "XMLToJSON[class java.lang.Integer]: Invalid source type class java.lang.Integer. Valid source types are [message, string].",
        "detail": {
            "errorcode": "steps.xml2json.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

  1. Identificare il tipo di origine non valido utilizzato nel criterio da XML a JSON. Puoi trovare queste informazioni nel messaggio di errore. Ad esempio, il seguente tipo di errore non è intero.

    "faultstring": "XMLToJSON[class java.lang.Integer]: Invalid source type class java.lang.Integer. Valid source types are [message, string]."
    
  2. Esamina tutti i criteri da XML a JSON nel proxy API specifico in cui si è verificato l'errore. Nel criterio XML-JSON non riuscito, prendi nota del nome della variabile specificata in <Source>.

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <XMLToJSON async="false" continueOnError="false" enabled="true" name="XMLToJSON_CheckType">
        <DisplayName>XMLToJSON_CheckType</DisplayName>
        <Properties/>
        <Format>google</Format>
        <OutputVariable>response</OutputVariable>
        <Source>BookCode</Source>
    </XMLToJSON>
    
  3. Determina il tipo di variabile specificato nell'elemento <Source>:

    1. Individua il codice nel bundle proxy dell'API, dove questa variabile è stata definita per prima.
    2. Dopo aver individuato il criterio in cui la variabile viene definita e compilata per prima, devi determinare il tipo di tale variabile come segue:
      1. Controlla il valore dell'attributo "type" (se presente).
      2. Se l'attributo "type" non è presente, la variabile viene considerata una stringa.
    3. Se il tipo di variabile specificato in <Source> non è né messagestring, è questa la causa dell'errore. Per saperne di più sulle variabili comuni e sui loro tipi, consulta il riferimento per le variabili.

    Ad esempio, considera un criterio ExtractVariables utilizzato per estrarre il valore da un payload XML e impostare il valore sulla variabile BookCode come tipo integer come mostrato di seguito:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <ExtractVariables async="false" continueOnError="false" enabled="true" name="Extract_BookCode">
        <DisplayName>Extract_BookCode</DisplayName>
        <Properties/>
        <Source>request</Source>
        <XMLPayload stopPayloadProcessing="false">
            <Variable name="BookCode" type="integer">
                <XPath>/root/BookCode</XPath>
            </Variable>
        </XMLPayload>
    </ExtractVariables>
    

    Ora, ricorda che la variabile BookCode viene utilizzata nell'elemento <Source> del criterio XML To JSON:

    <Source>BookCode</Source>
    

    Poiché il tipo di questa variabile è Integer, che non è un tipo <Source> valido, il proxy API non riesce e restituisce l'errore:

    steps.xml2json.InvalidSourceType
    

Risoluzione

Assicurati che il tipo di variabile utilizzata per specificare l'elemento <Source> sia valido. I tipi di <Source> validi sono message e string.

Per evitare l'errore di cui sopra con il criterio XML di JSON, puoi utilizzare la variabile request di tipo message o qualsiasi altra stringa che sia un payload XML valido.