Устранение ошибок во время выполнения политики XML в JSON

Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X.
информация

ИсточникНедоступен

Код ошибки

steps.xml2json.SourceUnavailable

Тело ответа об ошибке

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

Пример сообщения об ошибке

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

Причина

Эта ошибка возникает, если переменная сообщения или строка, указанная в элементе <Source> политики XML в JSON, имеет одно из следующих значений:

  • вне области действия (недоступно в конкретном потоке, в котором выполняется политика) или
  • не может быть решено (не определено)

Например, эта ошибка возникает, если политика XML в JSON должна выполняться в потоке запросов, но для элемента <Source> установлена ​​переменная response , которой нет в потоке запросов.

Диагностика

  1. Определите политику XML в JSON, в которой произошла ошибка, и имя недоступной переменной. Оба этих элемента можно найти в элементе faultstring ответа об ошибке. Например, в следующей faultstring имя политики — Convert-XMLToJSON , а переменная — response :

    "faultstring": "XMLToJSON[Convert-XMLToJSON]: Source response is not available"
    
  2. В XML-коде политики преобразования XML в JSON с ошибкой убедитесь, что имя переменной, установленной в элементе <Source> , соответствует имени переменной, указанной в строке ошибки (шаг № 1 выше). Например, следующая политика преобразования XML в JSON определяет переменную с именем response в элементе <Source> , которая соответствует значению в 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. Определите, определена ли переменная, используемая в элементе <Source> и доступна ли она в потоке, в котором выполняется политика XML в JSON.

  4. Если переменная:

    • вне области действия (недоступно в конкретном потоке, в котором выполняется политика) или
    • не может быть решено (не определено)

    тогда это причина ошибки.

    В качестве примера предположим, что политика преобразования XML в JSON, показанная выше, должна выполняться в потоке запросов . Напомним, что переменная response используется в элементе <Source> политики преобразования XML в JSON. Переменная ответа доступна только в потоке ответов.

    Поскольку переменная ответа не существует в потоке запроса, вы получаете код ошибки:

    steps.xml2json.SourceUnavailable
    

Разрешение

Убедитесь, что переменная, установленная в элементе <Source> неудачной политики XML в JSON, определена и существует в потоке выполнения политики.

Чтобы исправить пример политики XML в JSON, показанный выше, вы можете изменить элемент <Source> , чтобы использовать переменную 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/>
    <Format>google</Format>
    <OutputVariable>response</OutputVariable>
    <Source>request</Source>
</XMLToJSON>

Выполнение не удалось

Код ошибки

steps.xml2json.ExecutionFailed

Тело ответа об ошибке

{
    "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"
        }
    }
}

Возможные причины

Возможные причины этой ошибки:

Причина Описание
Отсутствуют входные полезные данные Входные полезные данные (XML) пусты.
Неверный или неверный ввод Входные данные (XML), переданные в политику XML to JSON, недействительны или имеют неверный формат.

Причина: отсутствуют входные полезные данные.

В политике XML to JSON, если содержимое (полезная нагрузка) переменной, указанной в элементе <Source> , пусто, возникает эта ошибка.

Например, если элемент <Source> в политике XML to JSON установлен как переменная request или response и предполагается, что он содержит полезные данные XML, эта ошибка возникает, если полезные данные пусты.

Диагностика

  1. Определите политику XML в JSON, в которой произошла ошибка. Эту информацию можно найти в элементе faultstring ответа об ошибке. Например, в следующей faultstring имя политики — Convert-XMLToJSON :

    "faultstring": "XMLToJSON[Convert-XMLToJSON]: Execution failed. reason: Premature end of document while parsing at line 1(possibly  around char 0)"
    
  2. Проверьте элемент <Source> в ошибочном XML-коде политики преобразования XML в JSON и определите указанную переменную. Например, в следующей политике преобразования XML в JSON элемент <Source> установлен для запроса:

    <?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. Проверьте, пуста ли переменная, указанная для элемента <Source> в политике XMLToJSON. Если он пуст, то это и есть причина ошибки.

    В примере политики XML в JSON, показанном выше, полезные данные запроса (т. е. тело запроса), отправленные клиентом, были пустыми.

    Например:

    curl -v "http://<org>-<env>.apigee.net/v1/testxmltojson" -H "Content-Type: application/xml"
    

    Поскольку полезные данные XML-запроса пусты, вы получаете код ошибки:

    steps.xml2json.ExecutionFailed
    

    Эта ошибка также может возникнуть, если для элемента <Source> установлено значение ответа, но внутренний сервер передает пустые полезные данные.

Разрешение

Убедитесь, что входные данные, передаваемые в политику XML в JSON через элемент <Source> , являются допустимыми полезными данными XML и не пустыми.

Чтобы устранить проблему с примером политики XML в JSON, передайте допустимые полезные данные XML. Например:

  1. Создайте файл city.xml со следующим содержимым:

    <?xml version="1.0" encoding="UTF-8"?>
    <root>
       <City>Bengaluru</City>
       <Name>Apigee</Name>
       <Pincode>560016</Pincode>
    </root>
    
  2. Выполните вызов API с помощью команды cURL следующим образом:

    curl -v "http://<org>-<env>.apigee.net/v1/testxmltojson" -H "Content-Type: application/xml" -X POST -d @company.xml
    

Причина: неверный или неправильный ввод.

Если политика XML в JSON анализирует недопустимые или искаженные входные данные, вы получаете эту ошибку.

Например, если в качестве входных данных для политики XML в JSON указан следующий недопустимый XML:

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

вы получите ошибку:

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

Диагностика

  1. Определите политику XML в JSON, в которой произошла ошибка. Эту информацию можно найти в элементе faultstring ответа об ошибке. Например, в следующей faultstring имя политики — Convert-XMLToJSON :

    "faultstring": "XMLToJSON[Convert-XMLToJSON]: Execution failed. reason: Premature end of document while parsing at line 6(possibly  around char 0)"
    
  2. Проверьте элемент <Source> , указанный в ошибочном XML-коде политики преобразования JSON. Например, в следующей политике преобразования XML в JSON элемент <Source> имеет значение переменной 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. Убедитесь, что входные данные, указанные в элементе <Source> политики XML To JSON, являются допустимыми полезными данными XML. Если ввод недействителен или неверен, это и есть причина ошибки.

    В примере политики XML в JSON, показанном выше, следующий недопустимый XML был передан в политику извлечения переменных через файл city.xml :

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

    Вот пример вызова API, который показывает, как был передан запрос:

    curl -v "http://<org>-<env>.apigee.net/v1/testxmltpjson" -H "Content-Type: application/xml" -X POST -d @city.xml
    

    Полезная нагрузка XML, переданная в API, недействительна, поскольку XML не имеет закрывающего тега для элемента <root> . Итак, вы получаете код ошибки:

    steps.xml2json.ExecutionFailed
    

    Эта ошибка также может возникнуть, если для элемента <Source> установлено значение ответа, но полезные данные ответа XML от внутреннего сервера недействительны или имеют неправильный формат.

Разрешение

Убедитесь, что входные данные, передаваемые в политику XML в JSON через элемент <Source> , действительны и не имеют искажений.

Чтобы устранить проблему с примером политики XML в JSON, описанной выше, передайте действительный запрос полезных данных XML следующим образом:

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

ВыходнаяVariableIsNotAvailable

Код ошибки

steps.xml2json.OutputVariableIsNotAvailable

Тело ответа об ошибке

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

Пример сообщения об ошибке

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

Причина

Эта ошибка возникает, если переменная, указанная в элементе <Source> политики XML для JSON, имеет строковый тип, а элемент <OutputVariable> не определен. Элемент <OutputVariable> является обязательным, если переменная, определенная в элементе <Source> , имеет тип string .

Диагностика

  1. Определите политику XML в JSON, в которой произошла ошибка. Вы можете найти это в элементе faultstring ответа об ошибке. Например, в следующей faultstring имя политики — Convert-XMLToJSON :

    "faultstring": "XMLToJSON[Convert-XMLToJSON]: Output variable is not available."
    
  2. В неудавшейся политике XML в JSON проверьте, отсутствует ли <OutputVariable> .

    Ниже приведен пример политики преобразования XML в JSON, в которой отсутствует элемент <OutputVariable> .

    <?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
    XMLToJSON async="false" continueOnError="f>alse&<quot; enabl>ed="true&quo<t; name=&quo>t;Con<vert-XMLToJ>SON&q<uot;
     >   Dis<playNam>eConv<ert-XM>LToJSON/Displa<yName
     > <  Properti>es/
        Formatgoogle/Format
        SourceTrackingNumber/Source
    /XMLToJSON
    
    
  3. Определите тип переменной, указанной в элементе <Source> :

    1. Найдите код в пакете прокси-сервера API, где переменная была определена первой.
    2. После того, как вы определите политику, в которой переменная определяется и заполняется в первую очередь, вам необходимо определить тип этой переменной следующим образом:
      1. Проверьте значение атрибута type (если он присутствует).
      2. Если атрибут type отсутствует, переменная считается строкой.
    3. Если тип переменной — string , то это и есть причина ошибки. Вы можете узнать об распространенных переменных и их типах в справочнике по переменным .

    Например, посмотрите на переменную TrackingNumber в приведенной выше политике XML в JSON. Это строковый тип. Теперь рассмотрим политику назначения сообщений, которая используется для установки значения переменной TrackingNumber , как показано ниже:

    <?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
    AssignMessage async="false" continueOnError="false>"<; enabled=&>quot;true" name=<"Assign>_Trac<kingNumber&>quot;<
        DisplayNa>meAssign_<Trac>kingNumber/Dis<playN>ame
        P<roper><ties/
      <  As>signVariable
      <     > N><ameTra>ckingNumb<er/N>ame
     <       Value![C>DATA[<Code560075393539898/Code]>]/Va<lue
            Ref/
        /Assi>gnVar<iable
        IgnoreUnresolvedVariablestrue/IgnoreUnresolvedVar>i<ables
        Assi>gnTo createNew="false" transport="http" type="request"/
    /AssignMessage
    

    Обратите внимание, что тип переменной, заданный с помощью <AssignVariable> является строкой. Таким образом, переменная TrackingNumber имеет строковый тип.

    Теперь вспомните, что переменная TrackingNumber используется в элементе <Source> политики XML To JSON:

    <Source>TrackingNumber</Source>
    

    Поскольку TrackingNumber имеет строковый тип, а <OutputVariable> отсутствует в политике, вы получаете код ошибки:

    steps.xml2json.OutputVariableIsNotAvailable
    

Разрешение

Убедитесь, что если переменная, указанная в элементе <Source> политики XMLToJSON, имеет строковый тип, элемент <OutputVariable> в этом случае является обязательным.

Чтобы исправить политику XML в JSON, описанную выше, включите элемент <OutputVariable> , как показано ниже.

<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
XMLToJSON async="false" continueOnError="f>alse&<quot; enabl>ed="true&quo<t; name=&quo>t;Con<vert-XMLToJ>SON&q<uot;
 >   Dis<playNam>eConv<ert-XMLToJSON/>DisplayN<ame
    Propert>ies/
<    Fo>rmatgoogle/For<mat
   > <OutputVari>ableresponse/OutputVariable
    SourceTrackingNumber/Source
/XMLToJSON

Инсовместимыетипы

Код ошибки

steps.xml2json.InCompatibleTypes

Тело ответа об ошибке

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

Пример сообщения об ошибке

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

Причина

Эта ошибка возникает, если тип переменной, определенной в элементе <Source> и элементе <OutputVariable> , не совпадает. Обязательно, чтобы тип переменных, содержащихся в элементе <Source> и элементе <OutputVariable> , совпадал.

The valid types are message and string.

Диагностика

  1. Определите политику XML в JSON, в которой произошла ошибка. Вы можете найти это в элементе faultstring ответа об ошибке. Например, в следующей faultstring имя политики — XMLToJSON_CheckType :

    "faultstring": "XMLToJSON[XMLToJSON_CheckType]: String can not be assigned to message type."
    
  2. В неудачной политике XML To JSON обратите внимание на значения, указанные в <OutputVariable> .

    Вот пример политики XMLToJSON, в которой отсутствует элемент <OutputVariable>

    <?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
    XMLToJSON async="false" continueOnError="fal>se&qu<ot; enabled>="true" n<ame="XM>LToJS<ON_CheckTyp>e&quo<t;
       > Displ<ayNameX>MLToJ<SON_CheckType/>Display<Name
        Proper>ties/<
        F>ormatgoogle/Fo<rmat
      > < OutputVar>iablerequest/OutputVariable
        SourceTrackingNumber/Source
    /XMLToJSON
    
  3. Определите тип переменной, указанной в элементах <Source> и <OutputVariable> :

    1. Найдите код в пакете API Proxy, где каждая из этих переменных была определена первой.
    2. После того, как вы определите политику, в которой переменная определяется и заполняется в первую очередь, вам необходимо определить тип этой переменной следующим образом:
      1. Проверьте значение атрибута type (если он присутствует).
      2. Если атрибут type отсутствует, переменная считается строкой.
    3. Если тип переменной, указанной в <Source> , является string , а тип <OutputVariable> — сообщением или наоборот, это и есть причина ошибки. Вы можете узнать об распространенных переменных и их типах в справочнике по переменным .

    В качестве примера рассмотрим политику назначения сообщений, которая используется для установки значения переменной TrackingNumber , как показано ниже:

    <?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
    AssignMessage async="false" continueOnError="false>"<; enabled=&>quot;true" name=<"Assign>_Trac<kingNumber&>quot;<
        DisplayNa>meAssign_<Trac>kingNumber/Dis<playN>ame
        P<roper><ties/
      <  As>signVariable
      <     > N><ameTra>ckingNumb<er/N>ame
     <       Value![C>DATA[<Code560075393539898/Code]>]/Va<lue
            Ref/
        /Assi>gnVar<iable
        IgnoreUnresolvedVariablestrue/IgnoreUnresolvedVar>i<ables
        Assi>gnTo createNew="false" transport="http" type="request"/
    /AssignMessage
    

    Обратите внимание, что тип переменной, заданный с помощью <AssignVariable> является строкой. Таким образом, переменная TrackingNumber имеет строковый тип.

    Теперь вспомните, что переменная TrackingNumber используется в элементе <Source> политики XMLToJSON:

    <Source>TrackingNumber</Source>
    

    Аналогично, напомним, что переменная request используется в элементе <OutputVariable> политики XML To JSON:

    <OutputVariable>request</OutputVariable>
    

    Поскольку TrackingNumber имеет тип string , а переменная response имеет тип message , они являются несовместимыми типами, поэтому вы получаете код ошибки:

    steps.xml2json.InCompatibleTypes
    

    Вышеуказанная ошибка также может возникнуть, если переменная в элементе <Source> имеет тип message , а переменная в элементе <OutputVariable> имеет строковый тип.

Разрешение

Убедитесь, что тип переменной, определенной в элементе <Source> и элементе <OutputVariable> , всегда один и тот же. Обязательно, чтобы тип переменных, содержащихся в элементе <Source> и элементе <OutputVariable> , совпадал.

Чтобы исправить описанную выше политику XML в JSON, вы можете объявить другую переменную TrackingNumber_output типа string с помощью политики назначения сообщений и использовать эту переменную в элементе <OutputVariable> политики XML в JSON.

Измененная политика назначения сообщений:

<?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
AssignMessage async="false" continueOnError="false>"<; enabled=&>quot;true" name=<"Assign>_Trac<kingNumber&>quot;<
    DisplayNa>meAssign_<Trac>kingNumber/Dis<playN>ame
    P<roper><ties/
  <  As>signVa<riabl>e<>/span>
<      >  NameTra<ckin>gNumb<er/Name
       > Valu<e![CDATA[Code5>60098/Cod<e]]/>Value
        Ref/
  <  /As>signVaria<ble<>/span>
    A<ssignVariable
 >     <  NameTrackingNumber_outp>ut/N<ame
        Ref/
    /Assi>gnVar<iable
    IgnoreUnresolvedVariablestrue/IgnoreUnresolvedVar>i<ables
    Assi>gnTo createNew="false" transport="http" type="request"/
/AssignMessage

Измененная политика XMLToJSON:

  <?xml version="1.0" encoding="UTF-8&quo>t; <standalone="yes"?
  XMLToJSON async="false" continueOnError="fal>se"<; enabled=&>quot;true" nam<e="XMLT>oJSON_C<heckType&qu>ot;
   <   Dis>playNa<meXMLTo>JSON_Ch<eckType/Displa>yName
      Propertie<s/
      Format>google/<Format>
      OutputV<ariable>Tra<ckingNumbe>r_output/OutputVariable
      SourceTrackingNumber/Source
  /XMLToJSON

Инвалидсаурцетип

Код ошибки

steps.xml2json.InvalidSourceType

Тело ответа об ошибке

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

Пример сообщения об ошибке

{
    "fault": {
        "faultstring": "XMLToJSON[class java.lang.Integer]: Invalid source type class java.lang.Integer. Valid source types are [message, string].",
        "detail": {
            "errorcode": &quot;steps.xml2json.InvalidSourceType"
        }
    }
}

Причина

Эта ошибка возникает, если тип переменной, используемой для определения элемента <Source> недействителен. Допустимыми типами переменных являются message и string .

Диагностика

  1. Определите недопустимый тип источника, используемый в политике преобразования XML в JSON. Эту информацию можно найти в сообщении об ошибке. Например, в следующей ошибке недопустимый тип — целое число.

    "faultstring": "XMLToJSON[class java.lang.Integer]: Invalid source type class java.lang.Integer. Valid source types are [message, string]."
    
  2. Изучите все политики преобразования XML в JSON в конкретном прокси-сервере API, где произошел сбой. В неудачной политике XML To JSON обратите внимание на имя переменной, указанной в <Source> .

    <?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
    XMLToJSON async="false" continueOnError="fal>se&qu<ot; enabled>="true" n<ame="XM>LToJS<ON_CheckTyp>e&quo<t;
       > Displ<ayNameX>MLToJ<SON_CheckType/>DisplayN<ame
        Propert>ies/
    <    Fo>rmatgoog<le/Form>a<t
        Outp>utVariableresponse/OutputVariable
        SourceBookCode/Source
    /XMLToJSON
    
  3. Определите тип переменной, указанной в элементе <Source> :

    1. Найдите код в пакете прокси-сервера API, где эта переменная была определена первой.
    2. После того, как вы определите политику, в которой переменная определяется и заполняется в первую очередь, вам необходимо определить тип этой переменной следующим образом:
      1. Проверьте значение атрибута type (если он присутствует).
      2. Если атрибут type отсутствует, переменная считается строкой.
    3. Если тип переменной, указанной в <Source> не является ни message , ни string типом, это и есть причина ошибки. Вы можете узнать об распространенных переменных и их типах в справочнике по переменным .

    В качестве примера рассмотрим политику ExtractVariables, которая используется для извлечения значения из полезных данных XML и устанавливает для переменной BookCode значение integer типа, как показано ниже:

    <?xml version="1.0" encoding="UTF-8&quo>t<; standalone="yes"?
    ExtractVariables async="false" continueOnError=">false<" enab>led="true&q<uot; name=&q>uot;E<xtract_Book>Code&<quot;<>/span>
        Dis<playNam>eExtr<act_BookCode/DisplayName
        Properties/>
        Sour<cerequest/Source
        XMLPayload stopPay>loadProcessin<g=&qu>ot;false"<
         >   Variab<le name=&>quot;<BookCode&qu>o<t; type="int>eger"
                XPath/root/BookCode/XPath
            /Variable
        /XMLPayload
    /ExtractVariables
    

    Теперь вспомните, что переменная BookCode используется в элементе <Source> политики XML To JSON:

    <Source>BookCode</Source>
    

    Поскольку тип этой переменной — Integer , который не является допустимым типом <Source> , прокси-сервер API завершается с ошибкой:

    steps.xml2json.InvalidSourceType
    

Разрешение

Убедитесь, что тип переменной, используемой для указания элемента <Source> , допустим. Допустимыми типами <Source> являются message и string .

Чтобы избежать вышеуказанной ошибки с политикой XML To JSON, вы можете использовать переменную request типа message или любую другую строку, которая является допустимой полезной нагрузкой XML.