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.ini 文件中。

$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 回答