আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশনে যান । তথ্য

SOAPMessageValidation নীতি নিম্নলিখিত কাজ করে:
- তাদের XSD স্কিমাগুলির বিরুদ্ধে যেকোনো XML বার্তা যাচাই করে৷
- একটি WSDL সংজ্ঞার বিরুদ্ধে SOAP বার্তা যাচাই করে
- JSON এবং XML বার্তাগুলির সুগঠিততা নির্ধারণ করে
UI-তে এই নীতির নাম হল "SOAP মেসেজ ভ্যালিডেশন", পলিসিটি শুধু SOAP মেসেজের চেয়ে বেশি বৈধ করে। এই বিভাগটি নীতিকে "বার্তা যাচাইকরণ নীতি" হিসাবে উল্লেখ করে।
<MessageValidation>
উপাদান
বার্তা যাচাইকরণ নীতি সংজ্ঞায়িত করে।
ডিফল্ট মান | নীচে ডিফল্ট নীতি ট্যাব দেখুন |
প্রয়োজন? | ঐচ্ছিক |
টাইপ | জটিল বস্তু |
অভিভাবক উপাদান | n/a |
শিশু উপাদান | <DisplayName> <Element> <ResourceURL> <SOAPMessage> <Source> |
সিনট্যাক্স
<MessageValidation>
উপাদানটি নিম্নলিখিত সিনট্যাক্স ব্যবহার করে:
<MessageValidation continueOnError="[false|true]" enabled="[true|false]" name="policy_name" > <!-- All MessageValidation child elements are optional --> <DisplayName>policy_display_name</DisplayName> <Element namespace="element_namespace">element_to_validate</Element> <SOAPMessage version="[ 1.1 | 1.2 | 1.1/1.2 ]"/> <Source>message_to_validate</Source> <ResourceURL>validation_WSDL_or_XSD</ResourceURL> </MessageValidation>
ডিফল্ট নীতি
নিম্নলিখিত উদাহরণটি ডিফল্ট সেটিংস দেখায় যখন আপনি এজ UI-তে আপনার প্রবাহে একটি বার্তা যাচাইকরণ নীতি যোগ করেন:
<MessageValidation continueOnError="false" enabled="true" name="SOAP-Message-Validation-1"> <DisplayName>SOAP Message Validation-1</DisplayName> <Properties/> <Element namespace="http://sample.com">sampleObject</Element> <SOAPMessage/> <Source>request</Source> <ResourceURL>wsdl://SOAP-Message-Validation-1.wsdl</ResourceURL> </MessageValidation>
এই উপাদানটির নিম্নলিখিত বৈশিষ্ট্যগুলি রয়েছে যা সমস্ত নীতিতে সাধারণ:
বৈশিষ্ট্য | ডিফল্ট | প্রয়োজন? | বর্ণনা |
---|---|---|---|
name | N/A | প্রয়োজন | নীতির অভ্যন্তরীণ নাম। ঐচ্ছিকভাবে, ম্যানেজমেন্ট UI প্রক্সি এডিটরে নীতিটিকে একটি ভিন্ন, প্রাকৃতিক-ভাষা নামের সাথে লেবেল করতে |
continueOnError | মিথ্যা | ঐচ্ছিক | একটি নীতি ব্যর্থ হলে একটি ত্রুটি ফেরত দিতে "false" এ সেট করুন৷ এটি বেশিরভাগ নীতির জন্য প্রত্যাশিত আচরণ। একটি নীতি ব্যর্থ হওয়ার পরেও প্রবাহ সম্পাদন অব্যাহত রাখতে "সত্য" তে সেট করুন৷ |
enabled | সত্য | ঐচ্ছিক | নীতি প্রয়োগ করতে "সত্য" এ সেট করুন। নীতিটি "বন্ধ" করতে "মিথ্যা" এ সেট করুন। নীতিটি প্রবাহের সাথে সংযুক্ত থাকলেও তা কার্যকর করা হবে না। |
async | মিথ্যা | অবচয় | এই বৈশিষ্ট্যটি অবমূল্যায়ন করা হয়েছে৷ |
উদাহরণ
নিম্নলিখিত উদাহরণগুলি কিছু উপায় দেখায় যেখানে আপনি বার্তা যাচাইকরণ নীতি ব্যবহার করতে পারেন:
1: XSD বৈধতা
আপনি একটি XSD স্কিমার বিরুদ্ধে একটি XML বার্তা অনুরোধের পেলোড যাচাই করতে বার্তা যাচাইকরণ নীতি ব্যবহার করতে পারেন৷
- একটি নতুন XSD রিসোর্স ফাইল তৈরি করুন। উদাহরণস্বরূপ, "note-schema.xsd":
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="note"> <xs:complexType> <xs:sequence> <xs:element name="to" type="xs:string"/> <xs:element name="from" type="xs:string"/> <xs:element name="heading" type="xs:string"/> <xs:element name="body" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
- আপনার প্রক্সি এন্ডপয়েন্টের প্রাক-প্রবাহে SOAP বার্তা যাচাইকরণ নীতি যোগ করুন:
-
<ResourceURL>
উপাদানের সাথে আপনার XSD রিসোর্স ফাইলের অবস্থান নির্দিষ্ট করুন। যেমন:... <ResourceURL>xsd://note-schema.xsd</ResourceURL> ...
- নীতির সংজ্ঞা থেকে
<SOAPMessage>
এবং<Element>
উপাদানগুলি সরান।
আপনার নীতি সংজ্ঞা নিম্নলিখিত মত হওয়া উচিত:
<MessageValidation continueOnError="false" enabled="true" name="validateXMLRequest"> <DisplayName>My XML Validator</DisplayName> <Properties/> <Source>request</Source> <ResourceURL>xsd://note-schema.xsd</ResourceURL> </MessageValidation>
-
- বার্তা পেলোড হিসাবে আপনার XML সহ আপনার API প্রক্সিতে একটি
POST
অনুরোধ পাঠান, যেমনটি নিম্নলিখিত উদাহরণটি দেখায়:curl -v -X POST -H 'Content-Type: application/xml' http://my-test.apigee.net/v1/xsd-mock -d '<note> <to>Fred Rogers</to> <from>Nick Danger</from> <heading>Greetings from my neighborhood</heading> <body>Just writing to say hello.</body> </note>'
লক্ষ্য করুন যে
Content-type
শিরোনাম "অ্যাপ্লিকেশন/এক্সএমএল" এ সেট করা আছে।আপনি পেলোডের জন্য একটি ডেটা ফাইলও তৈরি করতে পারেন এবং নিম্নলিখিতগুলির মতো একটি কমান্ড দিয়ে এটি উল্লেখ করতে পারেন:
curl -v -X POST -H 'Content-type: application/xml' http://my-test.apigee.net/v1/xsd-mock --data '@../examples/note-payload.xml'
আপনার একটি HTTP 200
প্রতিক্রিয়া পাওয়া উচিত। আপনার টার্গেট এন্ডপয়েন্টের উপর নির্ভর করে, আপনি অনুরোধ সম্পর্কে অতিরিক্ত বিবরণ পেতে পারেন। উদাহরণ স্বরূপ, আপনি যদি আপনার টার্গেট এন্ডপয়েন্ট হিসেবে http://httpbin.org/post
ব্যবহার করেন এবং -v
(verbose) আউটপুট নির্দিষ্ট করেন, তাহলে প্রতিক্রিয়া নিম্নলিখিতগুলির মতো হওয়া উচিত:
< HTTP/1.1 200 OK < Date: Wed, 16 May 2018 21:24:54 GMT < Content-Type: application/xml < Content-Length: 431 < Connection: keep-alive < Server: gunicorn/19.8.1 < Access-Control-Allow-Origin: * < Access-Control-Allow-Credentials: true < Via: 1.1 vegur { "args":{}, "data":"<note><to>fred</to><from>nick</from><heading>hello</heading> <body>Just writing to say hello.</body></note>", "files":{}, "form":{}, "headers": { "Accept":"*/*", "Connection":"close", "Content-Length":"106", "Content-Type":"application/xml", "Host":"httpbin.org", "User-Agent":"curl/7.58.0" }, "json":null, "origin":"10.1.1.1, 104.154.179.1", "url":"http://httpbin.org/post" }
আপনার XSD বৈধতা কাজ করছে কিনা তা যাচাই করতে, আপনার অনুরোধের মূল অংশে অন্য ট্যাগ ঢোকানোর চেষ্টা করুন। যেমন:
curl -v -X POST -H 'Content-Type: application/xml' http://my-test.apigee.net/v1/xsd-mock -d '<note> <to>Fred Rogers</to> <from>Nick Danger</from> <heading>Greetings from my neighborhood</heading> <body>Just writing to say hello.</body> <badTag>Not good</badTag> </note>'
আপনি একটি বৈধতা ত্রুটি প্রাপ্ত করা উচিত.
2: SOAP বৈধতা
আপনি WSDL এর বিরুদ্ধে একটি SOAP বার্তা অনুরোধের পেলোড যাচাই করতে বার্তা যাচাইকরণ নীতি ব্যবহার করতে পারেন।
- একটি নতুন WSDL রিসোর্স ফাইল তৈরি করুন। উদাহরণস্বরূপ, "example-wsdl.wsdl":
- আপনার প্রক্সি এন্ডপয়েন্টের প্রাক-প্রবাহে SOAP বার্তা যাচাইকরণ নীতি যোগ করুন:
- আপনি যে SOAP প্রোটোকলের বিরুদ্ধে যাচাই করতে চান তার সংস্করণে
<SOAPMessage>
উপাদানেরversion
বৈশিষ্ট্য সেট করুন। উদাহরণস্বরূপ, "1.1":... <SOAPMessage version="1.1"/> ...
- আপনি যে উপাদানটিকে যাচাই করতে চান সেই উপাদানটিতে
<Element>
উপাদানটির মান সেট করুন:... <Element namespace="https://example.com/gateway">getID</Element> ...
<Element>
SOAP অনুরোধের খামে<Body>
উপাদানের অধীনে প্রথম সন্তানকে নির্দিষ্ট করে।সেই সন্তানের জন্য নামস্থানে
namespace
অ্যাট্রিবিউট সেট করুন। -
<ResourceURL>
উপাদানের সাথে আপনার WSDL রিসোর্স ফাইলের অবস্থান নির্দিষ্ট করুন। যেমন:... <ResourceURL>wsdl://example-wsdl.wsdl</ResourceURL> ...
আপনার নীতি সংজ্ঞা নিম্নলিখিত মত হওয়া উচিত:
<MessageValidation continueOnError="false" enabled="true" name="validateSOAPRequest"> <DisplayName>My SOAP Validator</DisplayName> <Properties/> <Source>request</Source> <SOAPMessage version="1.1"/> <Element namespace="https://example.com/gateway">getID</Element> <ResourceURL>wsdl://example-wsdl.wsdl</ResourceURL> </MessageValidation>
- আপনি যে SOAP প্রোটোকলের বিরুদ্ধে যাচাই করতে চান তার সংস্করণে
- বার্তা পেলোড হিসাবে SOAP খামের সাথে আপনার API প্রক্সিতে একটি
POST
অনুরোধ পাঠান, যেমনটি নিম্নলিখিত উদাহরণটি দেখায়:curl -v -X POST -H 'Content-Type: application/xml' http://my-test.apigee.net/v1/xsd-mock -d '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prox="https://example.com/gateway" xmlns:typ="https://example.com/gateway/types"> <soapenv:Header/> <soapenv:Body> <prox:getID> <typ:MyType> <typ:ID>42</typ:ID> </typ:MyType> </prox:getID> </soapenv:Body> </soapenv:Envelope>'
লক্ষ্য করুন যে
Content-type
শিরোনাম "অ্যাপ্লিকেশন/এক্সএমএল" এ সেট করা আছে।আপনি পেলোডের জন্য একটি ডেটা ফাইলও তৈরি করতে পারেন এবং নিম্নলিখিতগুলির মতো একটি কমান্ড দিয়ে এটি উল্লেখ করতে পারেন:
curl -v -X POST -H 'Content-type: application/xml' http://my-test.apigee.net/v1/xsd-mock --data '@../examples/soap-payload.xml'
আপনার একটি HTTP 200
প্রতিক্রিয়া পাওয়া উচিত। আপনার টার্গেট এন্ডপয়েন্টের উপর নির্ভর করে, আপনি অনুরোধ সম্পর্কে অতিরিক্ত বিবরণ পেতে পারেন। উদাহরণ স্বরূপ, আপনি যদি আপনার টার্গেট এন্ডপয়েন্ট হিসাবে http://httpbin.org/post
ব্যবহার করেন, তাহলে প্রতিক্রিয়া নিম্নলিখিতগুলির মতো হওয়া উচিত:
< HTTP/1.1 200 OK < Date: Wed, 16 May 2018 21:24:54 GMT < Content-Type: application/xml < Content-Length: 431 < Connection: keep-alive < Server: gunicorn/19.8.1 < Access-Control-Allow-Origin: * < Access-Control-Allow-Credentials: true < Via: 1.1 vegur { "args":{}, "data":"<note><to>fred</to><from>nick</from><heading>hello</heading> <body>Just writing to say hello.</body></note>", "files":{}, "form":{}, "headers": { "Accept":"*/*", "Connection":"close", "Content-Length":"106", "Content-Type":"application/xml", "Host":"httpbin.org", "User-Agent":"curl/7.58.0" }, "json":null, "origin":"10.1.1.1, 104.154.179.1", "url":"http://httpbin.org/post" }
3: সুগঠিত XML/JSON
আপনি একটি JSON বা XML বার্তা পেলোড সুগঠিত হয়েছে তা নিশ্চিত করতে বার্তা যাচাইকরণ নীতি ব্যবহার করতে পারেন (যা যাচাইকরণের মতো নয়)। নীতি নিশ্চিত করে যে কাঠামো এবং বিষয়বস্তু স্বীকৃত মান পূরণ করে, যার মধ্যে রয়েছে:
- একটি একক মূল উপাদান আছে
- বিষয়বস্তুতে কোন অবৈধ অক্ষর নেই
- বস্তু এবং ট্যাগ সঠিকভাবে নেস্ট করা হয়
- শুরু এবং শেষ ট্যাগ মিলে যায়
একটি সুগঠিত XML বা JSON পেলোড পরীক্ষা করতে:
- আপনার প্রক্সি এন্ডপয়েন্টের প্রাক-প্রবাহে SOAP বার্তা যাচাইকরণ নীতি যোগ করুন।
- নীতি সংজ্ঞা থেকে
<ResourceURL>
,<SOAPMessage>
, এবং<Element>
উপাদানগুলি সরান।আপনার নীতি সংজ্ঞা নিম্নলিখিত মত হওয়া উচিত:
<MessageValidation async="false" continueOnError="false" enabled="true" name="validateXMLRequest"> <DisplayName>My JSON Checker</DisplayName> <Properties/> <Source>request</Source> </MessageValidation>
- আপনার API প্রক্সিতে একটি
POST
অনুরোধ পাঠান, যেমনটি নিম্নলিখিত উদাহরণটি দেখায়:curl -v -X POST -H 'Content-Type: application/json' http://my-test.apigee.net/v1/xsd-mock -d '{ "note": { "to": "Fred Rogers", "from": "Nick Danger", "header": "Greetings from my neighborhood", "body": "Just writing to say hello." } }'
লক্ষ্য করুন যে
Content-type
শিরোনাম "অ্যাপ্লিকেশন/json" এ সেট করা আছে।সুগঠিত হওয়ার জন্য একটি XML ফাইল পরীক্ষা করতে, XML বার্তা পেলোড হিসাবে ব্যবহার করুন এবং
Content-type
"অ্যাপ্লিকেশন/xml" এ সেট করুন।
আপনার একটি HTTP 200
প্রতিক্রিয়া পাওয়া উচিত। আপনি যখন একটি মেসেজ পেলোড পাঠান যাতে সুগঠিত XML বা JSON থাকে না, তখন আপনি একটি steps.messagevalidation.Failed
. ব্যর্থ ত্রুটি পাবেন৷
শিশু উপাদান রেফারেন্স
এই বিভাগে <MessageValidation>
এর চাইল্ড উপাদানগুলি বর্ণনা করা হয়েছে।
<DisplayName>
ম্যানেজমেন্ট UI প্রক্সি এডিটরে নীতিটিকে একটি ভিন্ন, আরও স্বাভাবিক-শব্দযুক্ত নামের সাথে লেবেল করতে name
বৈশিষ্ট্যের পাশাপাশি ব্যবহার করুন৷
<DisplayName>
উপাদানটি সকল নীতিতে সাধারণ।
ডিফল্ট মান | n/a |
প্রয়োজন? | ঐচ্ছিক। আপনি <DisplayName> বাদ দিলে, নীতির name বৈশিষ্ট্যের মান ব্যবহার করা হয় |
টাইপ | স্ট্রিং |
অভিভাবক উপাদান | < PolicyElement > |
শিশু উপাদান | কোনোটিই নয় |
<DisplayName>
উপাদানটি নিম্নলিখিত সিনট্যাক্স ব্যবহার করে:
সিনট্যাক্স
<PolicyElement> <DisplayName>policy_display_name</DisplayName> ... </PolicyElement>
উদাহরণ
<PolicyElement> <DisplayName>My Validation Policy</DisplayName> </PolicyElement>
<DisplayName>
উপাদানটির কোনো বৈশিষ্ট্য বা শিশু উপাদান নেই।
<Element>
যাচাই করার জন্য বার্তার উপাদানটি নির্দিষ্ট করে। এটি SOAP অনুরোধের খামে <Body>
উপাদানের অধীনে প্রথম সন্তান।
ডিফল্ট মান | নমুনা বস্তু |
প্রয়োজন? | ঐচ্ছিক |
টাইপ | স্ট্রিং |
অভিভাবক উপাদান | <MessageValidation> |
শিশু উপাদান | কোনোটিই নয় |
<Element>
উপাদান নিম্নলিখিত সিনট্যাক্স ব্যবহার করে:
সিনট্যাক্স
... <Element namespace="element_namespace">element_to_validate</Element> ...
উদাহরণ 1
নিম্নলিখিত উদাহরণটি যাচাই করার জন্য একটি একক উপাদানকে সংজ্ঞায়িত করে:
... <Element namespace="https://example.com/gateway">getID</Element> ...
উদাহরণ 2
আপনি একাধিক <Element>
উপাদান যোগ করে যাচাই করার জন্য একাধিক উপাদান নির্দিষ্ট করতে পারেন:
... <Element namespace="https://example.com/gateway">getID</Element> <Element namespace="https://example.com/gateway">getDetails</Element> ...
<Element>
উপাদানটির নিম্নলিখিত বৈশিষ্ট্য রয়েছে:
বৈশিষ্ট্য | ডিফল্ট | প্রয়োজন? | বর্ণনা |
---|---|---|---|
namespace | "http://sample.com" | ঐচ্ছিক | যাচাই করার জন্য উপাদানটির নামস্থান সংজ্ঞায়িত করে। |
<ResourceURL>
উৎস বার্তা যাচাই করতে ব্যবহার করা XSD স্কিমা বা WSDL সংজ্ঞা সনাক্ত করে।
ডিফল্ট মান | wsdl:// display_name .wsdl |
প্রয়োজন? | ঐচ্ছিক |
টাইপ | স্ট্রিং |
অভিভাবক উপাদান | <MessageValidation> |
শিশু উপাদান | কোনোটিই নয় |
<ResourceURL>
উপাদান নিম্নলিখিত সিনট্যাক্স ব্যবহার করে:
সিনট্যাক্স
... <ResourceURL>[wsdl|xsd]://validation_WSDL_or_XSD</ResourceURL> ...
উদাহরণ
একটি XML ফাইলের জন্য:
... <ResourceURL>xsd://note-schema.xsd</ResourceURL> ...
একটি WSDL এর জন্য:
... <ResourceURL>wsdl://example-wsdl.wsdl</ResourceURL> ...
<ResourceURL>
এর মান অবশ্যই আপনার API প্রক্সিতে একটি রিসোর্স ফাইল নির্দেশ করবে। এটি HTTP বা HTTPS এর উপর বাহ্যিক সংস্থানগুলি উল্লেখ করতে পারে না৷
আপনি যদি <ResourceURL>
এর জন্য একটি মান নির্দিষ্ট না করেন, তাহলে বার্তাটি সুগঠিত JSON বা XML-এর জন্য চেক করা হয় যদি Content-type
শিরোনাম যথাক্রমে "application/json" বা "application/xml" হয়।
<ResourceURL>
উপাদানটির কোনো চাইল্ড উপাদান বা বৈশিষ্ট্য নেই।
যাচাইকরণের জন্য XSDs ব্যবহার করা
আপনি যে XML পেলোডটি মেসেজ ভ্যালিডেশন নীতির সাথে যাচাই করেন সেটি যদি অন্য স্কিমার উল্লেখ করে, তাহলে আপনাকে অবশ্যই অন্তর্ভুক্ত XSD ফাইলটিকে schemaLocation
অ্যাট্রিবিউটে xsd
সহ প্রিফিক্স করতে হবে।
নিম্নলিখিত উদাহরণ স্কিমা একাধিক XSDs গঠিত:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:include schemaLocation="xsd://note-schema.xsd"/> <xs:include schemaLocation="xsd://letter-schema.xsd"/> <xs:include schemaLocation="xsd://user-schema.xsd"/> </xs:schema>
বৈধকরণের জন্য WSDL ব্যবহার করা
একটি WSDL অন্তত একটি স্কিমা সংজ্ঞায়িত করা আবশ্যক. যদি এটি অন্তত একটি স্কিমা উল্লেখ না করে, বার্তা যাচাইকরণ নীতি ব্যর্থ হয়।
একটি স্কিমার জন্য সর্বোচ্চ আমদানি গভীরতা হল 10৷ আপনি যদি নেস্টেড আমদানির সংখ্যা অতিক্রম করেন তবে বার্তা যাচাইকরণ নীতি ব্যর্থ হয়৷
<SOAPMessage>
SOAP সংস্করণ সংজ্ঞায়িত করে যার বিরুদ্ধে বার্তা যাচাইকরণ নীতি বৈধ করে।
ডিফল্ট মান | n/a |
প্রয়োজন? | ঐচ্ছিক |
টাইপ | n/a |
অভিভাবক উপাদান | <MessageValidation> |
শিশু উপাদান | কোনোটিই নয় |
<SOAPMessage>
উপাদানটি নিম্নলিখিত সিনট্যাক্স ব্যবহার করে:
সিনট্যাক্স
... <SOAPMessage version="[ 1.1 | 1.2 | 1.1/1.2 ]"/> ...
উদাহরণ
... <SOAPMessage version="1.1"/> ...
<SOAPMessage>
উপাদানটির নিম্নলিখিত বৈশিষ্ট্য রয়েছে:
বৈশিষ্ট্য | ডিফল্ট | প্রয়োজন? | বর্ণনা |
---|---|---|---|
version | কোনোটিই নয় | ঐচ্ছিক | SOAP সংস্করণ যা এই নীতিটি SOAP বার্তাগুলিকে যাচাই করতে ব্যবহার করে৷ বৈধ মান হল:
|
আরও তথ্যের জন্য, SOAP/1.1 থেকে SOAP সংস্করণ 1.2 ইন 9 পয়েন্ট দেখুন।
<Source>
যাচাই করার জন্য উৎস বার্তা সনাক্ত করে। এই উপাদানটির মান হল সেই বার্তাটির নাম যা আপনি যাচাই করতে চান।
আপনি যদি <Source>
সেট না করেন তবে এই নীতিটি ডিফল্ট "বার্তা" তে থাকে, যা সম্পূর্ণ অনুরোধ বার্তা (একটি অনুরোধ প্রবাহে) বা প্রতিক্রিয়া বার্তা (একটি প্রতিক্রিয়া প্রবাহে), যেকোন পেলোড সহ বোঝায়। আপনি অনুরোধ বা প্রতিক্রিয়া উল্লেখ করার জন্য এটিকে স্পষ্টভাবে "অনুরোধ" বা "প্রতিক্রিয়া" হিসাবে সেট করতে পারেন।
ডিফল্ট মান | অনুরোধ |
প্রয়োজন? | ঐচ্ছিক |
টাইপ | স্ট্রিং |
অভিভাবক উপাদান | <MessageValidation> |
শিশু উপাদান | কোনোটিই নয় |
<Source>
উপাদান নিম্নলিখিত সিনট্যাক্স ব্যবহার করে:
সিনট্যাক্স
... <Source>message_to_validate</Source> ...
উদাহরণ
... <Source>request</Source> ...
"বার্তা", "অনুরোধ", এবং "প্রতিক্রিয়া" ছাড়াও, আপনি আপনার প্রবাহের যেকোনো বার্তার নামের সাথে <Source>
-এর মান সেট করতে পারেন। আপনি যদি এটি করেন তবে, এই নীতি কার্যকর করার আগে আপনাকে অবশ্যই আপনার প্রবাহে সেই নামের সাথে একটি কাস্টম বার্তা তৈরি করতে হবে৷ অন্যথায়, আপনি একটি ত্রুটি পাবেন.
যদি <Source>
এর মান বার্তা প্রবাহে সমাধান করা না যায় বা একটি নন-মেসেজ প্রকারে সমাধান করা যায়, তাহলে নিম্নলিখিতগুলির মধ্যে একটি ঘটে:
- যদি একটি শূন্য মান: এজ একটি
steps.messagevalidation.SourceMessageNotAvailable
ত্রুটি নিক্ষেপ করে। - যদি একটি নন-মেসেজ টাইপ: এজ একটি
steps.messagevalidation.NonMessageVariable
ত্রুটি নিক্ষেপ করে।
<Source>
উপাদানটির কোনো বৈশিষ্ট্য বা শিশু উপাদান নেই।
ত্রুটি কোড
এজ নীতিগুলি থেকে ফিরে আসা ত্রুটিগুলি ত্রুটি কোড রেফারেন্সে বর্ণিত একটি সামঞ্জস্যপূর্ণ বিন্যাস অনুসরণ করে৷
This section describes the fault codes and error messages that are returned and fault variables that are set by Edge when this policy triggers an error. This information is important to know if you are developing fault rules to handle faults. To learn more, see What you need to know about policy errors and Handling faults.
Runtime errors
These errors can occur when the policy executes.
Fault code | HTTP status | Cause | Fix |
---|---|---|---|
steps.messagevalidation.SourceMessageNotAvailable |
500 |
This error occurs if a variable specified in the
|
build |
steps.messagevalidation.NonMessageVariable |
500 |
This error occurs if the Message type variables represent entire HTTP requests and responses. The built-in Edge
flow variables |
build |
steps.messagevalidation.Failed |
500 | This error occurs if the SOAPMessageValidation policy fails to validate the input message payload against the XSD schema or WSDL definition. It will also occur if there is malformed JSON or XML in the payload message. | build |
Deployment errors
These errors can occur when you deploy a proxy containing this policy.
Error name | Cause | Fix |
---|---|---|
InvalidResourceType |
The <ResourceURL> element in the SOAPMessageValidation policy is set to a resource type
not supported by the policy.
|
build |
ResourceCompileFailed |
The resource script referenced in the <ResourceURL> element of the SOAPMessageValidation
policy contains an error that prevents it from compiling.
|
build |
RootElementNameUnspecified |
The <Element> element in the SOAPMessageValidation policy does not contain the root
element's name. |
build |
InvalidRootElementName |
The <Element> element in the SOAPMessageValidation policy contains a root element name
that does not adhere to XML rules for valid element naming. |
build |
স্কিমাস
প্রতিটি নীতির ধরন একটি XML স্কিমা ( .xsd
) দ্বারা সংজ্ঞায়িত করা হয়। রেফারেন্সের জন্য, নীতি স্কিমা GitHub এ উপলব্ধ।