Cách tạo dịch vụ Web SOAP trong PHP
Gần đây, tôi đã phải tương tác với một số dịch vụ web SOAP và tôi đã nghĩ ra một số kỹ thuật để giúp xây dựng người tiêu dùng dịch vụ web SOAP tốt Show Hai mục tiêu quan trọng nhất khi xây dựng ứng dụng tiêu dùng SOAP là để mã có thể bảo trì được và có thể kiểm tra được khởi đầu đen tốiCách tiếp cận đầu tiên tự nhiên là viết một lớp xử lý mọi thứ cần thiết để tương tác với dịch vụ web
Những gì chúng tôi đã viết ở trên rất khó kiểm tra vì chúng tôi đang tự xây dựng 0. Kiểm tra bất kỳ phương pháp nào trên người tiêu dùng có nghĩa là thực hiện cuộc gọi thực sự đến dịch vụ webChúng ta có thể làm tốt hơn
Bằng cách yêu cầu người tiêu dùng tuyên bố thẳng thắn những gì nó yêu cầu để hoạt động (một phiên bản của ứng dụng khách), giờ đây chúng tôi có thể xây dựng người tiêu dùng với các phiên bản giả của 0, nơi chúng tôi có thể thực hiện các cuộc gọi thực đến dịch vụ web
Viết bài kiểm traBây giờ, chúng ta đã có cách đưa ứng dụng khách vào ứng dụng tiêu dùng của mình, hãy sử dụng Mockery để giả mạo cuộc gọi dịch vụ web
Vì PHP's 0 trả về một đối tượng 3 từ một lệnh gọi phương thức dịch vụ web, nên đó là những gì chúng ta sẽ có đối tượng giả của mình trả về – ngoại trừ việc chúng ta sẽ sử dụng đoạn mã XML được xác định trước để kiểm soát môi trường thử nghiệm của mìnhGiờ đây, chúng tôi có thể tự do kiểm tra phản hồi khi chúng tôi thấy phù hợp Tránh lớp người tiêu dùng dài 4000 dòngKhi bạn viết càng nhiều mã để sử dụng các phương thức của dịch vụ web, lớp của bạn sẽ nhanh chóng phát triển lâu dài. Điều này sẽ xảy ra đặc biệt nhanh chóng nếu có bất kỳ logic phức tạp nào liên quan đến việc định dạng các yêu cầu và phản hồi của phương thức dịch vụ web Cách tiếp cận tôi sử dụng để giữ cho các lớp ngắn gọn là viết một lớp cho mỗi phương thức dịch vụ web. Đây là cách
Lớp người tiêu dùng được tái cấu trúc hiện tìm kiếm một lớp trong không gian tên 4\* có cùng tên với phương thức đang được gọi. Nếu tìm thấy, nó sẽ tạo một thể hiện của lớp và ủy quyền cho nóTrong ví dụ của chúng tôi, một cuộc gọi đến 5 sẽ được định tuyến nội bộ đến một lớp khác có tên là 6Cho dù chúng ta cần sử dụng bao nhiêu phương pháp, lớp người tiêu dùng của chúng ta sẽ không bao giờ lớn hơn nữa
Đây là lớp học 6 của chúng ta trông như thế nào 2Bộ nhớ đệm cuộc gọiMột kỹ thuật tối ưu hóa phổ biến là lưu vào bộ nhớ đệm các cuộc gọi dịch vụ web. Với một điều chỉnh nhỏ đối với người tiêu dùng của chúng tôi, chúng tôi có thể cho phép các lớp phương thức của mình chịu trách nhiệm về bộ nhớ đệm của riêng chúng 3Bất cứ khi nào một lớp phương thức triển khai giao diện 8, phương thức 9 sẽ được gọi thay thế. Nếu sử dụng Laravel, điều này có thể giống như bên dưới 6Ghi nhật ký cuộc gọiGỡ lỗi sẽ dễ dàng hơn nhiều nếu tất cả các cuộc gọi dịch vụ web của bạn được ghi lại. Vì chúng tôi đang đưa 0 vào người tiêu dùng của mình nên chúng tôi có thể viết một trình trang trí đơn giản để ghi nhật ký tất cả các cuộc gọi dịch vụ web 8Để yêu cầu được ghi lại chính xác, chúng tôi cần bật theo dõi khi định cấu hình 1 của chúng tôi 0Tất nhiên, chúng ta có thể cấu hình Container của Laravel để xây dựng lớp người tiêu dùng một cách chính xác bất cứ khi nào chúng ta yêu cầu, bằng cách viết đoạn mã sau vào một nhà cung cấp dịch vụ 1Chấm dứtXử lý các dịch vụ web SOAP có thể là một công việc lộn xộn. Sử dụng và cải thiện các kỹ thuật được viết ở đây để làm cho quy trình dễ chịu hơn một chút Làm cách nào để tạo dịch vụ web SOAP?Chúng ta sẽ tạo một dự án Spring Boot nơi chúng ta sẽ xác định máy chủ SOAP WS của mình. . 4. 1. Phụ thuộc Maven. . 4. 2. Tệp XSD. . 4. 3. Tạo các lớp Java miền. . 4. 4. Thêm điểm cuối dịch vụ web SOAP. . 4. 5. Đậu cấu hình dịch vụ web SOAP Làm cách nào để gọi dịch vụ web SOAP trong PHP?Sử dụng phương thức như POST Trong URL, hãy chuyển url api xà phòng hoặc url wsdl (https. //www. truy cập dữ liệu. com/webservicesserver/chuyển đổi số. wso?WSDL) Trong phần Tiêu đề, hãy sử dụng => Loại nội dung. văn bản/xml Chuyển yêu cầu XML bên dưới trong phần Nội dung dưới dạng dữ liệu thô Làm cách nào để tạo yêu cầu SOAP trong PHP?Để thực hiện các yêu cầu SOAP tới điểm cuối API SOAP, hãy sử dụng tùy chọn "Content-Type. application/soap+xml" tiêu đề yêu cầu , cho máy chủ biết rằng phần thân yêu cầu chứa một phong bì SOAP. Máy chủ thông báo cho máy khách rằng nó đã trả về một phong bì SOAP với "Kiểu nội dung. ứng dụng/xà phòng + xml" tiêu đề phản hồi.
Làm cách nào để tạo một dịch vụ Web trong PHP?Dịch vụ web trong PHP (Cách tạo dịch vụ web đăng ký/đăng ký người dùng) . SOAP (Giao thức truy cập đối tượng đơn giản). REST (Chuyển giao trạng thái đại diện). BƯU KIỆN. Tạo một tài nguyên mới ĐẶT. Cập nhật một tài nguyên cụ thể theo một id XÓA BỎ. Xóa một tài nguyên cụ thể Ví dụ về POST |