【问题标题】:how to call methods in php from xml如何从xml调用php中的方法
【发布时间】:2017-02-16 20:13:24
【问题描述】:

这是我从一家提供购买机票的网络服务公司那里得到的。 他们在 c# 和 Visual Basic 中有一些示例。但不是在 php.ini 中。 我在 php 中使用肥皂,我可以调用操作或方法或函数或你们所说的每件事。 我的代码是这样的

$url='http://164.215.128.29:8080/Moghim24Scripts/Moghim24Services.svc?wsdl';
$sxml = simplexml_load_file($url);
$client = new SoapClient($url);
$data = $client->__call('openTempfllist', array(string fd, string ld, string cust, string pass));
print_r($data);

但它有一些错误。

您可以打开 url 并查看 xml 代码。该文件说: 方法1:openTempfllist(字符串fd,字符串ld,字符串cust,字符串pass); 返回数据集

但我不知道如何使用它。 请不要告诉我这个问题以前被问过。大约 2 天我正在寻找这样的东西,我没有找到任何东西!!!!

【问题讨论】:

  • 您收到的错误信息是什么?
  • 有了soap客户端,一旦建立了客户端,你应该可以通过$client->openTempfllist($fd,$ld,$cust,$pass)调用它,直接点击魔术方法__call是多余的。
  • @jrn 致命错误:未捕获的 SoapFault 异常:[a:DeserializationFailed] 格式化程序在尝试反序列化消息时抛出异常:反序列化操作“openTempfllist”的请求消息正文时出错。应来自命名空间“schemas.xmlsoap.org/soap/envelope”的结束元素“正文”。从命名空间“”中找到元素“param1”。第 2 行,位置 155。在 F:\xampp\htdocs\test\ajans\xml.php:9 堆栈跟踪:#0 F:\xampp\htdocs\test\ajans\xml.php(9): SoapClient->__call ('openTempfllist', Array) #1 {main} 在第 9 行的 F:\xampp\htdocs\test\ajans\xml.php 中抛出这是错误
  • @Scuzzy 我用这个:$data = $client->openTempfllist($fd,$ld,$cust,$pass);打印_r($数据);再次出现错误:反序列化操作“openTempfllist”的请求消息正文时出错。命名空间中的结束元素“Body”

标签: php xml web-services soap xml-parsing


【解决方案1】:

是的!找到答案了!!就是这样!

 $url = 'http://164.215.128.29:8080/Moghim24Scripts/Moghim24Services.svc?wsdl';
        $client = new SoapClient($url);
        $data = $client->openTempfllist(array('fd'=>$fd, 'ld'=>$ld, 'cust'=>$cust, 'pass'=>$pass));

【讨论】:

    【解决方案2】:

    试试这个:

     try {
        $client = new SoapClient($url);
        $data = $client->openTempfllist($fd,$ld,$cust,$pass);
    } catch
    (SoapFault $e) {
        print_r($client);
    }
    

    【讨论】:

      猜你喜欢
      • 2012-01-06
      • 2019-08-14
      • 1970-01-01
      • 1970-01-01
      • 2022-07-29
      • 1970-01-01
      • 1970-01-01
      • 2014-07-17
      • 2012-04-29
      相关资源
      最近更新 更多