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 ระบุตำแหน่งของบริการ