WSDL文件中的错误在哪里?

时间:2014-12-03 13:20:20

标签: php wsdl

我想添加wsdl文件函数,它获取2个参数...我已经制作了复杂类型,但仍然没有好结果......任何人都可以解释,我做错了什么?

这里是

wsdl pastebin.com/JWnFUF1b

server: pastebin.com/aSbdRdRf

client: pastebin.com/4SLL0wWm
提前谢谢!

/ ****编辑**** /

服务器中的

功能:

这里是我尝试简单测试必须获得功能的变量......首先是工作,第二是 - 没有...这就是为什么上面的主要代码被注释掉了

function votedBierOrNo($name,$user)
    {
        /*$voted = new VotedBierOrNo();
        $data = $voted->votedOrNo($name,$user);
        return json_encode($data);*/
        return $user;
    }

客户:

$client = new SoapClient("http://localhost/bierdb_service/bier.wsdl", array('cache_wsdl' => WSDL_CACHE_NONE,'trace'=>true));

echo ($client->__call("votedBierOrNo", array(
                                                "bier_name" => "Infinium",
                                                "user_id"   => "12345"
                                            )
                        )
    );

1 个答案:

答案 0 :(得分:0)

在PHP 5中,您可以在WSDL上使用SoapClient来调用Web服务功能。例如:

$client = new SoapClient("some.wsdl");

和$ client现在是一个对象,它具有some.wsdl中定义的类方法。因此,如果WSDL中有一个名为getTime的方法,那么您只需调用:

$result = $client->getTime();

结果将(显然)在$ result变量中。您可以使用__getFunctions方法返回所有可用方法的列表。

您想要在getFunctions的结果中调用的方法是什么?

另外,请看一下这个片段。这是使用复杂类型soap服务的人的示例代码:http://leifmadsen.wordpress.com/2009/08/04/consuming-soap-complextype-webservice-with-php/

您还可以考虑在其周围放置一个try / catch块,也许错误会指向正确的方向:

 try {
   // Your soap call
 } catch(Exception $fault) {
    var_dump($fault);
 }