php call .net webservice???
皆さん、こんにちは:
PHP call .net webservice について質問があります。助けてください。
サーバーが配列値にアクセスできないのはなぜですか?送信しましたか?
========================================= =======================
SOAP 1.1 のリクエストと応答の例を次に示します
----------- ------------------------------------
POST /DMService.asmx HTTP/1.1
ホスト: sboserver1
コンテンツタイプ: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://tempuri.org/InsertTest"
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: 長さ
石鹸:封筒>
======================================= ==============
クライアント コードがメソッド 'InsertTest' を呼び出すメソッドは次のとおりです:
---------------- ------------------------------------
$soap = newソープクライアント($wsdl,'wsdl');
$soap->soap_defencoding = 'UTF-8';
$soap->decode_utf8 = false;
$soap->xml_encoding = 'UTF-8';
$result = $soap->call('InsertTest',array('s' => array('0000','aaaa')),'', '', false, true,'document','encoded');
var_dump($result);
?>
送信した配列値にサーバーがアクセスできないのはなぜですか?
============== ========================================
.net Web サービスWSDL ファイルは次のとおりです:
========================================= =============
こんにちは、この記事は長すぎます。こちら (http://sourceforge.net/community/forum/topic.php?id=827&page&replies=1) を参照してください。
ありがとうございます。
-----解决方案---------
あなたは中国人ですか?
中国人の場合は、http://blog.csdn.net/mynamesucks/archive/2006/05/26/756480.aspx を参照してください
それ以外の場合は、以下を参照してください。
replace
$result = $soap->; call('InsertTest',array('s' =>array('0000','aaaa')),'', '', false, true,'document','encoded');
to
$proxy = $soap->getProxy();
$result = $proxy->gt; InsertTest(array('s' => array('0000','aaaa')),'', '', false, true,'document','encoded');
------解決案---------
.NET の WS にはいくつかのコード形式があります。その中には、PHP と互換性がないものもあります。特定のコードがエンコードされているか、リテラルであるかは忘れていました。NuSoap を使用する人はまだこの問題を解決していません。