導航:首頁 > 編程語言 > phpwsdl參數

phpwsdl參數

發布時間:2023-03-19 12:05:57

php soap擴展做webservice的時候 如何傳入數組或者對象參數

SOAP可以傳遞數組和對象,比較復雜不便詳述。你可以在網上查閱SOAP的規范。SOAP的對象需要定義在wsdl里。這就要求java調用方也定義這些對象。

使用SOAP要注意一個問題:SOAP沒有統一的標准,不同語言對SOAP的實現有微小差別,有可能導致不兼容。

編寫SOAP的wsdl是件麻煩而且痛苦的事。你可以試試使用第三方庫。Yii框架就提供一個強大的SOAP解決方案。你可以通過注釋和類,自動生成wsdl。個人不推薦在PHP中使用SOAP,因為PHP不像其他語言類似JAVA、.NET,提供強大的SOAP支持。

你可以考慮輕量級API,也可以考慮XML-RPC。並不比SOAP差,而且很靈活。

望採納,謝謝!

❷ php 做的web services 中的wsdl描述文件,我想定義某方法的參數數據類型為數組怎麼定義

下面這樣:
<part name="t_c" type="xsd:int[]" />
<part name="t_c" type="xsd:string[]" />

❸ php 中 webservice 是如何使用的 調用別人的介面 參數是如何傳遞的

php調用web service還是非常簡單的。下面用一個例子說明:
web service服務是查詢QQ用戶是否在線
使用php5開發客戶端:
<?php
try {
//$client = new SoapClient("HelloService.wsdl",array('encoding'=>'UTF-8'));
$client = new SoapClient("webservices/qqOnlineWebService.asmx?wsdl");
var_mp($client->__getFunctions());
print("");
var_mp($client->__getTypes());
print("");

class qqCheckOnline{
var $qqCode = "10000";
};
$arrPara = array(new qqCheckOnline);

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

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

❹ php生成WEBSERVICE。wsdl 不能傳遞參數

看看編碼是否正確,也可以通過一些網路抓包工具來看看,轉輸的數據是不是格式正確等

❺ php調用sap和.net的webservices介面

php連接sapwebservices介面

public function getwebservice($param){

  $user = 'username';

  $password = 'password';

  $wsdl = '*****';   /*wsdl地址*/

$SOAP_CONFIG = array(

          'login' => $user,

        'password' => $password,

          'trace' =>true,

          'soap_version'=>SOAP_1_2,

          'connection_timeout' => 50,

          'encoding' => 'UTF-8',

          'cache_wsdl' => WSDL_CACHE_NONE,

          'keep_alive' => false

          );

        try {

                $client = new \SoapClient($wsdl, $SOAP_CONFIG); //調用sap里的介面

                /* $param= array(

                        '參數1'    =>    '1',

                        '參數2'    => '2',

                        '參數3'    =>  '3',

                        '參數4'    =>    '4');*/

                $ve=$client->__call("ZSdSoInfo", array($param));

              return $ve;

    } catch (Exception $e) {

                  print $e->getMessage();

      }

}

php鏈接.net介面

$ws = "http://*****?wsdl";//webservice服務的地址

    $client = new SoapClient ($ws);

    $result=$client->kelOtp(array('參數1'=>參數1,'參數2'=>參數2);

    $a= $result->kelOtpResult;/

❻ 怎麼根據一段wsdl代碼找出具體方法以及參數

可以引出為」可執行jar「(項目必須有mian方法),然後雙擊運行即可。
第一步:在項目上右擊,選擇」Export「,之後找到」Runnable Jar file「。

第二步:在」首橘Launch「下拉選中選擇」main「方法入口類,然後選擇」Browse「後,輸入」jar「名稱,點擊」Finsh「脊祥即可完成可運行jar制櫻芹搏作。

❼ PHP 怎樣獲取,wsdl的數據,有客戶端

建立一個包含兩個operations(int Adder(int,int))的Web服務

<?php
//server.php
require("nusoap/lib/nusoap.php"); //導入nusoap.php
$server=new soap_server(); //聲明一個soap_server對象
$server->configureWSDL('HelloWorld','urn:HelloWorld'); // 配置WSDL
$server->wsdl->schemaTargetNamespace='urn:HelloWorld'; //定碰薯灶義目標命名空間
$server->register("Adder", //注冊Adder
array('format'=>'xsd:int','fuck'=>'xsd:int'), //參數類型
array('return'手升=>'xsd:int'), //返回笑扮值類型
'urn:HelloWorld',
'urn:HelloWorld#Adder');
function Adder($a,$b)
{
return ($a+$b);
}
$HTTP_RAW_POST_DATA=isset($HTTP_RAW_POST_DATA)?$HTTP_RAW_POST_DATA:'';
$server->service($HTTP_RAW_POST_DATA);
?>

訪問http://localhost/server.php?wsdl即可得該服務的WSDL文檔

❽ php怎麼生成wsdl文件

辦法有兩種:
1.zend studio生成
對於zend studio 9之前的版本貌似直接生成:
File ->New -> Other-> Webservice-> WSDL

對於zend studio 9需要安裝wsdl插件:
1、打開zendstudio9,選擇help(幫助)->welcome
2、在右邊的列表中找到WSDL Support,勾選
3、點擊Apply changes(應用修改)
4、zde會自動安裝,然後提示要重啟,點擊restart now(現在重新啟動)

wsdl支持安裝完畢,下面我們來生成一個wsdl文件,步驟如下:
1、選擇保存wsdl的項目文件夾
2、右鍵-new(新建)->other(其他)
3、在彈出的對話框中選擇web services,在下級菜單中選擇WSDL file,點擊next進入下一步
4、命名你的wsdl文件,點擊next進入下一步
5、修改target namespace(目標名稱空間),其他不變,點擊finish。
2.利用SoapDiscovery.class.php生成

❾ php怎麼讀取wsdl文檔

正常情況只要
$client = new SoapClient('wsdl的url');
$Cardholder = $client->retrieveCardholder($a0,$a1,$a2);
就可以了

這種問題屬於嚴重"環境相關",你那擁有測試環境比沒有環境的其他人更有優勢的
如果搞不定,也盡量把出錯信息、代碼等原始環境告訴其他人。 切忌自己解釋概括

既然語法層面和使用層面都解決不了,你的問題屬於「調試層面」,
請給出url和測試帳戶,別人替你調試吧。

❿ 如何實現php wsdl webservice 讓我的客戶端訪問

首先我創建的文件有:

api.php api的介面類文件

api.wsdl 我創建產生的最後要調用的介面文件

cometrue.php 注冊service api類內容的所有內容的執行文件

creat_wsdl.php 創建wsdl文件的執行方法文件

SoapDiscovery.class.php 必須要調用的soap類文件(可在網上查詢喊薯螞下載)

第一步 :創建一個service的文件夾專門存放您的api介面項目

第二步:下載SoapDiscovery.class.php類文件,放在您的service文件夾裡面

第三步:在手改service文件夾下面創建鄭埋您自己api介面類文件api.php,

閱讀全文

與phpwsdl參數相關的資料

熱點內容
數控銑床編程簡單數字 瀏覽:786
編程電纜如何重啟 瀏覽:121
myqq命令行發消息 瀏覽:365
日產逍客怎麼使用app升窗 瀏覽:503
安卓系統怎麼快速刪除微信內容 瀏覽:653
csharppython 瀏覽:409
程序員脖子按摩儀 瀏覽:562
小米桌面文件夾亂碼怎麼回事 瀏覽:858
點歌台app怎麼連接 瀏覽:318
大學電腦編程學什麼好 瀏覽:348
上哪裡取消應用加密 瀏覽:172
電氣控制與可編程式控制制器pdf 瀏覽:87
cad圖紙不能跨文件夾粘貼 瀏覽:256
學生雲伺服器主機 瀏覽:889
單片機狀態周期 瀏覽:622
lua中的android 瀏覽:443
加密貴還是植發貴 瀏覽:664
陽光壓縮機繼電器 瀏覽:971
修改阿里雲伺服器密碼 瀏覽:817
lk4102加密晶元 瀏覽:588