ホームページ  >  記事  >  バックエンド開発  >  PHP は C# .NET で書かれた Web サービスを呼び出します (個人テストに合格しました)_PHP チュートリアル

PHP は C# .NET で書かれた Web サービスを呼び出します (個人テストに合格しました)_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-14 10:07:001057ブラウズ

まず結果の写真をアップロードします—
PHP は C# .NET で書かれた Web サービスを呼び出します (個人テストに合格しました)_PHP チュートリアル

C# コード:

システムを使用しています;
System.Collections.Generic を使用します;
System.Linq を使用します;
System.Web を使用する;
System.Web.Services を使用する;
System.Web.Services.Protocols を使用します;
///
///ibmfashion
の概要説明 ///
[WebService(名前空間 = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[SoapDocumentService(RoutingStyle = SoapServiceRoutingStyle.RequestElement)]

//ASP.NET AJAX を使用してスクリプトからこの Web サービスを呼び出せるようにするには、次の行のコメントを解除します。
// [System.Web.Script.Services.ScriptService]
パブリック クラス ibmfashion : System.Web.Services.WebService {
パブリックIBMファッション () {
// 設計されたコンポーネントを使用している場合は、次の行のコメントを解除してください
//InitializeComponent();
}
[ウェブメソッド]
パブリック文字列 HelloWorld() {
return "Hello World";
}
[ウェブメソッド]
パブリック int 乗算(int a, int b)
{
return a*b;
}
}

PHP は C# Web サービス コードを呼び出します:
// NuSOAP コードをプルします
ob_start();
require_once('lib/nusoap.php');

$url="http://localhost:8787/wcf/ibmfashion.asmx?wsdl";
$client = new nusoap_client($url, 'wsdl','','','','');
$client->soap_defencoding='utf-8';
$client->decode_utf8=false;
$client->xml_encoding='utf-8';
//パラメータは配列に変換されて渡されます
$ary = array('a' => 11, 'b' => 22);
$result = $client->call('multiplication',$ary);
echo "

".print_r($result,true)."
";

//エラーとデバッグ情報
if ($client->fault) {
echo '

障害

';<br>
print_r($result);<br>
echo '
';
} その他 {
// エラーをチェックします
$err = $client->getError();
if ($err) {
// エラーを表示します
echo '

エラー

' '
';
} その他 {
// 結果を表示します
echo '

Result

';<br>
print_r($result);<br>
echo '
';
}
}
// デバッグメッセージを表示します
echo '

デバッグ

';
echo '
' .htmlspecialchars($client->debug_str, ENT_QUOTES) '
';


?>

PHP から C# .NET Web サービスを呼び出すために一般的に使用されるいくつかのメソッドを要約します。
方法 1:
System32 ディレクトリに php_soap.dll があるかどうかを確認し、オンライン ダウンロードがない場合は、このディレクトリに配置します。

設定ファイルphp.iniファイルを見つけて、次の拡張機能を開きます
拡張子 = php_soap.dll
拡張子 = php_curl.dll
拡張子 = php_openssl.dll
PHP 呼び出しコードは次のとおりです:
方法 1:
$url="http://www.ws.cn/1/Healthgrow/Service.asmx?wsdl";
$client = 新しい SoapClient($url);

$client->soap_defencoding='utf-8';
$client->decode_utf8=false;
$client->xml_encoding='utf-8'

$result = $client->__soapCall("ユーザーログイン",array("ユーザーログイン"=>array(
) 'str' => '{"ユーザー名":"3","パスワード":"222"}')));
if (is_soap_fault($result)) {
trigger_error("SOAP フォールト: (フォールトコード: {$result->faultcode}、フォールト文字列: {$result->faultstring})", E_USER_ERROR);
}
それ以外
{
echo print_r("return:".$result->UserLoginResult,true);
}

方法 2:
php_soap.dll も使用しますが、コードは少し異なります:

$url="http://www.ws.cn/1/Healthgrow/Service.asmx?wsdl";
$client = 新しい SoapClient($url);

$client->soap_defencoding='utf-8';
$client->decode_utf8=false;
$client->xml_encoding='utf-8';

$result = $client->UserLogin(array('str' => '{"ユーザー名":"3","パスワード":"222"}'));

if (is_soap_fault($result)) {
trigger_error("SOAP フォールト: (フォールトコード: {$result->faultcode}、フォールト文字列: {$result->faultstring})", E_USER_ERROR);
}
それ以外
{
echo print_r("return:".$result->UserLoginResult,true);
}
方法 3:
NuSoap は、PHP 環境の WebService プログラミング ツールであり、WebService の作成または呼び出しに使用されます。これは、HTTP 経由で SOAP メッセージを送受信する、完全に PHP 言語で記述された一連の PHP クラスであるオープン ソース ソフトウェアであり、NuSphere Corporation (http://dietrich.ganx4.com/nusoap/) によって開発されています。 NuSOAP の利点の 1 つは、拡張ライブラリのサポートを必要とせず、この機能により NuSoap をすべての PHP 環境で使用できるようになり、サーバーのセキュリティ設定の影響を受けないことです。

処理プロセス中、WebService によって提供されるパラメーターが一致し、正しいかどうかに必ず注意してください。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/477901.html技術記事まず、結果チャートの C# コード: using System.Collections.Generic; using System.Web.Services; using System.Web.Services. .
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。