أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلى
مستندات Apigee X. info
SourceUnavailable
رمز الخطأ
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، الذي لا يتوفّر في مسار الطلب.
التشخيص
حدِّد سياسة XML إلى JSON التي حدث فيها الخطأ واسم المتغير غير المتاح. يمكنك العثور على كلتا السمتين في العنصر
faultstringمن ردّ الخطأ. على سبيل المثال، فيfaultstringالتالية، اسم السياسة هوConvert-XMLToJSONوالمتغيّر هوresponse:"faultstring": "XMLToJSON[Convert-XMLToJSON]: Source response is not available"في ملف 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>تحديد ما إذا كان المتغير المستخدَم في العنصر
<Source>معرَّفًا ومتاحًا في التدفق الذي يتم فيه تنفيذ سياسة XML إلى JSONإذا كان المتغير إما:
- خارج النطاق (غير متوفّر في المسار المحدّد الذي يتم فيه تنفيذ السياسة)
- لا يمكن حلّها (لم يتم تحديدها)
عندها يكون هذا هو سبب الخطأ.
على سبيل المثال، لنفترض أنّ سياسة 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>
ExecutionFailed
رمز الخطأ
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 إلى JSON غير صالح أو تم تنسيقه بشكلٍ غير صحيح. |
السبب: حمولة الإدخال غير متوفّرة
في سياسة XML إلى JSON، يحدث هذا الخطأ إذا كان محتوى المتغيّر المحدّد في العنصر <Source> فارغًا.
على سبيل المثال، إذا تم ضبط العنصر <Source> في سياسة XML إلى JSON كمتغيّر request أو response وكان من المفترض أن يحتوي على حمولة XML، يحدث هذا الخطأ إذا كانت الحمولة فارغة.
التشخيص
حدِّد سياسة 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)"افحص العنصر
<Source>في ملف XML الخاص بسياسة 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>تحقَّق ممّا إذا كان العنصر المتغيّر المحدّد للعنصر
<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 صالحة. على سبيل المثال:
أنشئ ملفًا باسم city.xml يتضمّن المحتوى التالي:
<?xml version="1.0" encoding="UTF-8"?> <root> <City>Bengaluru</City> <Name>Apigee</Name> <Pincode>560016</Pincode> </root>أرسِل طلب بيانات من واجهة برمجة التطبيقات باستخدام أمر cURL على النحو التالي:
curl -v "http://<org>-<env>.apigee.net/v1/testxmltojson" -H "Content-Type: application/xml" -X POST -d @company.xml
السبب: إدخال غير صالح أو تمت صياغته بشكل غير صحيح
يحدث هذا الخطأ إذا كانت سياسة XML إلى JSON تحلّل إدخالاً غير صالح أو غير صحيح.
على سبيل المثال، إذا تم تقديم XML غير صالح على النحو التالي كإدخال إلى سياسة XML إلى JSON،
<?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)"
التشخيص
حدِّد سياسة 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)"افحص العنصر
<Source>المحدّد في ملف XML لسياسة 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>التحقّق مما إذا كان الإدخال المحدّد في العنصر
<Source>لسياسة "تحويل XML إلى JSON" حمولة XML صالحة إذا كان الإدخال غير صالح أو تم تنسيقه بشكلٍ غير صحيح، سيكون ذلك هو سبب الخطأ.في مثال سياسة XML إلى JSON الموضّح أعلاه، تم تمرير XML غير صالح التالي إلى سياسة "استخراج المتغيرات" من خلال الملف
city.xml:<?xml version="1.0" encoding="UTF-8"?> <root> <City>Bengaluru</City> <Name>Apigee</Name> <Pincode>560016</Pincode>في ما يلي نموذج لطلب بيانات من واجهة برمجة التطبيقات يوضّح كيفية تمرير الطلب:
curl -v "http://<org>-<env>.apigee.net/v1/testxmltpjson" -H "Content-Type: application/xml" -X POST -d @city.xmlحمولة XML التي تم تمريرها إلى واجهة برمجة التطبيقات غير صالحة، لأنّ 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>
OutputVariableIsNotAvailable
رمز الخطأ
steps.xml2json.OutputVariableIsNotAvailable
نص رد الخطأ
{ "fault": { "faultstring": "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.
التشخيص
حدِّد سياسة XML إلى JSON التي حدث فيها الخطأ. يمكنك العثور على ذلك في العنصر
faultstringمن ردّ الخطأ. على سبيل المثال، فيfaultstringالتالي، يكون اسم السياسة هوConvert-XMLToJSON:"faultstring": "XMLToJSON[Convert-XMLToJSON]: Output variable is not available."في حال تعذُّر التحقّق من صحة سياسة XML إلى JSON، تحقَّق مما إذا كان
<OutputVariable>غير متوفّر.في ما يلي نموذج لسياسة XML إلى JSON يتضمّن عنصر
<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>حدِّد نوع المتغيّر المحدّد في العنصر
<Source>:- ابحث عن الرمز البرمجي داخل حزمة خادم وكيل API، حيث تم تحديد المتغيّر أولاً.
- بعد معرفة السياسة التي يتم فيها تحديد المتغيّر وتعبئته أولاً، عليك تحديد نوع هذا المتغيّر على النحو التالي:
- تحقَّق من قيمة السمة "النوع" (إذا كانت متوفّرة).
- في حال عدم توفّر السمة "النوع"، يُعدّ المتغيّر سلسلة.
- إذا كان نوع المتغيّر هو
string، سيكون هذا هو سبب الخطأ. يمكنك الاطّلاع على المتغيّرات الشائعة وأنواعها في مرجع المتغيّرات.
على سبيل المثال، اطّلِع على المتغيّر TrackingNumber في سياسة XML إلى JSON أعلاه. وهو من نوع سلسلة. الآن، لنفترض أنّ هناك سياسة "تعيين رسالة" تُستخدَم لضبط قيمة لمتغيّر باسم
TrackingNumberكما هو موضّح أدناه:<?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>يُرجى العِلم أنّ نوع المتغيّر الذي يتم ضبطه من خلال
<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" 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
رمز الخطأ
steps.xml2json.InCompatibleTypes
نص رد الخطأ
{ "fault": { "faultstring": "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": "steps.xml2json.InCompatibleTypes"
}
}
}
السبب
يحدث هذا الخطأ إذا لم يكن نوع المتغيّر المحدّد في العنصر <Source> والعنصر <OutputVariable> متطابقًا. من الضروري أن يتطابق نوع المتغيرات الواردة في العنصر <Source> مع نوع المتغيرات الواردة في العنصر <OutputVariable>.
The valid types are message and string.
التشخيص
حدِّد سياسة XML إلى JSON التي حدث فيها الخطأ. يمكنك العثور على ذلك في العنصر
faultstringمن ردّ الخطأ. على سبيل المثال، فيfaultstringالتالي، يكون اسم السياسة هوXMLToJSON_CheckType:"faultstring": "XMLToJSON[XMLToJSON_CheckType]: String can not be assigned to message type."في ملاحظة "سياسة تحويل XML إلى JSON" التي تعذّر تنفيذها، سجِّل القيم المحدّدة في
<OutputVariable>.إليك نموذج لسياسة XMLToJSON يتضمّن عنصر
<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>تحديد نوع المتغيّر المحدّد في العنصرَين
<Source>و<OutputVariable>:- ابحث عن الرمز البرمجي في حزمة خادم وكيل واجهة برمجة التطبيقات، حيث تم تحديد كل من هذه المتغيرات أولاً.
- بعد معرفة السياسة التي يتم فيها تحديد المتغيّر وتعبئته أولاً، عليك تحديد نوع هذا المتغيّر على النحو التالي:
- تحقَّق من قيمة السمة "النوع" (إذا كانت متوفّرة).
- في حال عدم توفّر السمة "النوع"، يُعدّ المتغيّر سلسلة.
- إذا كان نوع المتغيّر المحدّد في
<Source>هوstringوكان نوع<OutputVariable>هو رسالة أو العكس، يكون هذا هو سبب الخطأ. يمكنك الاطّلاع على المتغيّرات الشائعة وأنواعها في مرجع المتغيّرات.
على سبيل المثال، لنفترض أنّ هناك سياسة "تعيين رسالة" تُستخدَم لضبط قيمة لمتغيّر يُسمّى
TrackingNumberكما هو موضّح أدناه:<?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>يُرجى العِلم أنّ نوع المتغيّر الذي يتم ضبطه من خلال
<AssignVariable>هو سلسلة. إذًا، المتغيّرTrackingNumberهو من نوع سلسلة.تذكَّر الآن أنّه يتم استخدام المتغيّر
TrackingNumberفي العنصر<Source>من سياسة XMLToJSON:<Source>TrackingNumber</Source>وبالمثل، تذكَّر أنّ المتغيّر
requestيُستخدَم في العنصر<OutputVariable>من سياسة XML إلى 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" 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>
سياسة XMLToJSON المعدَّلة:
<?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
رمز الخطأ
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": "steps.xml2json.InvalidSourceType"
}
}
}
السبب
يحدث هذا الخطأ إذا كان نوع المتغيّر المستخدَم لتحديد العنصر <Source> غير صالح.نوعا المتغيّر الصالحان هما message وstring.
التشخيص
تحديد نوع المصدر غير الصالح المستخدَم في سياسة XML إلى JSON يمكنك العثور على هذه المعلومات من رسالة الخطأ. على سبيل المثال، في الخطأ التالي، النوع غير الصالح هو عدد صحيح.
"faultstring": "XMLToJSON[class java.lang.Integer]: Invalid source type class java.lang.Integer. Valid source types are [message, string]."افحص جميع سياسات XML إلى JSON في خادم وكيل واجهة برمجة التطبيقات المحدّد الذي حدث فيه الخطأ. في ملاحظة "سياسة XML إلى JSON" التي تعذّر تنفيذها، سجِّل اسم المتغير المحدّد في
<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>تحديد نوع المتغيّر المحدّد في العنصر
<Source>:- ابحث عن الرمز ضمن حزمة خادم وكيل API، حيث تم تحديد هذا المتغير أولاً.
- بعد معرفة السياسة التي يتم فيها تحديد المتغيّر وتعبئته أولاً، عليك تحديد نوع هذا المتغيّر على النحو التالي:
- تحقَّق من قيمة السمة "النوع" (إذا كانت متوفّرة).
- في حال عدم توفّر السمة "النوع"، يُعدّ المتغيّر سلسلة.
- إذا لم يكن نوع المتغيّر المحدّد في
<Source>من النوعmessageأوstring، سيكون ذلك هو سبب الخطأ. يمكنك الاطّلاع على المتغيّرات الشائعة وأنواعها في مرجع المتغيّرات.
على سبيل المثال، لنفترض أنّ هناك سياسة ExtractVariables تُستخدَم لاستخراج القيمة من حمولة XML وتعيين القيمة للمتغير
BookCodeليكون من النوعintegerكما هو موضّح أدناه:<?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>تذكَّر أنّ المتغيّر
BookCodeيُستخدَم في العنصر<Source>من سياسة XML To JSON:<Source>BookCode</Source>بما أنّ نوع هذا المتغيّر هو
Integer، وهو ليس نوع<Source>صالحًا، سيتعذّر تنفيذ خادم وكيل واجهة برمجة التطبيقات مع ظهور الخطأ:steps.xml2json.InvalidSourceType
الدقة
تأكَّد من أنّ نوع المتغيّر المستخدَم لتحديد العنصر <Source> صالح. أنواع <Source> الصالحة هي message وstring.
لتجنُّب الخطأ أعلاه في سياسة XML To JSON، يمكنك استخدام المتغيّر request الذي يكون من النوع message أو أي سلسلة أخرى تمثّل حمولة XML صالحة.