XML : Not getting the required SOAP request XML

I am working on a Simple php Client that uses OCPP (Open Charge Point Protocol). I have created the client and This is the request XML that goes from my code.

  <?xml version="1.0" encoding="UTF-8"?>    <env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="urn://Ocpp/Cs/2015/10/">        <env:Header>            <ns1:chargeBoxIdentity env:mustUnderstand="true">XXX01</ns1:chargeBoxIdentity>            <ns1:Action env:mustUnderstand="true">/Authorize</ns1:Action>            <ns1:MessageId env:mustUnderstand="true">123</ns1:MessageId>            <ns1:RelatesTo>relatesTo</ns1:RelatesTo>            <ns1:From/>            <ns1:ReplyTo/>            <ns1:To/>        </env:Header>        <env:Body>            <ns1:authorizeRequest>            <ns1:idTag>1234567</ns1:idTag>            </ns1:authorizeRequest>        </env:Body>    </env:Envelope>    

But I am suppose to get this XML output

  <?xml version='1.0' encoding='utf8'?>   <ns0:Envelope xmlns:ns0="http://www.w3.org/2003/05/soap-envelope" xmlns:ns1="urn://Ocpp/Cs/2015/10/">      <ns0:Header>          <ns1:chargeBoxIdentity mustUnderstand="true">XXX01 </ns1:chargeBoxIdentity>          <ns1:Action mustUnderstand="true">/Authorize</ns1:Action>          <ns1:MessageId mustUnderstand="true">123</ns1:MessageId>          <ns1:RelatesTo>relatesTo</ns1:RelatesTo>          <ns1:From />          <ns1:ReplyTo />          <ns1:To />      </ns0:Header>      <ns0:Body>          <ns1:IdTag>1234567</ns1:IdTag>      </ns0:Body>  </ns0:Envelope>    

Notice that my code has env:Envelope and output has ns0:Envelope and in my code extra attribute is there in the Soap Body. I have very limited knowledge in php SOAP. The relevant code is below.

  ini_set('soap.wsdl_cache_enabled',0);    $wsdl_centralsystem = "OCPP_centralsystemservice_1.5_final.wsdl";  $params =  "0.1.1.255.0.0.1.0.";    $vLocation = "linktoserver/server.php";    $client = new SoapClient($wsdl_centralsystem, array(        "soap_version" => SOAP_1_2,      "location" => $vLocation,      "trace"=>1, "exceptions"=>0,    ));    $chargeboxid = "XXX01";  $action = "/Authorize";  $msgid = "123";  $relatesto = "relatesTo";      //Create Soap Headers  $headerCchargeBoxIdentity = new SoapHeader("urn://Ocpp/Cs/2015/10/", 'chargeBoxIdentity', $chargeboxid, true);  $headerAction = new SoapHeader("urn://Ocpp/Cs/2015/10/", 'Action', $action, true);  $headerMessageId = new SoapHeader("urn://Ocpp/Cs/2015/10/", 'MessageId', $msgid, true);  $headerRelatesTo = new SoapHeader("urn://Ocpp/Cs/2015/10/", 'RelatesTo', $relatesto, false);  $headerFrom = new SoapHeader("urn://Ocpp/Cs/2015/10/", 'From', NULL, false);  $headerReplyTo= new SoapHeader("urn://Ocpp/Cs/2015/10/", 'ReplyTo', NULL, false);  $headerTo = new SoapHeader("urn://Ocpp/Cs/2015/10/", 'To', NULL, false);    //set the Headers of Soap Client.  $client->__setSoapHeaders(array($headerCchargeBoxIdentity,$headerAction,$headerMessageId,$headerRelatesTo,$headerFrom,$headerReplyTo,$headerTo));      $output = $client-> __soapCall('Authorize',array($params));    

No comments:

Post a Comment