NuSOAP教程_PHP教程
这个文档描述了如何取得和安装 NuSOAP,然后提供一些实例来说明 NuSOAP 的功能,这并不是一个全面的 NuSOAP 的介绍,但是希望能够然一些 PHP 开发者可以有一个很好的入门。 NuSOAP 是一组 PHP 类,它让开发者可以创建和使用 SOAP web services。它不需要安装任何的 PHP 扩展。它是在2004年12月3日被开发,当前的版本是 NuSOAP(0.6.7) 。支持 SOAP 1.1 规范,它能够生产 WSDL 1.1 ,当然也可以使用它,同时也支持 rpc/encoded and document/literal service。但是,必须注意 NuSOAP 没有像 .NET 和 Apache Axis 那样提供完全的实现。 Hello, World 我们先从服务器端开始,应为没有服务器端,有客户端也是没有意义的。我们将编写一个带有单个参数并返回一个字符串,名叫 Hello 的 SOAP 方法,希望代码中的注释能够提供有效的说明。 // Pull in the NuSOAP code 以下是客户端的代码,有一些重要的事情需要注意:首先,当创建实例 soapclient 时,需要指定一个 service 的 URL 为参数,在这个实例中,helloworld.php 从 http://localhost/phphack 访问的。当然,你要使用的 services 放在不同的 URL;第二,当调用service 时,第一个参数是 service 的名字,必须要匹配有效的方法名(有的服务器是大小写敏感的)。在这个实例,他必须匹配在 helloworld.php 中已经注册了的方法。最后,第二个参数是一个数组,它将是传递给 SOAP service 方法作为参数。既然 helloworld.php 中的方法 hello 只有一个参数,那么数组就只有一个元素。 // Pull in the NuSOAP code Debugging // Pull in the NuSOAP code
我会以 "Hello, World" 为实例做开始,编写基本的 NuSOAP 客户端和服务器端的代码。
require_once(nusoap.php);
// Create the server instance
$server = new soap_server;
// Register the method to expose
$server->register(hello);
// Define the method as a PHP function
function hello($name) {
return Hello, . $name;
}
// Use the request to (try to) invoke the service
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : ;
$server->service($HTTP_RAW_POST_DATA);
?>
require_once(nusoap.php);
// Create the client instance
$client = new soapclient(http://localhost/phphack/helloworld.php);
// Call the SOAP method
$result = $client->call(hello, array(name => Scott));
// Display the result
print_r($result);
?>
编程时,当有问题出现的时候你都需要调试。NuSOAP 提供了一组工具来帮助你做这个工作。NuSOAP 调试的时候需要查看的信息是发送的请求信息和返回的相应信息。NuSOAP 的客户端类允许你通过它的两个成员来查看这些信息。例如,这里是显示请求和响应的 helloworldclient.php 的修改版。在下一部分我会回顾显示在客户端代码的请求和响应信息。
require_once(nusoap.php);
// Create the client instance
$client = new soapclient(http://localhost/phphack/helloworld.php);
// Call the SOAP method
$result = $client->call(hello, array(name => Scott));
// Display the result
print_r($result);
// Display the request and response
echo Request
;
echo . htmlspecialchars($client->request, ENT_QUOTES) .
echo Response
;
echo . htmlspecialchars($client->response, ENT_QUOTES) .
?>
NuSOAP 也提供了一个方法使用它的类就可以通过日志来查看调试信息。加入以下的代码将会显示冗长的调试信息。不幸的是输出的说明必须留给读者。
// Display the debug messages
echo
Debug
;echo
. htmlspecialchars($client->debug_str, ENT_QUOTES) .
服务器端能够提供相似的调试信息,有趣的是,这些调试信息是在SOAP 的相应的末尾以 xml 格式显示,因此它可以在客户端中查看到。服务器端的调试看起来像这样:
// Pull in the NuSOAP code
require_once(nusoap.php);
// Enable debugging *before* creating server instance
$debug = 1;
// Create the server instance
$server = new soap_server;
// Register the method to expose
$server->register(hello);
// Define the method as a PHP function
function hello($name) {
return Hello, . $name;
}
// Use the request to (try to) invoke the service
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : ;
$server->service($HTTP_RAW_POST_DATA);
?>
调试的第三个方法不算是真正的调试,它是很好的编程实践。上面的实例在调用 SOAP 的时候没有做错误的检查,更健壮的客户端会像这样:
// Pull in the NuSOAP code
require_once(nusoap.php);
// Create the client instance
$client = new soapclient(http://localhost/phphack/helloworld.php);
// Check for an error
$err = $client->getError();
if ($err) {
// Display the error
echo
Constructor error: . $err .
;// At this point, you know the call that follows will fail
}
// Call the SOAP method
$result = $client->call(hello, array(name => Scott));
// Check for a fault
if ($client->fault) {
echo
Fault: ;
print_r($result);
echo
} else {
// Check for errors
$err = $client->getError();
if ($err) {
// Display the error
echo
Error: . $err .
;} else {
// Display the result
print_r($result);
}
}
?>
为了测试代码,需要引起错误发生,例如,改变调用的方法名称 hello 为 goodbye。
Request and Response
我在上面的例子中已经展示了显示 SOAP 的请求和响应信息是如此的容易,在这里 hello2client.php 的请求信息:
POST /phphack/helloworld2.php HTTP/1.0
Host: localhost
User-Agent: NuSOAP/0.6.8 (1.81)
Content-Type: text/xml; charset=ISO-8859-1
SOAPAction: ""
Content-Length: 538
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:si="http://soapinterop.org/xsd">
在 HTTP headers 里,你会看到 SOAPAction 是一个空的字符串,这是它的默认值。你的 service 方法可以设置 SOAPAction 的值,你的客户端代码可以指定 SOAPAction 作为参数来调用方法。
在 XML payload,你可以看到 NuSOAP 使用和Latin-1一样著名的 ISO-8859-1 做为编码,为了指定不同的编码,你可以在客户端 soapclient 的实例设置 soap_defencoding 属性。使用指定的编码来编码参数的数据当然就是程序员的责任。幸运地,在 SOAP 里PHP提供了很多函数来编码和解码最通用的编码数据,如 UTF-8。
另一件事情要注意的是,元素指定要调用的方法,名称为 hello 的元素被放在 http://tempuri.org的域名下,指定真实的域名是最佳的实践,对于很多 services 也是很有必要的。这里展示了一个未来的文档:
SOAP 服务的响应像以下:
HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
Date: Wed, 03 Nov 2004 21:32:34 GMT
X-Powere

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Selepas hujan pada musim panas, anda sering dapat melihat pemandangan cuaca istimewa yang indah dan ajaib - pelangi. Ini juga merupakan pemandangan jarang yang boleh ditemui dalam fotografi, dan ia sangat fotogenik. Terdapat beberapa syarat untuk pelangi muncul: pertama, terdapat titisan air yang mencukupi di udara, dan kedua, matahari bersinar pada sudut yang lebih rendah. Oleh itu, adalah paling mudah untuk melihat pelangi pada sebelah petang selepas hujan reda. Walau bagaimanapun, pembentukan pelangi sangat dipengaruhi oleh cuaca, cahaya dan keadaan lain, jadi ia biasanya hanya bertahan untuk jangka masa yang singkat, dan masa tontonan dan penangkapan terbaik adalah lebih pendek. Jadi apabila anda menemui pelangi, bagaimanakah anda boleh merakamnya dengan betul dan mengambil gambar dengan kualiti? 1. Cari pelangi Selain keadaan yang dinyatakan di atas, pelangi biasanya muncul mengikut arah cahaya matahari, iaitu jika matahari bersinar dari barat ke timur, pelangi lebih cenderung muncul di timur.

Langkah terperinci untuk memasang bahasa Go pada komputer Win7 Go (juga dikenali sebagai Golang) ialah bahasa pengaturcaraan sumber terbuka yang dibangunkan oleh Google Ia mudah, cekap dan mempunyai prestasi serentak yang sangat baik Ia sesuai untuk pembangunan perkhidmatan awan, aplikasi rangkaian dan sistem hujung belakang. Memasang bahasa Go pada komputer Win7 membolehkan anda memulakan bahasa dengan cepat dan mula menulis program Go. Berikut akan memperkenalkan secara terperinci langkah-langkah untuk memasang bahasa Go pada komputer Win7, dan melampirkan contoh kod tertentu. Langkah 1: Muat turun pakej pemasangan bahasa Go dan lawati tapak web rasmi Go

Memasang bahasa Go di bawah sistem Win7 adalah operasi yang agak mudah Hanya ikuti langkah berikut untuk berjaya memasangnya. Berikut akan memperkenalkan secara terperinci cara memasang bahasa Go di bawah sistem Win7. Langkah 1: Muat turun pakej pemasangan bahasa Go Mula-mula, buka tapak web rasmi bahasa Go (https://golang.org/) dan masukkan halaman muat turun. Pada halaman muat turun, pilih versi pakej pemasangan yang serasi dengan sistem Win7 untuk dimuat turun. Klik butang Muat turun dan tunggu pakej pemasangan dimuat turun. Langkah 2: Pasang bahasa Go

Tutorial PHP: Cara Menukar Jenis Int kepada Rentetan Dalam PHP, menukar data integer kepada rentetan adalah operasi biasa. Tutorial ini akan memperkenalkan cara menggunakan fungsi terbina dalam PHP untuk menukar jenis int kepada rentetan, sambil memberikan contoh kod khusus. Gunakan cast: Dalam PHP, anda boleh menggunakan cast untuk menukar data integer kepada rentetan. Kaedah ini sangat mudah Anda hanya perlu menambah (rentetan) sebelum data integer untuk menukarnya menjadi rentetan. Di bawah ialah kod contoh mudah

Program PHP yang penting: Pasang ini untuk berjalan dengan lancar! PHP ialah bahasa skrip sebelah pelayan yang popular yang digunakan secara meluas untuk membangunkan aplikasi web. Untuk berjaya menjalankan program PHP, anda perlu memasang beberapa perisian dan alatan yang diperlukan pada pelayan terlebih dahulu. Dalam artikel ini, kami akan memperkenalkan perisian dan alatan yang mesti dipasang, bersama dengan contoh kod khusus untuk membantu anda menjalankan program PHP dengan lancar. 1. Jurubahasa PHP Teras program PHP ialah jurubahasa PHP, yang bertanggungjawab untuk menghurai dan melaksanakan kod PHP. Untuk memasang penterjemah PHP, anda boleh mengikuti

Peluasan pasaran maya tidak dapat dipisahkan daripada peredaran mata wang maya, dan secara semula jadi ia juga tidak dapat dipisahkan daripada isu pemindahan mata wang maya. Ralat pemindahan biasa ialah ralat salinan alamat, dan ralat lain ialah ralat pemilihan rantai. Pemindahan mata wang maya ke rantaian yang salah masih menjadi masalah yang sukar, tetapi disebabkan oleh operasi pemindahan yang tidak mahir, orang baru sering memindahkan rantaian yang salah Jadi bagaimana untuk memulihkan rantaian mata wang maya yang salah? Pautan yang salah boleh diambil melalui platform pihak ketiga, tetapi ia mungkin tidak berjaya. Seterusnya, editor akan memberitahu anda secara terperinci untuk membantu anda menjaga aset maya anda dengan lebih baik. Bagaimana untuk mendapatkan semula rantaian mata wang maya yang salah? Proses mendapatkan semula mata wang maya yang dipindahkan ke rantaian yang salah mungkin rumit dan mencabar, tetapi dengan mengesahkan butiran pemindahan, menghubungi bursa atau pembekal dompet, mengimport kunci peribadi ke dompet yang serasi dan menggunakan alat jambatan rantai silang

Panduan Pemasangan Sambungan PHPFFmpeg: Tutorial yang ringkas dan mudah difahami Dalam proses pembangunan laman web, kadangkala kita perlu memproses pelbagai fail multimedia, seperti audio, video, dll. FFmpeg ialah alat pemprosesan multimedia yang berkuasa yang boleh memproses audio, video dan format lain, dan menyokong pelbagai transkod, pemotongan dan operasi lain. Sambungan PHPFFmpeg ialah perpustakaan sambungan yang memanggil fungsi FFmpeg dalam PHP. Ia boleh digunakan untuk memproses fail multimedia dengan mudah. Di bawah ini kami akan memperkenalkan PHPF secara terperinci

Bagaimana untuk memuat turun 360 Secure Browser pada komputer anda? Ia adalah perisian penyemak imbas web yang sangat selamat. Pelayar ini sangat kaya dengan fungsi dan sangat mudah untuk dikendalikan. tetapi ramai orang masih tidak tahu cara memuat turun dan memasang 360 Secure Browser pada komputer mereka. Artikel ini akan memberi anda pengenalan terperinci kepada proses pemasangan versi PC Pelayar Selamat 360, dengan harapan dapat membantu anda menyelesaikan masalah tersebut. Gambaran keseluruhan proses pemasangan di bawah versi komputer 360 Secure Browser 1. Pada halaman utama komputer, cari "360 Software Manager" dan masukkan (seperti yang ditunjukkan dalam gambar). 2. Buka 360 Software Manager dan cari kotak carian (seperti yang ditunjukkan dalam gambar). 3. Klik Cari
