繁体   English   中英

肥皂头的响应

[英]Response from soap header

即使我对php soap概念非常陌生,我仍然编写了一个程序来使用SoapClient与Web服务器进行通信。

这是我的wsdl链接: https : //es.adpolice.gov.ae/TrafficInsurance/TrafficInsuranceServicesNew.asmx? wsdl

服务名称:CreateVehicleInsurancePolicy链接: https ://es.adpolice.gov.ae/TrafficInsurance/TrafficInsuranceServicesNew.asmx ? op = CreateVehicleInsurancePolicy

我将程序托管在ssl认证的主机中,运行该程序时会在soap body response( lngSerial )中生成响应。我想从soap header( SoapHeaderOut )打印响应值。

那是intResponseCode,strArMsg,strEnMsg

请指导我。下面我提供了我正在使用的脚本。

<?php
ini_set("soap.wsdl_cache_enabled", "0");
ini_set("soap.wsdl_cache_ttl", "0");
class SOAPStruct
{
    function __construct($user, $pass) 
    {
        $this->userName = $user;
        $this->Password = $pass;

    }
}

$service = new SoapClient("https://es.adpolice.gov.ae/TrafficInsurance/TrafficInsuranceServicesNew.asmx?wsdl");
$auth = new SOAPStruct('username','password');
$header = new SoapHeader("http://adpolice.gov.ae/TrafficInsurance/TrafficInsuranceServices.asmx","SoapHeaderIn",$auth,true); 
$service->__setSoapHeaders($header); 
$param = array('lngInsuranceCompanyCode'=> '1','intInsuranceKindCode'=>'1','lngTcf'=>'3070858641','strPolicyNo'=>'1055385883','dtExpiryDate'=>'2016-04-30T00:00:00','dtStartDate'=>'2015-03-31T00:00:00','strChassisNo'=>'6T1BE42RG465465','strRemarks'=>'demo','strUserCreated'=>'demo');

$response = $service->CreateVehicleInsurancePolicy($param)->CreateVehicleInsurancePolicyResult;

 foreach ($response as $record) {
    print_r($record);
    print_r("<br>");
  }

?>

根据PHP文档,您应该能够通过使用低级API而不是WSDL提供的魔术方法来获得SoapHeader响应对象。 在你的情况下

$response = $service->__soapCall("CreateVehicleInsurancePolicy", $param, null, $headers, $response_headers);

哪个应将所需的对象存储到$ response_headers变量中。

旧响应:(响应的实际HTTP标头有关)如果使用如下所示的跟踪集实例化SoapClient:

$service = new SoapClient("https://es.adpolice.gov.ae/TrafficInsurance/TrafficInsuranceServicesNew.asmx?wsdl", array("trace" => 1))

您应该能够使用SoapClient :: __ getLastResponseHeaders获得Header响应

$response_headers = $service->__getLastResponseHeaders();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM