บทเรียน Python: การทำงานกับบริการเว็บแบบ SOAP

ไพธอนเป็นภาษาโปรแกรมยอดนิยม ใช้กับและสำหรับบริการเว็บ SOAP

อาชว์

อาชว์

4 June 2025

บทเรียน Python: การทำงานกับบริการเว็บแบบ SOAP

```html

มีภาษาไคลเอนต์หลากหลายที่คุณสามารถเรียนรู้เพื่อสร้างเว็บแอปพลิเคชันหรือเซิร์ฟเวอร์ให้ทุกคนใช้งานได้ ภาษาไคลเอนต์ยอดนิยมที่ผู้คนจำนวนมากใช้ในปัจจุบันคือ Python ไม่ว่าคุณจะเป็นวิศวกรซอฟต์แวร์หรือนักศึกษาในระหว่างภาคเรียน Python เป็นตัวเลือกภาษาที่มั่นคงในการเลือกใช้สำหรับคลังรหัสของคุณ

Python - ภาษาโปรแกรมยอดนิยม

หากนี่เป็นครั้งแรกที่คุณเห็น Python มันคือภาษาการเขียนโปรแกรมคอมพิวเตอร์ที่รู้จักกันดีในเรื่องความสามารถในการอ่านและเรียบง่าย มันเป็นมิตรกับผู้ใช้มากกว่าภาษาโปรแกรมอื่น ๆ ที่มีอยู่มากมาย มันสามารถเป็นภาษาที่เหมาะสมมากในการเลือกใช้หากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับการพัฒนาเว็บ!

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

SOAP-based Web Services

SOAP คืออะไรใน "SOAP-based"?

SOAP ซึ่งเป็นรูปแบบย่อของ Simple Object Access Protocol เป็นโปรโตคอลสำหรับการแลกเปลี่ยนข้อมูลที่มีโครงสร้างระหว่างบริการเว็บ ระบบ และแอปพลิเคชัน

โดยการปฏิบัติตามโปรโตคอล SOAP คุณกำลังปฏิบัติตามชุดกฎสำหรับการจัดโครงสร้างข้อความใน XML (eXtensible Markup Language) ทำให้โปรแกรมที่ทำงานบนระบบปฏิบัติการและเทคโนโลยีที่แตกต่างกันสามารถสื่อสารซึ่งกันและกันได้

ส่วนประกอบสำคัญของข้อความ SOAP ทั่วไป

Envelope: องค์ประกอบด้านนอกสุดที่ห่อหุ้มข้อความ SOAP ทั้งหมด

Header: ส่วนเสริมที่มีข้อมูลเพิ่มเติมสำหรับการประมวลผลข้อความ

Body: ส่วนหลักของข้อความที่มีข้อมูลจริงหรือข้อมูลคำขอ/การตอบสนอง

Fault: ส่วนเสริมสำหรับการรายงานข้อผิดพลาด

ไฟล์ WSDL ที่มาพร้อมกับบริการ SOAP

เอกสารประกอบเป็นเพื่อนที่ดีที่สุดของนักพัฒนาเมื่อคุณกำลังทดลองสิ่งใหม่ ๆ เป็นครั้งแรก สำหรับบริการเว็บ SOAP หรือ SOAP API คู่มือการใช้งานมาในรูปแบบของไฟล์ WSDL

WSDL ย่อมาจาก Web Services Description Language ซึ่งให้คำอธิบายเกี่ยวกับฟังก์ชันการทำงานของบริการเว็บ วิธีการที่รองรับ ประเภทข้อมูลที่ใช้ และโปรโตคอลที่ปฏิบัติตาม

ทำไมต้องพิจารณาใช้ Python สำหรับการทำงานกับบริการเว็บ SOAP?

การใช้ Python สำหรับการทำงานกับบริการเว็บ SOAP-based มีข้อดีหลายประการสำหรับนักพัฒนา นี่คือเหตุผลบางประการที่คุณควรพิจารณาใช้และเรียนรู้ Python:

  1. ง่ายและสะดวก: ไวยากรณ์ของ Python นั้นชัดเจนและอ่านง่ายมาก สิ่งนี้ช่วยให้การเขียน การทำความเข้าใจ และการบำรุงรักษาโค้ด Python นั้นง่ายกว่าภาษาโปรแกรมอื่น ๆ มาก
  2. ไลบรารีมากมาย: ด้วย Python ชุดไลบรารีและโมดูลนับไม่ถ้วนสามารถทำงานร่วมกับและสำหรับบริการเว็บได้ บางส่วนยังเชี่ยวชาญในการปรับปรุงการบริโภคบริการ SOAP โดยลดความซับซ้อนของโค้ด Python ที่จำเป็นในการโต้ตอบกับบริการเว็บ SOAP-based
  3. ความสามารถรอบด้าน: Python ถูกนำไปใช้ในหลายโดเมนที่แตกต่างกัน ตั้งแต่การพัฒนาเว็บไปจนถึงวิทยาศาสตร์ข้อมูลและการเรียนรู้ของเครื่อง ด้วยความเข้าใจที่ดีเกี่ยวกับ Python และบริการเว็บ คุณสามารถรวมบริการเว็บ SOAP-based เข้ากับแอปพลิเคชันในสาขาการทำงานที่กล่าวมาข้างต้นได้อย่างง่ายดาย
  4. การสนับสนุนจากชุมชน: นักพัฒนา Python ทั่วโลกมีส่วนร่วมในชุมชน โดยผลิตทรัพยากรต่างๆ เช่น บทช่วยสอนและคำแนะนำสำหรับนักพัฒนาใหม่ในการทำงานกับภาษาโปรแกรม Python และสิ่งนี้รวมถึงการทำงานกับบริการเว็บ SOAP-based ด้วย
  5. การสนับสนุนข้ามแพลตฟอร์ม: ภาษาโปรแกรม Python สามารถทำงานบนระบบปฏิบัติการต่างๆ เช่น Windows, macOS, Linux และอื่นๆ ช่วยให้แอปพลิเคชัน Python สามารถบำรุงรักษาได้มากขึ้นในสภาพแวดล้อมการทำงานที่แตกต่างกัน

ตัวอย่างการโต้ตอบของ Python และบริการเว็บ SOAP-based โดยใช้ไลบรารี "Suds-Jurko"

Python ต้องการไลบรารี "suds-jurko" เพื่อโต้ตอบกับบริการเว็บ SOAP-based ดังนั้นก่อนที่คุณจะทำอะไร ให้รันบรรทัดต่อไปนี้บน Bash:

pip install suds-jurko

การโต้ตอบบริการ SOAP อย่างง่าย

from suds.client import Client

# ขั้นตอนที่ 1: สร้าง SOAP Client
url = 'https://www.example.com/soap-service?wsdl'
client = Client(url)

# ขั้นตอนที่ 2: สำรวจบริการ
print(client)

# ขั้นตอนที่ 3: เรียกใช้ SOAP Method
result = client.service.say_hello('John')

# ขั้นตอนที่ 4: จัดการการตอบสนอง
print(result)

ตัวอย่างนี้ใช้บริการ SOAP ที่มีเมธอดชื่อ say_hello ซึ่งใช้พารามิเตอร์และส่งคืนคำทักทาย โค้ดนี้ใช้งานได้โดยการแทนที่ URL https://www.example.com/soap-service?wsdl ด้วย URL ไฟล์ WSDL จริงของบริการ SOAP ของคุณเพื่อเริ่มทำงานกับมันใน Python!

การใช้ Python เพื่อจัดการประเภทข้อมูลที่ซับซ้อน

from suds.client import Client

# ขั้นตอนที่ 1: สร้าง SOAP Client
url = 'https://www.example.com/complex-service?wsdl'
client = Client(url)

# ขั้นตอนที่ 2: สำรวจบริการ
print(client)

# ขั้นตอนที่ 3: เรียกใช้ SOAP Method พร้อม Complex Type
person_data = {'name': 'Alice', 'age': 30, 'city': 'Wonderland'}
result = client.service.process_person_data(person_data)

# ขั้นตอนที่ 4: จัดการการตอบสนอง
print(result)

ตัวอย่างโค้ด Python ด้านบนแสดงบริการ SOAP พร้อมเมธอดที่เรียกว่า process_person_data ซึ่งใช้ประเภทที่ซับซ้อนเป็นพารามิเตอร์

การสร้างบริการเว็บ SOAP-based โดยใช้ Python

คุณสามารถสร้างบริการเว็บ SOAP-based (หรือ SOAP API) ของคุณเองได้ด้วยภาษา Python เริ่มต้นด้วยการติดตั้งไลบรารี spyne บน Bash

pip install spyne

ถัดไป คุณควรสร้างไฟล์ Python ใหม่ จากตัวอย่างของบทความนี้ ชื่อไฟล์จะเป็น soap_service.py สังเกตว่า SOAP API จะถูกกำหนดโดย sypne

from spyne import Application, rpc, ServiceBase, Iterable, Integer, Unicode

class HelloWorldService(ServiceBase):
    @rpc(Unicode, Integer, _returns=Iterable(Unicode))
    def say_hello(ctx, name, times):
        for i in range(times):
            yield f"Hello, {name}!"

# สร้างแอปพลิเคชันด้วยบริการที่ระบุ
application = Application([HelloWorldService], tns='my_namespace', in_protocol=None, out_protocol=None)

เพื่อให้แน่ใจว่า API ของคุณสามารถทำงานได้ ให้เพิ่มโค้ดต่อไปนี้ด้านล่างลงในไฟล์ที่คุณสร้างไว้ในขั้นตอนก่อนหน้า

from wsgiref.simple_server import make_server

if __name__ == '__main__':
    server = make_server('0.0.0.0', 8000, application)
    server.serve_forever()

สุดท้าย ตรวจสอบว่ามันทำงานได้โดยการรันสคริปต์ Python บน Bash

python soap_service.py

SOAP API นี้ควรทำงานบนเซิร์ฟเวอร์ HTTP อย่างง่ายด้วย URL http://0.0.0.0:8000

การทดสอบ Python SOAP API โดยใช้ Apidog

สงสัยว่า SOAP API ที่คุณสร้างด้วย Python ทำงานหรือไม่? ลองใช้ Apidog - แพลตฟอร์ม API ที่ทรงพลังซึ่งช่วยให้คุณไม่เพียงแต่ทดสอบเท่านั้น แต่ยังแก้ไขข้อบกพร่องและสร้าง API ได้อีกด้วย

ในบทความนี้ จะมีการสาธิตวิธีการทดสอบ Python SOAP API (หมายเหตุ: คำขอนี้แตกต่างจาก Python requests!)

ข้อกำหนดเบื้องต้นสำหรับการทดสอบ

ในการทดสอบ Python SOAP API ตรวจสอบให้แน่ใจว่า:

button

คุณจะต้องเลือกบัญชีที่คุณต้องการเข้าสู่ระบบ Apidog

ขั้นตอนในการทดสอบ Python SOAP API บน Apidog

ขั้นตอนที่ 1: สร้างคำขอใหม่ใน Apidog

create new request on Apidog
สร้างคำขอใหม่บน Apidog

เลือกปุ่มตามที่แสดงในภาพด้านบน

ขั้นตอนที่ 2: กำหนดค่าคำขอใหม่

change request type url apidog
การกำหนดค่าคำขอใหม่

ลูกศร 1 - ตรวจสอบให้แน่ใจว่าได้ตั้งค่าประเภทคำขอเป็น POST เนื่องจากคำขอ SOAP มักจะถูกส่งผ่านวิธี HTTP POST ที่นี่ คุณควรตั้งค่า Request URL เป็นจุดสิ้นสุดของ Python SOAP API ที่กำลังทำงานของคุณ ตัวอย่างของ URL คำขอนี้สามารถเป็น http://localhost:8000/

ลูกศร 2 - เพิ่มพารามิเตอร์เพิ่มเติมเพื่อให้ตรงกับ SOAP API ของคุณ

ขั้นตอนที่ 3 - รวมส่วนหัว

set headers to test soap api apidog
การตั้งค่าส่วนหัวให้กับคำขอ API ของคุณ

ในการไปยังส่วนด้านบน ให้คลิกปุ่ม "Headers" และเพิ่มส่วนหัวสองรายการลงในคำขอของคุณ:

ขั้นตอนที่ 4 - ตั้งค่า Request Body

setting raw request body xml format apidog
การตั้งค่า Request Body สำหรับการทดสอบ SOAP API

ตัวอย่างคำขอ SOAP สำหรับเมธอดที่เรียกว่า say_hello สามารถเพิ่มได้ เช่น:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="my_namespace">
    <soapenv:Header/>
    <soapenv:Body>
        <web:say_hello>
            <name>John</name>
            <times>3</times>
        </web:say_hello>
    </soapenv:Body>
</soapenv:Envelope>

เพียงตรวจสอบให้แน่ใจว่าหากใช้ตัวอย่างโค้ดด้านบนนั้น เนมสเปซ (my_namespace) และพารามิเตอร์เมธอดถูกแทนที่ด้วยรายละเอียดบริการจริงของคุณ

ขั้นตอนที่ 5 - ส่งคำขอและตรวจสอบการตอบสนอง

เมื่อทุกอย่างพร้อมแล้ว ให้กดปุ่ม "Send" ที่มุมขวาบนของหน้าจอ!

หากสำเร็จ คุณควรจะสามารถดูการตอบสนองที่ได้รับได้ ตรวจสอบอีกครั้งว่าการตอบสนองเป็นไปตามที่คุณคาดหวังหรือไม่

บทสรุป

Python เป็นโปรแกรมการเขียนโปรแกรมที่แนะนำซึ่งมีความยืดหยุ่นมากมายสำหรับโปรแกรมเมอร์ทั้งใหม่และเก่า สิ่งที่คุณต้องทำคือเลือกแพลตฟอร์ม API (เช่น Apidog) และคุณสามารถเริ่มทดสอบฟังก์ชันการทำงานของ SOAP API ของคุณได้ อย่างไรก็ตาม แน่นอนว่าคุณสามารถใช้ Apidog เพื่อทดสอบ Python REST APIs ได้เช่นกัน!

```

Explore more

วิธีเรียกใช้ Mistral Small 3.1 ในเครื่องของคุณเองโดยใช้ Ollama: คู่มือทีละขั้นตอน

วิธีเรียกใช้ Mistral Small 3.1 ในเครื่องของคุณเองโดยใช้ Ollama: คู่มือทีละขั้นตอน

เรียนรู้วิธีรัน Mistral Small 3.1 (AI โอเพนซอร์ส) บนเครื่องคุณเองด้วย Ollama คู่มือนี้ง่าย ครอบคลุมการติดตั้ง, การใช้งาน, และเคล็ดลับ

19 March 2025

NDJSON 101: การสตรีมผ่าน HTTP Endpoints

NDJSON 101: การสตรีมผ่าน HTTP Endpoints

ค้นพบ NDJSON: สตรีมข้อมูลผ่าน HTTP อย่างมีประสิทธิภาพ! คู่มือนี้อธิบายพื้นฐาน, ข้อดีเหนือ JSON, และวิธี Apidog ช่วยทดสอบ/แก้จุดบกพร่อง endpoint สตรีมมิ่ง

18 March 2025

วิธีนำเข้า/ส่งออกข้อมูลคอลเลกชันใน Postman

วิธีนำเข้า/ส่งออกข้อมูลคอลเลกชันใน Postman

ในบทความนี้ เราจะคุยเรื่องนำเข้า/ส่งออก Postman และวิธีแก้ปัญหาที่ยืดหยุ่นกว่า ไม่จำกัดจำนวนครั้ง

18 March 2025

ฝึกการออกแบบ API แบบ Design-first ใน Apidog

ค้นพบวิธีที่ง่ายขึ้นในการสร้างและใช้ API