簡體   English   中英

PHP:如何從此 XML 執行 SOAP 請求?

[英]PHP: How to do a SOAP request from this XML?

有人能幫我嗎?

我無法在此 Web 服務中執行 AdvogadoRegular 功能。

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:int="https://www5.oab.org.br/integracao/">
   <soap:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
      <token xmlns="http://CFOAB.Integracao">xxxxxxxx</token>
      <wsa:To>https://www5.oab.org.br/Integracao/CNA.svc</wsa:To>
   </soap:Header>  
   <soap:Body>
      <int:AdvogadoRegular>
         <!--Optional:-->
         <int:cpf>99999999999</int:cpf>
      </int:AdvogadoRegular>
   </soap:Body>
</soap:Envelope>

我嘗試從該代碼訪問。

// WSDL
$client = new SoapClient('https://www5.oab.org.br/Integracao/CNA.svc?wsdl', $options = array(
                                                                            'soap_version' => SOAP_1_2,
                                                                            'trace'=>1, 
                                                                            'exceptions'=> 0
            ));

// NOME DA FUNÇÃO A SER EXECUTADA
$function = 'AdvogadoRegular';

// PARÂMETROS DA FUNÇÃO A SER EXECUTADA
$arguments= array('AdvogadoRegular' => array( 'cpf'  => '99999999999' ));

// URL DO WEB SERVICE
$options = array('location' => 'https://www5.oab.org.br/Integracao/CNA.svc');


// HEADER
$token = array(
    'token'=> 'xxxxxxxx',
    'wsa:To'=>'https://www5.oab.org.br/Integracao/CNA.svc',

);
$header = new SoapHeader("http://CFOAB.Integracao",'token',$token,false);
$client->__setSoapHeaders($header);



// EXECUTA A FUNÇÃO
$result = $client->__soapCall($function, $arguments, $options);

echo $result;

我認為當我嘗試發送標頭時會發生錯誤。 請幫我...

首先,我建議您使用 WSDL 到 php 生成器,例如PackageGenerator ,然后關於您的標頭,它似乎是您必須發送的 WsSecurity 標頭,因此您應該嘗試使用WsSecurity項目,該項目可以簡化添加此類類型的方式標題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM