soap用戶端:php soap伺服器端 c#用戶端
來源:互聯網
上載者:User
最近寫了個php的soap伺服器
端,實現了php用戶端的調用,卻實現不了c#用戶端的調用,看完了手冊找了n久也沒實現其訪問
,最後試用了一下nusoap
sf.net上的一個開源
項目,效果
很好,很eacy就實現了所需的功能
c#的web
服務
(伺服器端)是非常容易實現的,c#用戶端調用也很方便
php的web伺服器端 一般要產生一個.wsdl的檔案
,.wsdl是一個xml檔案描述提供的服務
下面來看看我的第一個php web服務
<?php
/**
* processsimpletype method
* @param string $who name of the person we"ll say hello to
* @return string $hellotext the hello string
*/
function processsimpletype($who) {
return "hello $who,歡迎訪問 http://www.cxybl.com
";
}
?>
記得要先下載
nusoap
<?php
require_once("lib/nusoap/nusoap.php");
$namespace = "http://www.cxybl.com";
// create a new soap server
$server = new soap_server();
// configure our wsdl
$server->configurewsdl("simpleservice");
// set our namespace
$server->wsdl->schematargetnamespace = $namespace;
// register our webmethod
$server->register(
// method name:
"processsimpletype",
// parameter list:
array("name"=>"xsd:string"),
// return value(s):
array("return"=>"xsd:string"),
// namespace:
$namespace,
// soapaction: (use default)
false,
// style. rpc or document
"rpc",
// use: encoded or literal
"encoded",
// description: documentation for the method
"a simple hello world web method");
// get our posted data if the service is being consumed
// otherwise leave this data blank.
$post_data = isset($globals["http_raw_post_data"]) ? $globals["http_raw_post_data"] : "";
// pass our posted data (or nothing) to the soap service
$server->service($post_data);
exit();
?>
寫完之後就可以使用了
開啟.net,添加引用
下一步點擊wsdl ,可以看到所提供的服務,如下圖
本文連結http://www.cxybl.com/html/wlbc/Php/20120531/27134.html