まず結果の写真をアップロードします—
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 '';
' '';
';<br> print_r($result);<br> echo '';
' .htmlspecialchars($client->debug_str, ENT_QUOTES) '';
設定ファイル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 によって提供されるパラメーターが一致し、正しいかどうかに必ず注意してください。