Задать вопрос
@GrandinaWi

SOAP запрос к вебсерверу. Где ошибка?

Доброе утро, пытаюсь отправить SOAP запрос на вебсервер 1с. Код запроса:
function getSoap($query){
    /*
    * Конфиги
    */
    $username = "Логин";
    $password = 'Пароль';
    $soapUrl = "урл";
    $headers = array(
        "Content-Type: application/soap+xml; charset=utf-8",  
    );

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $soapUrl);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_USERPWD, $username . ":" . $password);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $query);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $response=curl_exec($ch);
    curl_close($ch);

    $response=str_replace('','',str_replace("\t",'',str_replace("\r",'',str_replace("\n",'',trim($response)))));
    return $response;


}

$xml_posts='<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:ru="ru.umc">
   <soap:Header/>
   <soap:Body>
      <ru:GetListClinic/>
   </soap:Body>
</soap:Envelope>';


$clinics=getSoap($xml_posts);
print_r($clinics);

SOAP запрос правильный, выдал 1сник, у него запрос работает. Я же вместо ответа получаю просто список всех методов.
6333c14cad518152725371.jpeg
  • Вопрос задан
  • 179 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
А почему не используете штатный SoapClient?
$soapParameters = [
    'login' => 'Логин',
    'password' => 'Пароль',
    'cache_wsdl' => 0
];
$soap = new SoapClient('http://example.com/service?wsdl', $soapParameters);
$clinics = $soap->GetListClinic();
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы