當前位置:首頁 » 編程語言 » php調用soap

php調用soap

發布時間: 2022-05-18 17:14:53

❶ 如何使用php調用ArcGIS Server的Soap介面

查看ArcGIS Server的SOAP SDK的幫助的時候,會發現所提供的示例代碼只有c#,vb.net和java的,並沒有PHP語言的示例,實際上並不是不支持PHP語言,從PHP toolkits include PHP-SOAP and NuSOAP上可以看出PHP是支持Soap協議的,只不過使用PHP並沒有提供現成的工具可以將WSDL轉換成本地化的類,而.NET SDK提供了Wsdl.exe工具,java提供了Apache Axis工具可以將WSDL中的類型轉換成本地化類。
當使用PHP調用WebService的時候,當輸入的參數是簡單數據類型的時候是沒有任何問題的,返回值類型是類得時候也沒有任何的問題,但是當輸入參數的值類型為某個類得時候,就無法調用了,這些類太多了,自己手寫這些類幾乎是不可能,因此找到一個類似於Wsdl.exe和Apache Axis的工具還是很有必要的,在網上終於搜到一個工具,名字為wsdl2php.php可以實現該功能

❷ 如何讓本機php環境支持soap

將php_soap.dll(在php安裝路徑下可以找到)復制到system32下
重啟伺服器,如果還是不行 你可以看下錯誤日誌,具體什麼問題

❸ 【PHP】【SOAP】請求伺服器端報錯:方法未找到

你好,有一個較簡單的方法可以檢查下service端是否存在該方法, 或者說你所用的方法名稱是否正確, 方法如下:
$functions = $client->__getFunctions ();
var_mp ($functions);
希望對你有所幫助!

❹ ThinkPHP中怎麼調用nusoap

?php
class ServerAction extends Action { 
public function _initialize() {
Vendor('Ns.nusoap'); 
// 初始化服務對象 , 這個對象是類 soap_server 的一個實例
$soap = new soap_server (); 
// 調用服務對象的 register 方法注冊需要被客戶端訪問的程序。
// 只有注冊過的程序,才能被遠程客戶端訪問到。
$soap->register ( 'hello' ); 
// 最後一步,把客戶端通過 post 方式提交的數據,傳遞給服務對象的 service 方法。
// service 方法處理輸入的數據,調用相應的函數或方法,並且生成正確的反饋,傳回給客戶端。
$soap->service ( $HTTP_RAW_POST_DATA );
}
// 定義服務程序
function hello() {
return 'Hello World!';
}
}
你可以去後盾人平台看看,裡面的東西不錯

❺ php怎樣通過SoapClient調用webservice介面

首先要先配置;extension=php_soap.dll我們打開php.ini
php怎樣通過SoapClient調用webservice介面

我們打開一個webservice的例子
php怎樣通過SoapClient調用webservice介面

怎樣看這個xml的文件呢,如下圖
php怎樣通過SoapClient調用webservice介面

下面我們開始寫代碼,先實例化SoapClient
php怎樣通過SoapClient調用webservice介面

使用介面方法,get_object_vars得到的是指定的對象中定義的屬性組成的關聯數組
php怎樣通過SoapClient調用webservice介面
6

最後運行一下測試一下
php怎樣通過SoapClient調用webservice介面

❻ 用php讀取xml soap,該怎麼處理

把它當xml 用simplexml解析
<?php
$soap=<<<SOAP
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="" xmlns:xsi="" xmlns:xsd="">
<soap:Body>
<QueryResponse xmlns="">
<QueryResult>
Order_flag=0&Name_num=2077&StartCity=SZX&EndCity=PEK&Dates=2012-5-31&.......後面還有好多這樣的數據。
</QueryResult>
</QueryResponse>
</soap:Body>
</soap:Envelope>
SOAP;
$xml=simplexml_load_string($soap);
$result = $xml->children('')
->children('')
->QueryResponse
->QueryResult;
echo $result;

❼ php中soapClient如何配置

一、Linux下安裝soap模塊
安裝完php後最好保留當時安裝的文件,比如usr/local/php-5.3.2
查看soap模塊是否安裝的辦法:在php的安裝目錄下運行php -m來查看
如:/usr/local/php/bin/php -m |grep 『soap』
如果沒有安裝,則進入php的安裝源文件夾
cd php-5.3.2/ext/soap
進入後在此運行phpize命令
/usr/local/php/bin/phpize
查看信息是否有出錯,沒有出錯的話運行如下命令:
./configure –with-php-config=/usr/local/php/bin/php-config –enable-soap
然後是安裝編譯
make
最後是安裝
make install
安裝好之後會提示soap.so文件的保存路徑
編譯後的soap.so文件保存在了/usr/local/php/lib/php/extensions/no-debug-non-zts-20111222目錄下,接著修改php.ini文件
手工修改:查找/usr/local/php/etc/php.ini中的extension_dir = 「./」,默認是注釋掉的
修改為extension_dir = 「/usr/local/php/lib/php/extensions/no-debug-non-zts-20111222/」
並在此行後增加如下,然後保存:
extension = 「soap.so」
重新啟動apache,在運行php -m就已經能看到擴展的soap模塊了。
如果還要安裝擴展別的模塊可以以此類推。

二、Windows下安裝soap模塊

在Windows下可以通過修改php.ini來選擇當PHP啟動時載入哪些擴展庫。也可以在腳本中通過使用 dl()來動態載入。PHP擴展庫的DLL文件都具有php_前綴。很多擴展庫都內置於Windows版的PHP之中。這意味著要載入這些擴展庫不需要額外的DLL文件和extension配置指令。Windows下的PHP擴展庫列表列出了需要或曾經需要額外PHP DLL文件的擴展庫。
要在php.ini中啟用某擴展庫,需要去掉該行extension=php_*.dll前的注釋符號,將想要載入的擴展庫前的分號(;)刪除即可。
啟用php_soap.dll擴展庫
// 將這一行
;extension=php_soap.dll
// 改成這樣
extension=php_soap.dll
Note: 如果運行伺服器模塊版的PHP,在修改了php.ini之後別忘了重新啟動web伺服器以使其改動生效。

下面是內置的擴展庫列表:
php_bz2.dll bzip2壓縮函數庫
php_calendar.dll 歷法轉換函數庫
php_crack.dll 密碼破解函數庫
php_ctype.dll ctype家族函數庫
php_curl.dll CURL,客戶端URL庫函數庫
php_dba.dll DBA:資料庫(dbm 風格)抽象層函數庫
php_dbase.dll dBase函數庫
php_dbx.dll dbx函數庫
php_domxml.dll DOM XML函數庫
php_dotnet.dll .NET函數庫
php_exif.dll EXIF函數庫
php_fbsql.dll FrontBase函數庫
php_fdf.dll FDF:表單數據格式化函數庫
php_filepro.dll filePro函數庫
php_ftp.dll FTP函數庫
php_gd.dll GD庫圖像函數庫
php_gd2.dll GD庫圖像函數庫
php_gettext.dll Gettext函數庫
php_hyperwave.dll HyperWave函數庫
php_iconv.dll ICONV字元集轉換
php_ifx.dll Informix函數庫
php_iisfunc.dll IIS 管理函數庫
php_imap.dll IMAP,POP3 和 NNTP 函數庫
php_ingres.dll Ingres II函數庫
php_interbase.dll InterBasefunctions
php_java.dll Java函數庫
php_ldap.dll LDAP函數庫
php_mbstring.dll 多位元組字元串函數庫
php_mcrypt.dll Mcrypt 加密函數庫
php_mhash.dll Mhash函數庫
php_mime_magic.dll Mimetype函數庫
php_ming.dll Ming函數庫(Flash)
php_msql.dll mSQL函數庫
php_mssql.dll MSSQL函數庫
php_mysql.dll MySQL函數庫
php_mysqli.dll MySQLi函數庫
php_oci8.dll Oracle 8函數庫
php_openssl.dll OpenSSL函數庫
php_overload.dll 對象重載函數庫
php_pdf.dll PDF函數庫
php_pgsql.dll PostgreSQL函數庫
php_printer.dll 列印機函數庫
php_shmop.dll 共享內存函數庫
php_snmp.dll SNMP函數庫
php_soap.dll SOAP函數庫
php_sockets.dll Socket函數庫
php_sybase_ct.dll Sybase函數庫
php_tidy.dll Tidy函數庫
php_tokenizer.dll Tokenizer函數庫
php_w32api.dll W32api函數庫
php_xmlrpc.dll XML-RPC函數庫
php_xslt.dll XSLT函數庫
php_yaz.dll YAZ函數庫
php_zip.dll Zip文件函數庫
php_zlib.dll ZLib壓縮函數庫

❽ PHP如何調用webservice

最近工作中需要用php調用webservice介面,對php不熟,上網搜搜,發現關於用php調用webservice的文章也不多,不少還是php4里用nusoap這個模塊調用的方法,其實php5里已經包含了處理soap的模塊,但是資料太少了,上php官網上查幫助,寫的不是很容易理解,經過多次實踐,終於搞清楚了,php調用webservice還是非常簡單的。下面用一個例子說明:
webservice服務是查詢QQ用戶是否在線
使用php5開發客戶端:
<?php
try{
//$client=newSoapClient("HelloService.wsdl",array('encoding'=>'UTF-8'));
$client=newSoapClient("webservices/qqOnlineWebService.asmx?wsdl");
var_mp($client->__getFunctions());
print("<br/>");
var_mp($client->__getTypes());
print("<br/>");

classqqCheckOnline{
var$qqCode="10000";
};
$arrPara=array(newqqCheckOnline);

$arrResult=$client->__Call("qqCheckOnline",$arrPara);//$client->qqCheckOnline($arrPara);

echo$arrResult->qqCheckOnlineResult."<br/>";
}catch(SOAPFault$e){
print$e;
}
?>
代碼確實很簡單吧,創建SoapClient對象時,可以使用保存在本地WSDL文件,也可以使用遠程的地址,後面的array數組里可以帶上很多的參數,具體參數可以查php的SoapClient幫助,這里帶的是字元集編碼,如果調用方法的參數里有中文,一定要指定字元集編碼,否則會出錯。
調用webservice前可以先調用SoapClient的__geunctions()和__getTypes()方法看一下你要調用的webservice暴露的方法,參數和數據類型,需要注意的是傳入的參數名一定要和soapclient裡面定義的一致,否則參數是傳不過去的。
需要使用SoapClient的__soapCall()或__call()方法,具體使用方法可以查php的幫助文檔。如果參數要求是一個結構體,請用類代替,如上面的代碼。
另外發現個問題,如果webservice方法返回的是xml格式的字元串,php接收到以後會自己把數據內容解析出來,而不是xml字元串.

❾ php soap自己寫的demo無法調用 求指正

添加http://到域名那裡

熱點內容
滑鼠如何編程 發布:2025-05-16 02:29:09 瀏覽:815
安卓70能用什麼軟體 發布:2025-05-16 01:45:09 瀏覽:480
編程發展史 發布:2025-05-16 01:38:52 瀏覽:528
android圖片氣泡 發布:2025-05-16 01:38:40 瀏覽:886
文件加密編輯器下載 發布:2025-05-16 01:30:41 瀏覽:343
linuxapacheyum安裝 發布:2025-05-16 01:30:31 瀏覽:476
大連賓利浴池wifi密碼是多少 發布:2025-05-16 01:25:36 瀏覽:172
緩存數據生產服務 發布:2025-05-16 01:08:58 瀏覽:585
普通電腦伺服器圖片 發布:2025-05-16 01:04:02 瀏覽:971
伺服器地址和埠如何區分 發布:2025-05-16 01:03:17 瀏覽:834