คุณกำลังดูเอกสารประกอบ Apigee Edge
ไปที่
เอกสารประกอบเกี่ยวกับ Apigee X. ข้อมูล
นโยบาย SOAPMessageValidation ดำเนินการดังนี้
- ตรวจสอบข้อความ XML เทียบกับสคีมา XSD
- ตรวจสอบข้อความ SOAP ตามคำจำกัดความ WSDL
- กำหนดรูปแบบที่ดีของข้อความ JSON และ XML
แม้ว่าชื่อของนโยบายนี้ใน UI จะเป็น "SOAP Message Validation" แต่นโยบายจะตรวจสอบมากกว่า แทนที่จะเป็นข้อความ SOAP เพียงอย่างเดียว ส่วนนี้จะระบุนโยบายว่า "นโยบายการตรวจสอบข้อความ"
องค์ประกอบ <MessageValidation>
กำหนดนโยบายการตรวจสอบความถูกต้องของข้อความ
ค่าเริ่มต้น | ดูแท็บนโยบายเริ่มต้นด้านล่าง |
ต้องระบุหรือไม่ | ไม่บังคับ |
ประเภท | ออบเจ็กต์ที่ซับซ้อน |
องค์ประกอบระดับบนสุด | ไม่มี |
องค์ประกอบย่อย |
<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>
นโยบายเริ่มต้น
ตัวอย่างต่อไปนี้แสดงการตั้งค่าเริ่มต้นเมื่อคุณเพิ่มนโยบายการตรวจสอบข้อความ การดำเนินการของคุณใน Edge 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 |
ไม่มีข้อมูล | จำเป็น |
ชื่อภายในของนโยบาย ค่าของแอตทริบิวต์ ใช้องค์ประกอบ |
continueOnError |
เท็จ | ไม่บังคับ | ตั้งค่าเป็น "false" เพื่อแสดงข้อผิดพลาดเมื่อนโยบายล้มเหลว ซึ่งเป็นลักษณะการทํางานที่คาดหวังตามนโยบายส่วนใหญ่ ตั้งค่าเป็น "จริง" เพื่อดําเนินการโฟลว์ข้อมูลต่อไป แม้ว่านโยบายจะล้มเหลวก็ตาม |
enabled |
จริง | ไม่บังคับ | ตั้งค่าเป็น "true" เพื่อบังคับใช้นโยบาย ตั้งค่าเป็น "false" เพื่อ "ปิด" นโยบาย ระบบจะไม่บังคับใช้นโยบายแม้ว่าจะยังคงแนบไปกับโฟลว์ |
async |
เท็จ | เลิกใช้ | แอตทริบิวต์นี้เลิกใช้งานแล้ว |
ตัวอย่าง
ตัวอย่างต่อไปนี้แสดงวิธีการใช้งานการตรวจสอบข้อความ นโยบาย:
1: การตรวจสอบ XSD
คุณสามารถใช้นโยบายการตรวจสอบข้อความเพื่อตรวจสอบเพย์โหลดของคำขอข้อความ XML ได้ เมื่อเทียบกับสคีมา XSD
- สร้างไฟล์ทรัพยากร 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 ลงในขั้นตอนก่อนรับส่งของปลายทางพร็อกซีด้วยคำสั่งต่อไปนี้
-
วันที่
- ระบุตำแหน่งของไฟล์ทรัพยากร XSD ด้วย
<ResourceURL>
ดังตัวอย่างต่อไปนี้... <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>
- ระบุตำแหน่งของไฟล์ทรัพยากร XSD ด้วย
- ส่งคำขอ
POST
ไปยังพร็อกซี API พร้อม XML เป็นข้อความ เพย์โหลด ตามตัวอย่างต่อไปนี้ วันที่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
ตั้งค่าเป็น "application/xml"นอกจากนี้ยังสร้างไฟล์ข้อมูลสำหรับเพย์โหลดและอ้างอิงด้วยคำสั่งได้ด้วย ที่คล้ายกับข้อความต่อไปนี้
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
(รายละเอียด) คำตอบควรมีลักษณะคล้ายกับข้อความต่อไปนี้
< 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
คุณสามารถใช้นโยบายการตรวจสอบข้อความเพื่อตรวจสอบเพย์โหลดของคำขอข้อความ SOAP ได้ เมื่อเทียบกับ WSDL
- สร้างไฟล์ทรัพยากร WSDL ใหม่ เช่น "example-wsdl.wsdl"
- เพิ่มนโยบายการตรวจสอบข้อความ SOAP ลงในขั้นตอนก่อนรับส่งของปลายทางพร็อกซีด้วยคำสั่งต่อไปนี้
- ตั้งค่าแอตทริบิวต์
version
ขององค์ประกอบ<SOAPMessage>
เป็น ของโปรโตคอล SOAP ที่คุณต้องการตรวจสอบความถูกต้อง ตัวอย่างเช่น "1.1":... <SOAPMessage version="1.1"/> ...
- ตั้งค่าขององค์ประกอบ
<Element>
เป็นองค์ประกอบที่ต้องการ ตรวจสอบ:... <Element namespace="https://example.com/gateway">getID</Element> ...
<Element>
ระบุเด็กแรกภายใต้องค์ประกอบ<Body>
ในซองของคำขอ SOAPตั้งค่าแอตทริบิวต์
namespace
เป็นเนมสเปซสำหรับบุตรหลานนั้น - ระบุตำแหน่งของไฟล์ทรัพยากร WSDL ด้วย
<ResourceURL>
ดังตัวอย่างต่อไปนี้... <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>
- ตั้งค่าแอตทริบิวต์
- ส่งคำขอ
POST
ไปยังพร็อกซี API โดยใช้เอนเวโลป SOAP เป็น เพย์โหลดข้อความ ตามตัวอย่างต่อไปนี้ วันที่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
ตั้งค่าเป็น "application/xml"นอกจากนี้ยังสร้างไฟล์ข้อมูลสำหรับเพย์โหลดและอ้างอิงด้วยคำสั่งได้ด้วย ที่คล้ายกับข้อความต่อไปนี้
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>
- ส่งคำขอ
POST
ไปยังพร็อกซี API ของคุณตามตัวอย่างต่อไปนี้ วันที่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
ตั้งค่าเป็น "application/json"หากต้องการตรวจสอบไฟล์ XML ว่ามีรูปแบบที่ถูกต้องหรือไม่ ให้ใช้ XML เป็นเพย์โหลดของข้อความ ตั้งค่า
Content-type
เป็น "application/xml"
คุณควรได้รับการตอบกลับ HTTP 200
เมื่อคุณส่งเพย์โหลดข้อความ
ที่ไม่มี XML หรือ JSON ที่มีรูปแบบถูกต้อง คุณควรได้รับ
ข้อผิดพลาด steps.messagevalidation.Failed
รายการ
การอ้างอิงองค์ประกอบย่อย
ส่วนนี้จะอธิบายองค์ประกอบย่อยของ <MessageValidation>
<DisplayName>
ใช้เพิ่มเติมจากแอตทริบิวต์ name
เพื่อติดป้ายกำกับนโยบายใน
เครื่องมือแก้ไขพร็อกซี UI การจัดการด้วยชื่อที่ฟังดูเป็นธรรมชาติมากขึ้น
องค์ประกอบ <DisplayName>
มีอยู่ในนโยบายทั้งหมด
ค่าเริ่มต้น | ไม่มี |
ต้องระบุหรือไม่ | ไม่บังคับ หากคุณไม่ใส่ <DisplayName> ค่าของแอตทริบิวต์
ใช้แอตทริบิวต์ name ของนโยบาย |
ประเภท | สตริง |
องค์ประกอบระดับบนสุด | <PolicyElement> |
องค์ประกอบย่อย | ไม่มี |
องค์ประกอบ <DisplayName>
ใช้ไวยากรณ์ต่อไปนี้
ไวยากรณ์
<PolicyElement> <DisplayName>policy_display_name</DisplayName> ... </PolicyElement>
ตัวอย่าง
<PolicyElement> <DisplayName>My Validation Policy</DisplayName> </PolicyElement>
องค์ประกอบ <DisplayName>
ไม่มีแอตทริบิวต์หรือองค์ประกอบย่อย
<Element>
ระบุองค์ประกอบในข้อความที่ต้องการตรวจสอบ นี่คือเด็กคนแรกที่
องค์ประกอบ <Body>
ในซองของคำขอ SOAP
ค่าเริ่มต้น | sampleObject |
ต้องระบุหรือไม่ | ไม่บังคับ |
ประเภท | สตริง |
องค์ประกอบระดับบนสุด |
<MessageValidation>
|
องค์ประกอบย่อย | ไม่มี |
องค์ประกอบ <Element>
ใช้ไวยากรณ์ต่อไปนี้
ไวยากรณ์
... <Element namespace="element_namespace">element_to_validate</Element> ...
ตัวอย่างที่ 1
ตัวอย่างต่อไปนี้กำหนดองค์ประกอบเดียวที่จะตรวจสอบ
... <Element namespace="https://example.com/gateway">getID</Element> ...
ตัวอย่างที่ 2
คุณระบุองค์ประกอบที่จะตรวจสอบได้มากกว่า 1 รายการด้วยการเพิ่ม <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>
ไม่มีองค์ประกอบหรือแอตทริบิวต์ย่อย
การใช้ XSD สำหรับการตรวจสอบ
หากเพย์โหลด XML ที่คุณตรวจสอบด้วยการอ้างอิงนโยบายการตรวจสอบข้อความ
อื่น คุณต้องนำหน้าไฟล์ XSD ที่รวมด้วย xsd
ใน
schemaLocation
ตัวอย่างสคีมาต่อไปนี้ประกอบด้วย XSD หลายรายการ
<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 ต้องกำหนดสคีมาอย่างน้อย 1 รายการ หากไม่มีการอ้างอิงสคีมาอย่างน้อย 1 รายการ นโยบายการตรวจสอบข้อความล้มเหลว
ความลึกสูงสุดของการนำเข้าสำหรับสคีมาคือ 10 หากคุณมีการนำเข้าที่ซ้อนกันเกินจำนวนครั้งที่กำหนด นโยบายการตรวจสอบข้อความล้มเหลว
<SOAPMessage>
กำหนดเวอร์ชันของ SOAP ที่นโยบายการตรวจสอบข้อความตรวจสอบ
ค่าเริ่มต้น | ไม่มี |
ต้องระบุหรือไม่ | ไม่บังคับ |
ประเภท | ไม่มี |
องค์ประกอบระดับบนสุด |
<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> ...
นอกจาก "message" "request" และ "response" แล้ว คุณยังสามารถตั้งค่า
<Source>
ต่อท้ายชื่อข้อความในกระบวนการ แต่หากคุณทำเช่นนี้ คุณต้องสร้าง
ข้อความที่กำหนดเองที่มีชื่อนั้นในขั้นตอนของคุณก่อนที่นโยบายนี้จะใช้ มิเช่นนั้นคุณจะได้รับ
ข้อผิดพลาด
หากแก้ไขค่าของ <Source>
ในขั้นตอนการสื่อสารหรือแก้ไขเป็นค่าที่ไม่ใช่ข้อความไม่ได้
จะมีกรณีต่อไปนี้เกิดขึ้น
- หากค่า Null: Edge จะแสดง
ข้อผิดพลาด
steps.messagevalidation.SourceMessageNotAvailable
รายการ - หากไม่ใช่ประเภทข้อความ: Edge แสดงข้อผิดพลาด
ข้อผิดพลาด
steps.messagevalidation.NonMessageVariable
รายการ
องค์ประกอบ <Source>
ไม่มีแอตทริบิวต์หรือองค์ประกอบย่อย
รหัสข้อผิดพลาด
ข้อผิดพลาดที่แสดงผลจากนโยบาย Edge จะมีรูปแบบที่สอดคล้องกันตามที่อธิบายไว้ในข้อมูลอ้างอิงรหัสข้อผิดพลาด
ส่วนนี้จะอธิบายโค้ดข้อผิดพลาดและข้อความแสดงข้อผิดพลาดที่แสดงผลและตัวแปรข้อผิดพลาดที่ Edge กําหนดเมื่อนโยบายนี้ทําให้เกิดข้อผิดพลาด ข้อมูลนี้เป็นสิ่งสำคัญที่ต้องทราบหากคุณกำลังกำหนดกฎข้อผิดพลาดเพื่อจัดการกับข้อผิดพลาด ดูข้อมูลเพิ่มเติมได้ที่สิ่งที่คุณต้องทราบเกี่ยวกับข้อผิดพลาดของนโยบายและการจัดการข้อผิดพลาด
ข้อผิดพลาดเกี่ยวกับรันไทม์
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อนโยบายทำงาน
รหัสข้อผิดพลาด | สถานะ HTTP | สาเหตุ | แก้ไข |
---|---|---|---|
steps.messagevalidation.SourceMessageNotAvailable |
500 |
ข้อผิดพลาดนี้เกิดขึ้นหากตัวแปรที่ระบุในองค์ประกอบ
|
build |
steps.messagevalidation.NonMessageVariable |
500 |
ข้อผิดพลาดนี้เกิดขึ้นหากมีการตั้งค่าองค์ประกอบ ตัวแปรประเภทข้อความจะเป็นตัวแทนของคำขอและการตอบกลับ HTTP ทั้งหมด ตัวแปรโฟลว์ Edge ในตัว |
build |
steps.messagevalidation.Failed |
500 | ข้อผิดพลาดนี้เกิดขึ้นหากนโยบาย SOAPMessageValidation ตรวจสอบเพย์โหลดของข้อความอินพุตกับสคีมา XSD หรือคำจำกัดความ WSDL ไม่สำเร็จ และจะเกิดขึ้นหากมี JSON หรือ XML ที่มีรูปแบบไม่ถูกต้องในข้อความเพย์โหลด | build |
ข้อผิดพลาดในการทำให้ใช้งานได้
ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นเมื่อคุณใช้พร็อกซีที่มีนโยบายนี้
ชื่อข้อผิดพลาด | สาเหตุ | แก้ไข |
---|---|---|
InvalidResourceType |
องค์ประกอบ <ResourceURL> ในนโยบาย SOAPMessageValidation มีการตั้งค่าเป็นประเภททรัพยากรที่นโยบายไม่รองรับ
|
build |
ResourceCompileFailed |
สคริปต์ทรัพยากรที่อ้างอิงในองค์ประกอบ <ResourceURL> ของนโยบาย SOAPMessageValidation มีข้อผิดพลาดที่ทำให้คอมไพล์ไม่ได้
|
build |
RootElementNameUnspecified |
องค์ประกอบ <Element> ในนโยบาย SOAPMessageValidation ไม่มีชื่อขององค์ประกอบราก |
build |
InvalidRootElementName |
องค์ประกอบ <Element> ในนโยบาย SOAPMessageValidation มีชื่อองค์ประกอบรูทที่ไม่สอดคล้องกับกฎ XML สำหรับการตั้งชื่อองค์ประกอบที่ถูกต้อง |
build |
สคีมา
นโยบายแต่ละประเภทจะกำหนดโดยสคีมา XML (.xsd
) สคีมานโยบายสำหรับใช้อ้างอิง
ที่มีอยู่ใน GitHub