duanqiangwu9332 2017-06-23 10:02
浏览 1026

如何在soap请求中传递一个参数和xml数据

I have soap request in xml format. I want to convert into php SOAP. Request

    <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
    <s:Body>
    <AddContact xmlns="http://thankqportal.com/eModulesAPI" 
     xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
       <token>efgh5678</token>
       <contactXml>
         <Contact xmlns="http://thankqportal.com/eModulesAPI/Contact.xsd" 
                 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
                 xmlns:xsd="http://www.w3.org/2001/XMLSchema">
              <title>Mr</title>
              <firstname>Luke</firstname>
              <keyname>Hawkins</keyname>
        </Contact>
      </contactXml>
  </AddContact>
  </s:Body>
 </s:Envelope>

Please help me here. I am stuck with contact xml. It is inner xml of xml. So How can I pass the xml to soap api.

I have written the code as per below:

  $xml = "<Contact>
        <firstname>$fname</firstname>
        <keyname>$keyname</keyname>
        </Contact>"; 
$args = array("token" =>$token, "contactXml"  => new SoapVar($xml, XSD_ANYXML));

try {
        $result =   $soapClient->AddContact($args);

    } catch (SoapFault $e) {
       echo '<pre>';    
       echo "Error!:    ";
       echo $e -> getMessage ();
   }

But it gives the error: Error!: Object reference not set to an instance of an object.

So please help me here where I am wrong in my code.

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥50 成都蓉城足球俱乐部小程序抢票
    • ¥15 yolov7训练自己的数据集
    • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
    • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
    • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
    • ¥20 matlab yalmip kkt 双层优化问题
    • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
    • ¥88 实在没有想法,需要个思路
    • ¥15 MATLAB报错输入参数太多
    • ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件