Risoluzione degli errori di runtime dei criteri da XML a JSON

Stai visualizzando la documentazione di Apigee e Apigee hybrid.
Visualizza la documentazione di Apigee Edge.

SourceUnavailable

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 message o stringa specificata nell'elemento <Source> del criterio da XML a JSON è:

  • fuori ambito (non disponibile nel flusso specifico in cui viene eseguita la norma) oppure
  • non possono essere risolti (non è definito)

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

Diagnosi

  1. Identifica il criterio da XML a JSON in cui si è verificato l'errore e il nome della variabile che non è disponibile. Puoi trovare entrambi questi elementi nell'elemento faultstring della risposta di errore. Ad esempio, nell'faultstring seguente, 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 impostata 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 al contenuto in 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 ambito (non disponibile nel flusso specifico in cui viene eseguita la norma) oppure
    • non possono essere risolti (non è definito)

    questa è la causa dell'errore.

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

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

    steps.xml2json.SourceUnavailable
    

Risoluzione

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

Per correggere il criterio da XML a JSON di esempio mostrato sopra, puoi modificare l'elemento <Source> in modo da utilizzare la variabile request esistente nel flusso di 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>

ExecutionFailed

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

Le possibili cause di questo errore sono:

Causa Description
Payload di input mancante Il payload di input (XML) è vuoto.
Input non valido o non corretto Il formato di input (XML) passato al criterio XML to JSON non è valido o è in un formato non corretto.

Causa: payload di input mancante

Nel criterio da XML a JSON, se i contenuti (payload) della variabile specificata nell'elemento <Source> sono vuoti, si verifica questo errore.

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

Diagnosi

  1. Identifica 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 con errori e determina la variabile specificata. Ad esempio, nel seguente criterio da XML a JSON è impostato l'elemento <Source> per richiedere:

    <?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, è questo il motivo dell'errore.

    Nell'esempio di criterio da XML a JSON mostrato 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 nel file di override. Consulta Specificare gli override della configurazione.

    Poiché il payload della richiesta XML è vuoto, riceverai il seguente 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 trasmesso al criterio XML nel formato JSON tramite l'elemento <Source> sia un payload XML valido e non vuoto.

Per risolvere il problema con il criterio da XML a JSON di esempio, trasmetti un payload XML valido. Ad esempio:

  1. Crea un file denominato city.xml con il seguente contenuto:

    <?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 nel file di override. Consulta Specificare gli override della configurazione.

Causa: input non valido o in un formato non corretto

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

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

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

ricevi l'errore:

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

Diagnosi

  1. Identifica 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 JSON con errore. 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 che l'input specificato nell'elemento <Source> del criterio da XML a JSON è un payload XML valido. Se l'input non è valido o in un formato non corretto, è questa la causa dell'errore.

    Nel criterio da XML a JSON di esempio mostrato sopra, il seguente codice XML non valido è stato trasmesso 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 la chiamata API di esempio 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 nel file di override. Consulta Specificare gli override della configurazione.

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

    steps.xml2json.ExecutionFailed
    

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

Risoluzione

Assicurati che l'input passato al criterio XML per il codice JSON tramite l'elemento <Source> sia valido e che non abbia un formato valido.

Per risolvere il problema relativo al criterio da XML a JSON di esempio di cui sopra, trasmetti 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>

OutputVariableIsNotAvailable

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. Identifica il criterio da XML a JSON in cui si è verificato l'errore. Puoi trovare questa opzione 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 da XML a JSON non è stato possibile verificare se manca <OutputVariable>.

    Ecco un esempio di criterio da XML a 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. Individua il codice all'interno del bundle proxy API, in cui la variabile è stata definita per prima.
    2. Una volta individuato il criterio in cui la variabile viene definita e compilata, devi determinarne il tipo nel seguente modo:
      1. Controlla il valore dell'attributo tipo (se presente).
      2. Se l'attributo type non è presente, la variabile viene considerata come una stringa.
    3. Se il tipo di variabile è string, l'errore è dovuto a questo. Per conoscere le variabili comuni e i relativi tipi, consulta Riferimento variabili.

    Ad esempio, guarda la variabile TrackingNumber nel criterio da XML a JSON precedente. È di tipo stringa. Ora prendi in considerazione un criterio Assegna messaggio utilizzato per impostare il valore su una variabile chiamata 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. Di conseguenza, la variabile TrackingNumber è di tipo stringa.

    Ricorda che la variabile TrackingNumber viene utilizzata nell'elemento <Source> del criterio da XML a JSON:

    <Source>TrackingNumber</Source>
    

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

    steps.xml2json.OutputVariableIsNotAvailable
    

Risoluzione

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

Per correggere il criterio da XML a JSON descritto sopra, 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>

InCompatibleTypes

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 della variabile definita nell'elemento <Source> e nell'elemento <OutputVariable> non corrispondono. È obbligatorio che il tipo di variabili contenute nell'elemento <Source> e nell'elemento <OutputVariable> corrispondano.

The valid types are message and string.

Diagnosi

  1. Identifica il criterio da XML a JSON in cui si è verificato l'errore. Puoi trovare questa opzione 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 da XML a JSON non riuscito, prendi nota dei valori specificati in <OutputVariable>.

    Ecco 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 all'interno del bundle proxy API, dove ognuna di queste variabili è stata definita per prima.
    2. Una volta individuato il criterio in cui la variabile viene definita e compilata, devi determinarne il tipo nel seguente modo:
      1. Controlla il valore dell'attributo tipo (se presente).
      2. Se l'attributo type non è presente, la variabile viene considerata come una stringa.
    3. Se il tipo della variabile specificata in <Source> è string, mentre il tipo di <OutputVariable> è messaggio o viceversa, è questa la causa dell'errore. Per conoscere le variabili comuni e i relativi tipi, consulta Riferimento variabili.

    Ad esempio, considera un criterio Assegna messaggio utilizzato per impostare un valore su 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. Di conseguenza, la variabile TrackingNumber è di tipo stringa.

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

    <Source>TrackingNumber</Source>
    

    Allo stesso modo, ricorda che la variabile request viene utilizzata nell'elemento <OutputVariable> del criterio da XML a JSON:

    <OutputVariable>request</OutputVariable>
    

    Poiché TrackingNumber è di tipo string mentre la variabile response è di tipo message, non sono di tipi incompatibili, pertanto riceverai il codice di errore:

    steps.xml2json.InCompatibleTypes
    

    L'errore riportato sopra 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 della variabile definita nell'elemento <Source> e nell'elemento <OutputVariable> siano sempre uguali. È obbligatorio che il tipo di variabili contenute nell'elemento <Source> e nell'elemento <OutputVariable> corrispondano.

Per correggere il criterio da XML a JSON discusso sopra, potresti dichiarare un'altra variabile TrackingNumber_output di tipo string utilizzando il criterio Assegna messaggio e utilizzare questa variabile nell'elemento <OutputVariable> del criterio da XML a JSON.

Criterio di assegnazione dei 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>

Norma XMLToJSON modificata:

  <?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>

InvalidSourceType

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. Identifica il tipo di origine non valido utilizzato nel criterio da XML a JSON. Puoi trovare queste informazioni nel messaggio di errore. Ad esempio, nell'errore seguente, il tipo non valido è numerico.

    "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 nello specifico proxy API in cui si è verificato l'errore. Nel criterio da XML a 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 all'interno del bundle proxy API, in cui questa variabile è stata definita per prima.
    2. Una volta individuato il criterio in cui la variabile viene definita e compilata, devi determinarne il tipo nel seguente modo:
      1. Controlla il valore dell'attributo tipo (se presente).
      2. Se l'attributo type non è presente, la variabile viene considerata come una stringa.
    3. Se il tipo della variabile specificato in <Source> non è di tipo message o string, significa che è questa la causa dell'errore. Per conoscere le variabili comuni e i relativi tipi, consulta Riferimento variabili.

    Prendi ad esempio un criterio ExtractVariables utilizzato per estrarre il valore da un payload XML e imposta il valore sulla variabile BookCode in modo che sia di 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>
    

    Ricorda che la variabile BookCode viene utilizzata nell'elemento <Source> del criterio da XML a JSON:

    <Source>BookCode</Source>
    

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

    steps.xml2json.InvalidSourceType
    

Risoluzione

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

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