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

Quảng cáo
Ads_ngang
Website dinhthuanit.com có bài Hướng dẫn tạo dịch vụ SOAP, WSDL cho wodpress

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 thành lập ở phía web wordpress. Soap server có sau khi được tạo sẽ cung cấp địa điểm 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ó bổ 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 giờ đều hỗ trợ soap như php, asp, java,j2me,c#,python,…

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

Giải thích : Soap server chứa các hàm được thành lập 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 chẳng thể truy cập trực diện mã code này, không dừng lại ở đó 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

               IBM             

Quay trở lại bài viết, wordpress có bổ trợ một vài plugin để tạo soap, hiện tại mình hiểu rằng 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 điểm web mình lấy là http://localhost/wordpress , thì địa điểm của soap sẽ là:
http://localhost/wordpress?/wpws/?wsdl
Truy cập địa điểm này trên trình duyệt sẽ thấy kết quả trả về file xml, file này xem là wsdl. Thông tin mọi thứ 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    (    '1'    )    )    ;     print_r    (    $result    )    ;     ?>    

Đoạn code trên kết nối vào dịch vụ soap có địa điểm 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 để làm gọi hàm. Tham số mảng array('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! 

Lorem ipsum dolor sit amet...

=> 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ó hiện hữu trong folder plugin wordpress-web-service không. Nếu không hiện hữu 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.

Để thu được bài viết mới vui lòng đăng ký kênh kiến thức WordPress từ A-Z ở Form bên dưới. Bạn cũng cũng có thể nhận được sự trợ giúp trên Twitter và Facebook

Bài viết Hướng dẫn tạo dịch vụ SOAP, WSDL cho wodpress được tổng hợp và biên tập bởi: dinhthuanit.com. Mọi ý kiến đóng góp và phản hồi vui lòng gửi Liên Hệ cho dinhthuanit.com để điều chỉnh. dinhthuanit.com xin cảm ơn.

Bài Viết Liên Quan


Bài Viết Khác


Quảng cáo
Ads_ngang