المحتويات

المقدمة

المتطلبات الأساسية

المتطلبات

المكونات المستخدمة

مشاكل ذاكرة الكبح

وصف آخر للمشكلة

الحل

XML في Cisco IOS XR

إستخدام واجهة برمجة تطبيقات XML

العمليات المدعومة من قبل واجهة برمجة تطبيقات XML

خدمات مخطط XML المعروضة

إنشاء استعلام

إختبار استعلامات XML

الغطس العميق XML في Cisco IOS XR

تفاعل واجهة برمجة التطبيقات مع العميل

أخطاء XML في Cisco IOS XR

عندما يكون الاستعلام خاطئا

أنواع الأخطاء

المزيد من التوصيات

المقدمة

يصف هذا المستند مشاكل خنق ذاكرة XML التي تمت رؤيتها في طلبات الخدمة وأدوات Cisco.

المتطلبات الأساسية

المتطلبات

توصي Cisco بأن تكون لديك معرفة بالمواضيع التالية:

- النظام الأساسي Cisco IOS® XR

- البنية الأساسية ل XML (لغة الترميز القابلة للتوسيع)

- بنية وسيط طلب الكائن الشائع (Corba)

- نظام إدارة العناصر (EMS)

- مدير البيانات الخارجي (EDM)

المكونات المستخدمة

تستند المعلومات الواردة في هذا المستند إلى ASR9000.

تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.

مشاكل ذاكرة الكبح

فتحت قضية مع هذه الاسئلة:

1. ما الحد الأقصى للذاكرة القابل للتكوين على الموجه؟

2. هل هناك طريقة لكسر ردود XML الكبيرة؟

الإجابة:

1. الحد الأقصى لتغيير الذاكرة بناء على الإصدار الذي يتم تشغيله بواسطة RSP/العقدة (إصدارات ل cXR و eXR)

في إصدار 64 بت (eXR). لديك حجم ذاكرة خانق واحد:

RP/0/RSP1/CPU0:XR#show version

Wed Jul 26 21:10:16.761 IST

Cisco IOS XR Software, Version 7.1.3

Copyright (c) 2013-2020 by Cisco Systems, Inc.

Build Information:

Built By     : gopalk2

Built On     : Thu Nov 26 10:51:48 PST 2020

Built Host   : iox-ucs-027

Workspace    : /auto/srcarchive17/prod/7.1.3/asr9k-x64/ws

Version      : 7.1.3

Location     : /opt/cisco/XR/packages/

Label        : 7.1.3

cisco ASR9K () processor

System uptime is 2 weeks 17 hours 22 minutes

RP/0/RSP1/CPU0:XR# configuration

RP/0/RSP1/CPU0:XR(config)#xml agent throttle ?

memory        Memory usage

process-rate  Process rate

RP/0/RSP1/CPU0:XR(config)#xml agent throttle memory ?

<100-1024>  Size of the memory usage in Mbytes per session (default 300 Mbytes)

في الإصدار 32 بت (cXR). لديك حد آخر:

RP/0/RSP0/CPU0:XR#show version

Cisco IOS XR Software, Version 6.4.2[Default]

Copyright (c) 2020 by Cisco Systems, Inc.

ROM: System Bootstrap, Version 10.59(c) 1994-2014 by Cisco Systems,  Inc.

<snip>

Configuration register on node 0/RSP0/CPU0 is 0x102

Boot device on node 0/RSP0/CPU0 is disk0:

RP/0/RSP0/CPU0:XR# configuration

RP/0/RSP0/CPU0:XR(config)#xml agent throttle memory ?

<100-600>  Size of the memory usage in Mbytes per session (default 300 Mbytes)

ملاحظة: القيمة الافتراضية في أي من الإصدارين هي 300 ميجابت

2. هناك طرق مختلفة لكسر رد XML:

- المكرر:

عند تكوين المكرر، قم بتقسيم إستجابة XML الإجمالية في حجم إطارات محدد. النافذة لها حجم التكرار. على سبيل المثال، إذا كانت الاستجابة 1 غيغابايت، وكان حجم التكرار 500 ميغابايت، فإنك تقوم بتقسيم XML إلى ردين.

تغير هذه الطريقة الاستجابة بإضافة عمليات GetNext (على أساس حجم التكرار) (ما تحتاج الاستجابة إليه).

يمكن أن يكون هناك ما يصل إلى 10 مكرر لجلسة عمل.

- تقييد (معدل العملية):

تحدد هذه الميزة الذاكرة التي تستهلكها عملية XML. في حالة تجاوز عملية للذاكرة، فإنها ترد برسالة الخطأ: "تم الوصول إلى كبح إستخدام الذاكرة".

- الدفق:

كما هو الحال مع المكرر، يقسم التدفق إستجابة XML إلى إطارات معينة. الفرق هو الاستجابة، ويزيل العملية GetNext ومعرف التكرار. يرسل XML الحزم المتدفقة ويبني العميل الاستجابة عند انتهاء الدفق.

وصف آخر للمشكلة

بالنسبة للحالات التي تحتاج إلى التشغيل التلقائي، أستخدم الأداة pyIOSXR. أداة الأتمتة هذه هي وكيل XML، وتساعد على إصدار بعض أوامر show، وبشكل عام، تتصل بالجهاز.

في كل مرة تقوم فيها بإرسال طلب كبير مع هذا الوكيل، يتم عرض خطأ:

ملاحظة: يمكن فقط لمستخدمي Cisco المسجلين الوصول إلى أدوات Cisco ومعلومات داخلية.

RESPONSE ERROR: 0xa367a600 'XML Service Library' detected the 'fatal' condition 'The throttle on the memory usage has been reached. Please optimize the request to query smaller data.'

مع عرض رسالة الخطأ "تحسين الطلب لاستعلام بيانات أصغر"، يمكنك تكوين واجهة برمجة تطبيقات XML للوكيل باستخدام المكرر. وهذا، من الناحية النظرية، يسمح بتجزئة الاستجابة.

عند تكوين المؤثرات، تظهر رسالة الخطأ نفسها: "خطأ الاستجابة... الرجاء تحسين الطلب لاستعلام بيانات أصغر".

عند عرض خطأ، تتمثل الخطوة التالية في فهم سبب عدم عمل الميزة، في هذه الحالة Iterators، للاستعلام.

يوصي pyIOSXR بتمكين عميل XML بشكل صحيح في الجهاز، مما يعني أن API لا يسمح باستخدام التكرارات.

الخطوة التالية هي إختبار الخيار الثاني: الدفق.

ملاحظة: لا يسمح لنا PyIOSXR بالعمل باستخدام رؤوس مختلفة غير استعلام XML الأساسي تحتوي على العناصر التالية:

<?xml version="1.0" encoding="UTF-8"?>

<Request MajorVersion="1" MinorVersion="0">

<Operation>

.

.

.

</Operation>

</Request>

يضيف التدفق والمكرر رأس في الاستعلامات. يضيف الدفق معرف الدفق الذي يساعد النظام على بناء الاستجابة الكاملة. يقوم المؤتمرون بإضافة GET_NEXT ومعرف التكرار.

أظهرت تجربة الدفق أيضا نفس رسالة الخطأ كالمكرر.

الحل

في القسم، يعد إجراء المزيد من "التوصيات" للاستعلامات على الجهاز، أدوات أكثر لفرز هذه المشكلات. أحرف البدل هي واحدة منها. Wildcard هو حل حد خنق الذاكرة.

تبني أحرف البدل استعلاما محددا لتجنب طلب معلومات غير ضرورية. على سبيل المثال، لمعلومات BGP، أستخدم الأمر show route bgp بدلا من الأمر show route العام. ينطبق هذا المثال على استعلامات XML ومنطقها. قد يؤدي طلب معلومات كبيرة للنظام إلى توليد مشاكل في الذاكرة والمعالجة.

عند فتح الحالة، تم إستخدام هذا الاستعلام:

<?xml version="1.0"  encoding="UTF-8"?>

<Request MajorVersion="1" MinorVersion="0">

<Get>

<Operational>

<BGP  MajorVersion="36" MinorVersion="1">

<InstanceTable>

<Instance>

<Naming>

<InstanceName>

DEFAULT

</InstanceName>

</Naming>

<InstanceActive>

<VRFTable>

<VRF>

<Naming>

<VRFName>

VRF_NAME

</VRFName>

</Naming>

<AFTable>

<AF>

<Naming>

<AFName>

NAME

</AFName>

</Naming>

<NetworkTable>

</NetworkTable>

</AF>

</AFTable>

</VRF>

</VRFTable>

</InstanceActive>

</Instance>

</InstanceTable>

</BGP>>

</Operational>

</Get>

</Request>

يستهدف هذا الاستعلام جداول BGP الكاملة. بالنسبة لهذا الطلب غير المحدد، كانت الاستجابة 2.2 غيغابايت تقريبا، لذلك، يتم الوصول إلى حد خانق الذاكرة.

لإصلاحه، يلزم استعلام محدد، وهذا يسمح للنظام بمعالجة الاستعلام وإرجاع المعلومات.

XML في Cisco IOS XR

ملاحظة: في حالة الحاجة إلى مزيد من المعلومات أو المواصفات أو الأوامر الأخرى، يرجى النقر فوق دليل برمجة XML الرابط التالي: دليل برمجة XR XML

يحدد XML كيفية عرض البيانات وهيكلتها. وهي طريقة لتحليل ما يفهمه الكمبيوتر باعتباره وحدات بت، كما تعرض معلومات منظمة وموحدة.

يحتوي XML على هذه البنية:

<init>

<body>

<message>This is an example</message>

</body>

</init>

كل العلامات لها جزئين، علامة الفتح (<init>) وعلامة الإقفال (</init>). إذا لم يتم إستخدام هذا الهيكل، فإن XML لا يستطيع فهم أين تنتهي علامة تمييز.

تم إنشاء XML من وحدتين:

- الحاويات

- ورق

مقارنة لهذه البيانات المنظمة هي مقارنة بيانات XML كشجرة. والحاوية هي فرع، وكل فرع قد جمع اوراق. لا تحتوي المنشورات على أي معلومات أخرى.

على سبيل المثال، ان جذر الشجرة التالية هو رمادي، أوعية بالأبيض، وورق بالأزرق.

إستخدام واجهة برمجة تطبيقات XML

لاختبار/إستخدام XML API أول شيء تحتاجه هو استعلام.

1. يحتوي الاستعلام على رأس:

<?xml version="1.0" encoding="UTF-8”?>

ملاحظة: هذه هي العلامة الوحيدة التي لا تحتاج إلى علامة إغلاق.

2. يجب إضافة علامة للطلب. في الطلب، يجب تحديد الإصدار.

<Request MajorVersion="1" MinorVersion="0">

3. باستخدام الرأس، الطلب، والإصدار، يستمر النص الأساسي مع أي عملية XML تمتلكها واجهة برمجة التطبيقات (API):

<Operation>

<Operation_1>

<Operation_2>

…

<Operation_n>

ملاحظة: لاحظ أن الطلبات تتضمن عمليات مختلفة في كل استعلام. ليس من الضروري إجراء طلب لكل عملية.

يعرض المثال التالي طلبا يحتوي على كافة المعلومات المطلوبة:

<?xml version="1.0" encoding="UTF-8”?>

<Request MajorVersion="1" MinorVersion="0">

<Operation></Operation>

<Operation_1></Operation_1>

<Operation_2></Operation_2>

…

<Operation_n></Operation_n>

</Request>

العمليات المدعومة من قبل واجهة برمجة تطبيقات XML

يدعم Cisco IOS XR 5 عمليات تسمح للمستخدمين بالتفاعل مع المعلومات التي يتضمنها مخطط XML:

1. عمليات البيانات الأصلية:

- <get></get>: لجمع عناصر بيانات الإجراء (البيانات التي تحتوي عليها الورقة).

- <set></set>: لتكوين عناصر البيانات أو تغييرها أو إضافتها.

- <delete></delete>: إزالة عنصر بيانات واحد أو أكثر.

- <GetVersionInfo></GetVersionInfo>: العملية التي تسترجع أرقام الإصدارات الرئيسية والثانوية للمكونات المطلوبة.

- <GetDataSpaceInfo></GetDataSpaceInfo>: تعرض علامات التشغيل هذه أسماء الأوراق التي تم تعيينها على الحاويات.

2. عمليات واجهة سطر الأوامر:

- <cli><CLI/>: العلامة التي تسمح لنا بإصدار طلب تكوين كأمر CLI.

- <GetNext><GetNext/>:إذا كانت البيانات أكبر من حجم الكتلة، تتم إضافة هذه العلامة إلى الرد التالي المقسم.

خدمات مخطط XML المعروضة

يقوم XML API بتنفيذ مساحات الأسماء التالية:

ملاحظة: في حالة الحاجة إلى رؤية الكائنات الجذرية، تفضل بزيارة: إدارة شبكة Cisco IOS-XR XML.

تحذير: تنصح بأن كل مساحة اسم تشرف على البيانات والعمليات المختلفة.

- التكوين: العملية التي تسمح بإجراءات الحصول على البيانات وتعيينها وحذفها.

- قيد التشغيل: مثل أوامر عرض واجهة سطر الأوامر (CLI).

- الإجراء: دعم الإجراء SET. باستخدام هذه العملية يمكنك الوصول إلى بيانات الإجراء، مثل أوامر المسح والأوامر المماثلة الأخرى.

- AdminOperational: الوصول إلى بيانات تشغيل المسؤول.

- AdminAction: الوصول إلى بيانات إجراء الإدارة.

- AdminConfiguration: الوصول إلى بيانات تكوين الإدارة.

إنشاء استعلام

هناك مساران مختلفان للسفر. بمجرد تحديد مساحات الأسماء للاستعلام الذي تحتاج إلى إستخدام مخطط للعمل معه:

1. وثائق مخطط XML

توفر هذه الخيارات شجرة XML كاملة تظهر الحاويات والمنشورات. للحصول على الوثائق انقر فوق مخططات CRS XML.

تظهر صفحة الوثائق.

تعرض هذه الصفحة الكائنات والحاويات والتوابع. يحتوي كل كائن على كائن تابع. إذا كان الكائن التابع لا يحتوي على أي حاوية أخرى، فإنه يعتبر ورقة.

يمكنك النقر فوق العنصر التابع، ويتم عرض المعلومات لإنشاء استعلام. على سبيل المثال لبروتوكول IPv4:

في الصورة السابقة، لأي استعلام IPv4، يمكن تشغيل عملية التكوين، باستهداف IP للحاوية، في تخطيط الحاوية، في الحاوية Services، ثم، أخيرا، في الورقة IPv4.

ملاحظة: أي عملية يلزم أن تكون ورقة طرفية لتنفيذ الاستعلام.

سيكون الاستعلام التالي:

<?xml version="1.0"  encoding="UTF-8"?>

<Request MajorVersion="1" MinorVersion="0">

<Get>

<Configurations>

<IP>

<Cinetd>

<Services>

<IPv4/>

</Services>

</Cinetd>

</IP>

</Configurations>

</Get>

</Request>

2. واجهة برمجة تطبيقات XML

يتم تضمين واجهة برمجة تطبيقات XML في Cisco IOS XRl. لرؤية شجرة XML أستخدم الأمر show xml schema. وبإصدار الأمر، يتم ملاحظة مخطط XML بالكامل في واجهة سطر الأوامر (CLI) مماثلة لنظام التشغيل Linux.

في واجهة سطر الأوامر هذه، هناك الإجراءات التالية:

؟: تماما مثل — المساعدة

ls: سرد الحاويات/المنشورات في مستخدم الفرع هو.

<operation>: من خلال الإصدار؟ يمكنك التحقق من العمليات ويمكن إصدار الأوامر:

بعض العمليات هي:

-التكوين

- adminConfig

- قرص مضغوط

- القائمة

- أوبر

-الإجراء

القرص المضغوط: تغيير الدليل/الحاوية.

يوضح المثال التالي:

RP/0/RP0/CPU0:XR#show xml schema

Username:admin

Password:

xml-schema[config]:> ?

config                   oper                     action

adminconfig              adminoper                adminaction

cd                       pwd                      classinfo

list                     ls                       datalist

walk                     walkdata                 get

hierarchy                quit                     exit

help

xml-schema[config]:> ls

[container]                   RIP

[container]                   TCL

[container]                   LawfulIntercept

[container]                   ErrorDisable

[container]                   PerfMgmt

[container]                   RCC

[container]                   FrequencySynchronization

[container]                   HwModuleProfileConfig

[container]                   MPLSStatic

[container]                   XML

[container]                   Tpa

[container]                   MLD

[leaf]                        RPIsolationEnabled

[leaf]                        RPIsolationMultiple

[container]                   AMT

[container]                   PriorityFlowControlWatchdog

[container]                   SSH

[container]                   BNG_PBR

<snip>

تحذير: لاحظ أن بيانات الاعتماد مطلوبة لتسجيل الدخول إلى الجهاز. تكون بيانات الاعتماد هذه محلية بالنسبة للجهاز وتتطلب توصيفات جذر/مسؤول.

يوضح المثال التالي كيفية إنشاء استعلام باستخدام واجهة برمجة تطبيقات XML. على سبيل المثال، يجب أن يتحقق الاستعلام مما إذا كان عامل XML ممكنا:

xml-schema[config]:> ls

[container]                   RIP

[container]                   TCL

[container]                   LawfulIntercept

[container]                   ErrorDisable

[container]                   PerfMgmt

[container]                   RCC

[container]                   FrequencySynchronization

[container]                   HwModuleProfileConfig

[container]                   MPLSStatic

[container]                   XML   >>> Here

[container]                   Tpa

[container]                   MLD

[leaf]                        RPIsolationEnabled

[leaf]                        RPIsolationMultiple

[container]                   AMT

[container]                   PriorityFlowControlWatchdog

[container]                   SSH

[container]                   BNG_PBR

[container]                   L2TP

[container]                   Exception

[container]                   IP_RAW

[container]                   MSTAG

[container]                   FpdXRConfig

xml-schema[config]:> cd XML

xml-schema[config]:XML> ls

[container]                   Agent

xml-schema[config]:XML> cd Agent

xml-schema[config]:XML.Agent> ls

[container]                   Default

[container]                   SSL

[container]                   TTY

xml-schema[config]:XML.Agent> cd TTY

xml-schema[config]:XML.Agent.TTY> ls

[leaf]                        Enable   >>> Leaf of interest.

[leaf]                        IterationSize

[leaf]                        StreamingSize

[container]                   Throttle

[container]                   Session

لاحظ المطالبة التالية:

xml-schema[config]:XML.Agent.TTY>

تعرض المطالبة السابقة شجرة XML. بهذه المعلومات يكون الاستعلام:

<?xml version="1.0"  encoding="UTF-8"?>

<Request MajorVersion="1" MinorVersion="0">

<Get>

<Configuration>

<XML>

<Agent>

<TTY></TTY>

</Agent>

</XML>

</Configuration>

</Get>

</Request>

إختبار استعلامات XML

بمجرد بناء الاستعلام، فإن الخطوة التالية هي إختباره. لاختباره، يمكنك إصدار الأمر xml echo في CLI. يمكن أرشفة هذا الإجراء في نفس الجهاز.

تلميح: كن ينصح بأنه بعد إدخال الأمر السابق، يمكن للمستخدمين نسخ/لصق الاستعلام والضغط على مفتاح الإدخال. يعرض الجهاز الاستجابة للاستعلام.

RP/0/RP0/CPU0:XR#xml echo format

XML>

XML> <?xml version="1.0"  encoding="UTF-8"?>

<Request MajorVersion="1" MinorVersion="0">

<Get>

<Configuration>

<XML>

<Agent>

<TTY></TTY>

</Agent>

</XML>

</Configuration>

</Get>

</Request>    >>> Hit enter here. Immediately getting the reply.

! Reply:

<?xml version="1.0" encoding="UTF-8"?>

<Response MajorVersion="1" MinorVersion="0">

<Get>

<Configuration>

<XML MajorVersion="1" MinorVersion="4">

<Agent>

<TTY>

<Enable>

true  >>> This is the requested value.

</Enable>

</TTY>

</Agent>

</XML>

</Configuration>

</Get>

<ResultSummary ErrorCount="0"/>

</Response>

XML> exit

يعرض الموجه الاستجابة و ResultSummary.

ملاحظة: لا تعرض إستجابة XML هذه ذاكرة كبح أو تتطلب تكوينها. يتم طلب الاستجابة، لأنها لا تستخدم أي بروتوكول SSH/TTY، بغض النظر عن الحجم. أحد الأشياء هي عميل XML وأمر صدى XML المدمج الآخر، يمكن أن يتغير السلوك.

الغطس العميق XML في Cisco IOS XR

Cisco IOS XR هو نظام قابل لإضافة وحدات أخرى يتطلب حزم مختلفة للعمل. يعتبر XML في أنظمة مستوى الإدارة الفرعية.

عند بدء تشغيل XR، كانت هناك طريقتان مختلفتان لاستخدام XML في الجهاز:

1. عامل Corba (باستخدام SSL).

2. وكيل SSH.

ملاحظة: تم إهمال Corba بعد الإصدار 3-7.

CORBA كبروتوكول قديم يستخدم SSL والذي يتم العثور عليه في حزم الأمان. من ناحية أخرى، تحتاج طريقة SSH إلى حزمة الإدارة لكي يتم إستخدامها.

وتوزع الرسالة تحت الحمراء بهذه الطريقة:

من الصورة السابقة، تظهر العملية الرئيسية ل XML في الموجه ومعالج المحول (RSP). تحتوي هذه العمليات على واجهة برمجة تطبيقات شائعة تقوم بالإشراف على جميع المعلومات من العمليات الأخرى في الجهاز، وهي:

- من موقع ذا لينكارد:

- مجمع STATS

- خادم STATS

- من معالج الموجهات:

- برنامج Stats Manager.

- SysDB.

- TCP (ل XML API يتم إستخدام TCP 38751)

- NetIO

ملاحظة: للاطلاع على مزيد من المعلومات حول هذا الأمر، تحقق من أخطاء XML في قسم Cisco IOS XR.

وفقا للطلب، يتم تشغيل عملية واحدة أو أكثر. عند تطوير أدوات التشغيل التلقائي، إذا كانت الاستجابة أكبر من حجم الكتلة، فلن تنجح الاستجابة. إذا استغرقت عملية ما وقتا طويلا للرد، فيمكن لها إنشاء سجلات EDM أو إيقاف التشغيل أو التأثير على الخدمات.

تفاعل واجهة برمجة التطبيقات مع العميل

تظهر الصورة التالية التفاعل:

لتكوين/تمكين وكيل XML على الجهاز، أستخدم:

RP/0/RP0/CPU0:XR#config

RP/0/RP0/CPU0:XR(config)#xml agent tty

RP/0/RP0/CPU0:XR(config-xml-tty)#commit

يجب أن يتفق النظام مع العميل في هذه المجالات:

1. الإصدارات

2. مخطط

يمكن تعريف الإصدارات في مجالين:

- رقم الطلب:

<Request Major Version=“1” MinorVersion=“0”>

- علامة المكونات الرئيسية:

التي تنطبق على المكون المحدد:

<BGP MajorVersion=“1” MinorVersion=“0”>

ملاحظة: تذكر أنه يمكنك التحقق من إصدار المخطط باستخدام عملية GetVersionInfo المطبقة على الحاوية.

- تحديث الإصدار الثانوي: أي إضافة لمخطط XML، مثل إضافة عنصر بيانات جديد.

- تحديث الإصدار الرئيسي: التغييرات الدلالية والحذف إلى المخطط أو المكون وما إلى ذلك.

يمكنك التحقق من الإصدار. المثال التالي يوضح كيفية القيام بذلك:

ملاحظة: عمليات XML هي GET، SET، وهكذا.

<?xml version=”1.0” encoding=“UTF-8”?>

<Request Major Version=“1” MinorVersion=“0”>

<GetVersionInfo>

<Operation/>

</GetVersionInfo>

</Request>

أستخدم الأمر xml echo الرسمي ثم قم بإضافة العلامة GetVersionInfo إلى الاستعلام للعثور على الإصدار الذي يتم تشغيله على الموجه. كما هو موضح هنا:

RP/0/RSP0/CPU0:XR#xml echo format

Mon Jul 31 13:53:50.993 UTC

XML> <?xml version="1.0"  encoding="UTF-8"?>

<Request MajorVersion="1" MinorVersion="0">

<GetVersionInfo>

<Configuration>

<XML>

<Agent>

</Agent>

</XML>

</Configuration>

</GetVersionInfo>

</Request> >>> This is the request

<?xml version="1.0" encoding="UTF-8"?>

<Response MajorVersion="1" MinorVersion="0">

<GetVersionInfo>

<Configuration>

<XML MajorVersion="1" MinorVersion="4">

<Agent>

<Default>

<VRFTable>

<VRF>

<ApplyGroup MajorVersion="2" MinorVersion="3"/>

<ExcludeGroup MajorVersion="2" MinorVersion="3"/>

<ApplyGroupAppend MajorVersion="2" MinorVersion="3"/>

<ApplyGroupRemove MajorVersion="2" MinorVersion="3"/>

</VRF>

</VRFTable>

</Default>

<SSL>

<VRFTable>

<VRF>

<ApplyGroup MajorVersion="2" MinorVersion="3"/>

<ExcludeGroup MajorVersion="2" MinorVersion="3"/>

<ApplyGroupAppend MajorVersion="2" MinorVersion="3"/>

<ApplyGroupRemove MajorVersion="2" MinorVersion="3"/>

</VRF>

</VRFTable>

</SSL>

</Agent>

</XML>

</Configuration>

</GetVersionInfo>

<ResultSummary ErrorCount="0"/>

</Response>

XML>

ملاحظة: يعرض الطلب جميع الإصدارات الجاري تشغيلها في المكون الرئيسي كما يعرض الإصدار في الحاويات الموجودة بداخله.

أخطاء XML في Cisco IOS XR

إذا كان المسار صحيحا، يعرض كل طلب XML API المعلومات المطلوبة.

عندما يكون الاستعلام خاطئا

يعرض الموجه ثلاث رسائل مختلفة:

- ItemNotFound

يتم عرض هذه الرسالة في كل مرة تحتوي فيها عملية GET على إستجابة فارغة.

- ItemNotFoundBelow

لا تحتوي عملية GET على هذه العملية في مخطط XML.

- لم يتم العثور

لا يمكن العثور على العنصر المطلوب على مستوى العنصر.

أنواع الأخطاء

1.transport: تتضمن الأخطاء في هذه الفئة أي شيء بين عميل/عميل XML. وهذا يعني أن أي تفاعل مع SSH أو أية مشكلات يمكن أن تحدث في النقل. لذلك، للتحقق من هذا النوع من المشاكل، من المقترح التحقق من آثار SSH للبحث عن أي مشكلة مع المصادقة والميناء وما إلى ذلك.

2. محلل XML: أي مشكلة في التنسيق والصياغة، مشاكل في الاستجابة المرسلة أو في الاستعلام. ترسل هذه المشاكل عادة سبب الفشل عند حدوث خطأ.

على سبيل المثال:

ERROR: 0xa367a600 'XML Service Library' detected the 'fatal' condition 'The throttle on the memory usage has been reached.

3. مخطط XML: أي مخطط مختلف عن مخطط الموجه. لمعالجة هذه المشاكل، تحقق من مخطط CLI وإصداره.

على سبيل المثال:

ErrorCode="0x43688400" ErrorMsg="&apos;XMLMDA&apos; detected the &apos;warning&apos; condition &apos;An XML request contains an element which is unrecognised or incorrectly positioned&apos

4. معالجة العملية: عند تكوين الجهاز، يمكن أن تحدث هذه المشاكل. لحل هذه المشكلات، تحتاج إلى أستكشاف أخطاء العمليات وإصلاحها، على سبيل المثال، الالتزام و sysdb وما إلى ذلك.

ملاحظة: تتم إضافة معلومات الخطأ في مستوى عنصر العملية. يتم ترميز هذا في شكل سمات ErrorCode (32-بت int) و Errormsg.

المزيد من التوصيات

تقنيات مفيدة أخرى:

1. حرف البدل: هذا يعرف أيضا باسم استعلامات محددة.

2 - التجميع: الجمع بين عدة تقنيات أو عمليات في طلب واحد (عمليات بذل قصارى الجهد).

3. التصفية المخصصة: إذا كان المخطط يسمح بذلك، للمساعدة في تحديد الصفوف في الجداول.