0

私は石鹸に慣れていないので、何をしているのか少ししかわかりません。問題を修正したり、何が起こっているのかについての説明を見つけようとする試みはすべて無駄でした. 私は絶え間ないしつこい例外を取り除くことができないようです:

SoapFault exception: [500] Username required in path\index.php:38<br />
Stack trace:<br />
#0 path\index.php(38): SoapClient->__soapCall('createPlayer', Array)<br />
#1 {main}

wsdl はこちら - http://www.laifacai.com/soap/gameprovider?wsdl

そして、これは私のphpにあります。

$soap_options = array('trace' => 1, 'exceptions' => 1 );
$client = new SoapClient("http://www.laifacai.com/soap/gameprovider?wsdl", array( 'login' => "user", 'password' => "pass"));

var_dump ($client->__getFunctions ());

if (!class_exists('SoapClient')){

        die ("You haven't installed the PHP-Soap module.");

} else {

    try {

        $res = $client->__soapCall('createPlayer', array('username'=>'mstest1', 'password'=>'12345678')));

    } catch (SOAPFault $f) {

        echo "<pre>" . $f . "</pre>"; 

    }

}

基本的に、処理したい wsld のメソッドがいくつかあります。私は createPlayer が最も簡単な方法であり、私が学んだことに基づいてそこから先に進むことができると思いましたが、正しく理解できず、何が問題なのかわからず、それを見つけることができません。空の配列を渡すか完全な配列を渡すかは関係ありません。常に同じ「ユーザー名が必要です」。

編集:Wsldリンクが編集されました

4

1 に答える 1

0

「ユーザー名が必要です」と表示されるので、入力してみてください。現在、提供しているのは のみですusername(小文字に注意してください)。SOAP では大文字と小文字が区別されます。

また、私はあなたの

$res = $client->__soapCall('createPlayer',
    array('username'=>'mstest1', 'password'=>'12345678')));

する必要があります

$SoapCallParameters = array('username'=>'mstest1', 'password'=>'12345678');
$res = $client->__soapCall('createPlayer',
    array('parameters'=>$SoapCallParameters));

WSDL ドキュメントによると、指定する必要があります。

array(
   'agentid'
   'username'
   'password'
   'currencycode'
   'countrycode'
   'nickname'
   'fname'
   'lname'
)

createPlayer の場合、ユーザー名とパスワードだけでは十分ではありません。

于 2013-10-24T09:53:18.253 に答える