Динамическое размещение значения внутри структуры wsdl - PullRequest
0 голосов
/ 24 апреля 2019

У меня есть скрипт php для публикации и обновления значения ключа wsdl с помощью curl php:

 $imei = $_POST['86207503'];   
    $data = "<soap:Envelope xmlns:soap=\"http://www.w3.org/2003/05/soap-envelope\" xmlns:sub=\"http://subscriberexample.com/\">\r\n
      <soap:Header/>\r\n   <soap:Body>\r\n
      <sub:wsUpdateSubscriberProfile>\r\n
      <!--Optional:-->\r\n
      <subscriberProfile>\r\n
      <!--Zero or more repetitions:-->\r\n
      <entry>\r\n
      <!--Optional:-->\r\n
      <key>IMEI</key>\r\n
      <!--Optional:-->\r\n
      <value>{$imei}</value>\r\n
      </entry>\r\n
      </subscriberProfile>\r\n
      <!--Optional:-->\r\n
      <subscriberID>123546546</subscriberID>\r\n
      <!--Optional:-->\r\n
      <alternateId>?</alternateId>\r\n
      <!--Optional:-->\r\n
      <updateAction>?</updateAction>\r\n
      <!--Optional:-->\r\n
      <parameter1>?</parameter1>\r\n
      <!--Optional:-->\r\n
      <parameter2>?</parameter2>\r\n
      </sub:wsUpdateSubscriberProfile>\r\n
      </soap:Body>\r\n</soap:Envelope>";

    $curl = curl_init();
.....

выполняется успешно, если данные вручную вводятся по приведенному выше сценарию. Я пытался использовать динамическое значение для значения IMEI из формы в $imei = $_POST['86207503'];

но это не работает, значение никогда не передавалось. Кто-нибудь знает, как решить это?

Спасибо.

1 Ответ

1 голос
/ 24 апреля 2019

не может воспроизвести, imei определенно вставлен в этот тестовый код:

<?php
$imei = 'SOMETHING_EASY_TO_SPOT';   
    $data = "<soap:Envelope xmlns:soap=\"http://www.w3.org/2003/05/soap-envelope\" xmlns:sub=\"http://subscriberexample.com/\">\r\n
      <soap:Header/>\r\n   <soap:Body>\r\n
      <sub:wsUpdateSubscriberProfile>\r\n
      <!--Optional:-->\r\n
      <subscriberProfile>\r\n
      <!--Zero or more repetitions:-->\r\n
      <entry>\r\n
      <!--Optional:-->\r\n
      <key>IMEI</key>\r\n
      <!--Optional:-->\r\n
      <value>{$imei}</value>\r\n
      </entry>\r\n
      </subscriberProfile>\r\n
      <!--Optional:-->\r\n
      <subscriberID>123546546</subscriberID>\r\n
      <!--Optional:-->\r\n
      <alternateId>?</alternateId>\r\n
      <!--Optional:-->\r\n
      <updateAction>?</updateAction>\r\n
      <!--Optional:-->\r\n
      <parameter1>?</parameter1>\r\n
      <!--Optional:-->\r\n
      <parameter2>?</parameter2>\r\n
      </sub:wsUpdateSubscriberProfile>\r\n
      </soap:Body>\r\n</soap:Envelope>";
var_dump($data);

вывод:

string(863) "<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:sub="http://subscriberexample.com/">

      <soap:Header/>
   <soap:Body>

      <sub:wsUpdateSubscriberProfile>

      <!--Optional:-->

      <subscriberProfile>

      <!--Zero or more repetitions:-->

      <entry>

      <!--Optional:-->

      <key>IMEI</key>

      <!--Optional:-->

      <value>SOMETHING_EASY_TO_SPOT</value>

      </entry>

      </subscriberProfile>

      <!--Optional:-->

      <subscriberID>123546546</subscriberID>

      <!--Optional:-->

      <alternateId>?</alternateId>

      <!--Optional:-->

      <updateAction>?</updateAction>

      <!--Optional:-->

      <parameter1>?</parameter1>

      <!--Optional:-->

      <parameter2>?</parameter2>

      </sub:wsUpdateSubscriberProfile>

      </soap:Body>
</soap:Envelope>"

и если вы посмотрите на строку 22 в выводе,переменная $imei определенно вводится.поэтому я проголосовал за то, чтобы закрыть этот вопрос как «не могу воспроизвести».

кстати, что вы получите, если вы запустите var_dump($_POST);?действительно ли есть переменная POST с ключом 86207503?если нет, это, вероятно, означает, что значение error_reporting в вашей среде разработки является плохим, означает, что оно не включает E_NOTICE, что абсолютно необходимо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...