首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用SOAP和PHP创建XML节点

使用SOAP和PHP创建XML节点
EN

Stack Overflow用户
提问于 2014-05-30 02:13:57
回答 1查看 355关注 0票数 0

我需要生成如下所示的SOAP请求:

代码语言:javascript
复制
<s11:Envelope xmlns:s11='http://schemas.xmlsoap.org/soap/envelope/'>
<s11:Body>

  <ns1:SaveQuote xmlns:ns1='http://domain.com/BDB/'>
     <ns1:ClientType></ns1:ClientType>

      <ns1:Claims>
        <ns1:ClaimHistory>
          <ns1:Nature></ns1:Nature>
        </ns1:ClaimHistory>
      </ns1:Claims>

   <ns1:Vehicles>
    <ns1:Vehicle>
      <ns1:Province></ns1:Province>
    </ns1:Vehicle>
  </ns1:Vehicles>

    </ns1:SaveQuote>
  </s11:Body>
 </s11:Envelope> 

我有:

代码语言:javascript
复制
 $url  = 'http://somedomain.com/soapurl.asmx?WSDL';
   try {  

    $client = new SoapClient($url);
    $saveQuote = array('ClientType' => $clientType);
    $claims = array('Nature' => $Nature);
    $vehicles = array('Province' => $Province)

     $response = $client->__soapCall(
'SaveQuote', array('parameters' =>$saveQuote), 
'Claims', array('ClaimHistory' =>$claims), 
   'Vehicles', array('Vehicle' => $vehicles));


var_dump($response);
    } catch (Exception $SoapException) {                           
    printf('Errors:\n',$SoapException->__toString());
    return false;                              
   } 

但是这只会产生一个错误..如何使请求中的节点正确?

EN

回答 1

Stack Overflow用户

发布于 2014-05-30 05:30:35

您应该使用与所需参数类型匹配的对象。为此,您可以使用WSDL到php生成器,该生成器将简化为每种参数类型生成每个必需类的过程。它允许您使用classmap选项,因此您还可以获得作为SoapClient对象的响应,这比数组要容易得多…

我建议你去看看WsdlToPhp,甚至WSDL to php网站

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23940119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档