Hoàng Web

Thiết Kế Website WordPress

  • Kho giao diện
  • Dịch Vụ
    • Thiết kế web giá rẻ
    • Thiết kế website WordPress
    • Hosting Miễn Phí 100GB
    • Tích hợp thanh toán MoMo, ViettelPay, Vietcombank, MB..
    • Tối ưu Google PageSpeed
    • Sửa lỗi nâng cấp website
    • Viết plugin WordPress
    • Code Tool theo yêu cầu
  • Bảng giá
  • Quy trình làm việc
  • Giới thiệu
  • Liên Lạc
Trang chủ » Wordpress » Hướng dẫn tạo dịch vụ SOAP, WSDL cho wodpress

Hướng dẫn tạo dịch vụ SOAP, WSDL cho wodpress

Chủ Nhật, 20/07/2014 by Hoàng Quách

  • shares
  • Facebook
  • Facebook Messenger
  • Gmail
  • Viber
  • Skype

Dịch vụ soap là dịch vụ web service, xây dựng cho website để cho phép ứng dụng thứ 3 tương tác vào dữ liệu của website. Khác với dịch vụ web service json api, Soap trả về dữ liệu xml WSDL và json api thì trả về kiểu dữ liệu json.

Soap được thiết kế với ý tưởng gọi hàm, soap có 2 phần:

  • Soap server: chính là nội dung webservice, phần này xây dựng ở phía web wordpress. Soap server có sau khi được tạo sẽ cung cấp địa chỉ cho soap client truy cập và sử dụng. Nhận dạng Địa chỉ Soap có thêm tham số ?wsdl
  • Soap client: mọi nền tảng có hỗ trợ soap đây còn gọi là thiết bị đầu cuối, là phần sử dụng soap. Hầu hết các ngôn ngữ lập trình hiện nay đều hỗ trợ soap như php, asp, java,j2me,c#,python,…

– Hiểu đơn giản: Soap server là nơi cung cấp sản phẩm còn Soap client là nơi sử dụng sản phẩm.

Giải thích: Soap server chứa các hàm được xây dựng và thực thị bởi một ngôn ngữ (vd: php), một thư viện soap được chèn vào bộ code website “cung cấp dịch vụ soap” và trở thành soap server. ứng dụng thứ 3 hay soap client không thể truy cập trực tiếp mã code này, thay vào đó nó được mã hóa sang dạng WSDL là dữ liệu XML chứa thông tin các hàm có trong dịch vụ soap. Khi đó địa chỉ soap server có dạng:

http://example.com/?wsdl

Một số thư viện soap để bạn tham khảo: nusoap

< ?xml version="1.0"?>
<soap:envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">

<soap:body xmlns:m="http://www.example.org/stock">
  <m:getstockprice>
    <m:stockname>IBM</m:stockname>
  </m:getstockprice>
</soap:body>

</soap:envelope>

Quay trở lại bài viết, wordpress có hỗ trợ một vài plugin để tạo soap, hiện tại mình biết được plugin này các bạn tải plugin này tại đây nhé: Download WordPress Soap service

Sau khi tải về, kích hoạt plugin. Trong bài viết này địa chỉ web mình lấy là http://localhost/wordpress , thì địa chỉ của soap sẽ là:
http://localhost/wordpress?/wpws/?wsdl
Truy cập địa chỉ này trên trình duyệt sẽ thấy kết quả trả về file xml, file này gọi là wsdl. Thông tin tất cả các hàm sẽ sử dụng thể hiện ở URL này.

Xem thông tin của plugin, bạn truy cập vào địa chỉ: http://localhost/wordpress?/wpws
Kết quả:
wordpress-soap-plugin

Sử dụng Soap

Mình chạy thử soap với php, trong PHP có hỗ trợ thư viện Soap client. Sử dụng notepad++ tạo mới file wp-soap-client.php, và chép vào đoạn code dưới đây:

< ?php
$url='http://localhost/wordpress/index.php?/wpws/?wsdl';
$client     = new SoapClient($url, array("trace" => 1, "exception" => 0));
$result = $client->__soapCall("getPosts",array('id'=>'1'));
print_r($result);
?>

Đoạn code trên kết nối vào dịch vụ soap có địa chỉ http://localhost/wordpress/index.php?/wpws/?wsdl sử dụng class SoapClient. Trong đối tượng lớp SoapClient có phương thức __soapCall dùng để gọi hàm. Tham số mảng array('id'=>'1') chứa các tham số có sử dụng vào hàm được gọi.

Hàm getPosts trong wordpress trả về nội dung của post, trong ví dụ trên chúng ta có kết quả của getPosts(1):

stdClass Object ( [item] => stdClass Object ( [id] => 1 [author] => 1 [date] => 2014-07-15 03:03:08 [dateGmt] => 2014-07-15 03:03:08 [content] => Welcome to wp2 Sites. This is your first post. Edit or delete it, then start blogging! [title] => Hello world! [excerpt] => [status] => publish [commentStatus] => open [pingStatus] => open [password] => [name] => hello-world [toPing] => [pinged] => [modified] => 2014-07-17 10:48:19 [modifiedGmt] => 2014-07-17 10:48:19 [contentFiltered] => [parentId] => 0 [guid] => http://localhost/wp2/thevistaanphu/?p=1 [menuOrder] => 0 [type] => post [mimeType] => [commentCount] => 1 [filter] => raw ) )

FAQ

Nếu không truy cập được địa chỉ soap wsdl, bạn kiểm tra file wpws.wsdl có tồn tại trong folder plugin wordpress-web-service không. Nếu không tồn tại thì copy wpws.template.wsdl thành wpws.wsdl rồi edit file với notepad++:
Tìm chuỗi: wsdlsoap:address thay %{BLOG_PATH} bằng địa chỉ web của bạn (ví dụ: http://yoursite.com/blog), sau đó save lại.

Chúc bạn thành công.

Hãy cho mình biết suy nghĩ của bạn trong phần bình luận bên dưới bài viết này. Hãy theo dõi kênh chia sẻ kiến thức WordPress của Hoangweb trên Twitter và Facebook

  • shares
  • Facebook
  • Facebook Messenger
  • Gmail
  • Viber
  • Skype

Chuyên mục: Wordpress Tìm kiếm: soap wsdl

Tôi giúp gì cho bạn?

HOÀNG WEB

Địa chỉ: Tây Sơn, Phường Quang Trung, Quận Đống Đa, Hà Nội

Hotline: 0987 342 124 – 0868 292 303 (8h:00 – 21h:00)

Email: [email protected]

Website: www.hoangweb.com

KẾT NỐI VỚI TÔI

  • Facebook
  • GitHub
  • YouTube

SẢN PHẨM

  • Plugin Thanh Toán Quét Mã QR Code Tự Động
  • WP2Speed – Tối ưu Google Speed
  • 23WebHost – Hosting Miễn Phí 100GB

LIÊN KẾT

  • Có nên thuê thiết kế website giá rẻ?
  • Hướng dẫn thanh toán
  • Chính sách hoàn tiền
  • Trung tâm hỗ trợ

Copyright © 2023 | All rights reserved | HOANG WEB
Mọi hình thức sao chép nội dung trên website này mà chưa được sự đồng ý đều là trái phép.