PHP SoapClient - Создание запроса с переменной - PullRequest
0 голосов
/ 11 сентября 2018

Я пытаюсь создать запрос SOAP в PHP. Я очень новичок в этом и борюсь совсем немного. Веб-служба, которую я использую, принимает VIN-код транспортного средства и отправляет обратно информацию об этом конкретном транспортном средстве. Введите: 1ZVHT88S375260112 и в ответ вы получите подробную информацию о Ford Mustang 2007 года, к которому принадлежит этот VIN.

Я создал простую строку ввода и форму для ввода VIN. Это перейдет на страницу с запросом PHP SOAP. Я также создал конверт SOAP со своей ссылкой WSDL. Я не указал свои учетные данные для входа (имя пользователя и пароль / секрет).

Как я могу взять вход VIN и мой конверт и создать SOAP-запрос, используя SoapClient в PHP? Любые вклады или помощь будут оценены!

Простой ввод HTML / Форма:

<!DOCTYPE html>
<html>

<head>
<title>VIN Decoder API Test</title>

<style type="text/css">
input {width: 700px;height:50px;display: block;margin-left: auto;margin-right: auto;margin-top: 200px;font-size:36px;font-family: sans-serif;text-align: center;}
button {display: block;margin-left: auto;margin-right: auto;}
.display1 {display: flex;align-items: center;justify-content: center;}
.button1 {
    background-color: rgba(30, 31, 35);
    border: none;
    color: rgba(215, 214, 219);
    padding: 10px 50px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 28px;
    cursor: pointer;
    font-family: sans-serif;
}
</style>

</head>

<body>

    <form action="request.php" method="post">

    <input type="text" id="VIN" placeholder="Enter VIN" name="VIN" maxlength="100"/>
    <br>
    <div class="display1">
    <button id="submit_btn" class="button1">Submit</button>
    </div>

  </form>

  <br>
  <br>

</body>
</html>

Мыльный конверт:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:description7b.services.chrome.com">
<soapenv:Header/>
 <soapenv:Body>
  <urn:VehicleDescriptionRequest>
     <urn:accountInfo number="" secret="" country="US" language="en" behalfOf="?"/>
     <urn:vin>$VIN</urn:vin>
  </urn:VehicleDescriptionRequest>
 </soapenv:Body>
</soapenv:Envelope>

1 Ответ

0 голосов
/ 12 сентября 2018

Если ваш мыльный конверт находится в отдельном файле с именем envelope.txt, вы можете сделать это на своей странице php:

$soapenv = file_get_contents('/path/to/envelope.txt');
$prepared_envelope = str_replace("$VIN", $VIN, $soapenv);

Это загружает ваш конверт в переменную, а затем заменяет переменную назначение вар.Было несколько способов сделать это, но это было проще всего объяснить.

...