SOAP - ซองจดหมาย

ซอง SOAP ระบุจุดเริ่มต้นและจุดสิ้นสุดของข้อความเพื่อให้ผู้รับทราบเมื่อได้รับข้อความทั้งหมด ซอง SOAP ช่วยแก้ปัญหาในการรู้ว่าคุณได้รับข้อความเสร็จเมื่อใดและพร้อมที่จะดำเนินการ ซอง SOAP จึงเป็นกลไกการบรรจุหีบห่อโดยพื้นฐาน

สิ่งที่ควรทราบ

  • ทุกข้อความ SOAP มีองค์ประกอบรูทซองจดหมาย

  • ซองจดหมายเป็นส่วนบังคับของข้อความ SOAP

  • ทุกองค์ประกอบของซองจดหมายต้องมีองค์ประกอบของร่างกายเพียงอย่างเดียว

  • หากซองจดหมายมีองค์ประกอบส่วนหัวจะต้องมีไม่เกินหนึ่งส่วนและจะต้องปรากฏเป็นลูกคนแรกของซองจดหมายก่อนส่วนเนื้อหา

  • ซองจดหมายจะเปลี่ยนไปเมื่อรุ่น SOAP เปลี่ยนไป

  • ซอง SOAP ถูกระบุโดยใช้คำนำหน้าเนมสเปซENVและองค์ประกอบซองจดหมาย

  • นอกจากนี้ยังระบุการเข้ารหัส SOAP ที่เป็นทางเลือกโดยใช้ชื่อเนมสเปซและองค์ประกอบencodingStyle ที่เป็นทางเลือกซึ่งอาจชี้ไปยังรูปแบบการเข้ารหัสอื่นที่ไม่ใช่ SOAP

  • ตัวประมวลผล SOAP ที่สอดคล้องกับ v1.1 สร้างข้อผิดพลาดเมื่อได้รับข้อความที่มีเนมสเปซซองจดหมาย v1.2

  • ตัวประมวลผล SOAP ที่เข้ากันได้กับ v1.2 จะสร้างข้อผิดพลาดVersionMismatchหากได้รับข้อความที่ไม่มีเนมสเปซซองจดหมาย v1.2

ข้อความ SOAP ที่รองรับ v1.2

ด้านล่างเป็นตัวอย่างของข้อความ SOAP ที่เข้ากันได้กับ v1.2

<?xml version = "1.0"?>
<SOAP-ENV:Envelope 
   xmlns:SOAP-ENV = "http://www.w3.org/2001/12/soap-envelope" 
   SOAP-ENV:encodingStyle = " http://www.w3.org/2001/12/soap-encoding">
   ...
   Message information goes here
   ...
</SOAP-ENV:Envelope>

SOAP กับ HTTP POST

ตัวอย่างต่อไปนี้แสดงให้เห็นถึงการใช้ข้อความ SOAP ภายในการดำเนินการ HTTP POST ซึ่งจะส่งข้อความไปยังเซิร์ฟเวอร์ แสดงเนมสเปซสำหรับนิยามสคีมาซองจดหมายและสำหรับนิยามสคีมาของกฎการเข้ารหัส การอ้างอิงOrderEntryในส่วนหัว HTTP คือชื่อของโปรแกรมที่จะเรียกใช้ที่เว็บไซต์ tutorialspoint.com

POST /OrderEntry HTTP/1.1
Host: www.tutorialspoint.com
Content-Type: application/soap;  charset="utf-8"
Content-Length: nnnn

<?xml version = "1.0"?>
<SOAP-ENV:Envelope 
   xmlns:SOAP-ENV = "http://www.w3.org/2001/12/soap-envelope" 
   SOAP-ENV:encodingStyle = " http://www.w3.org/2001/12/soap-encoding">
   ...
   Message information goes here
   ...
</SOAP-ENV:Envelope>

NOTE - การเชื่อม HTTP ระบุตำแหน่งของบริการ