2014-10-30 3 views
0

У меня есть wsdl с одной функцией getProd(), которая принимает строковый параметр и имеет SOAPaction getProd. Я смог использовать webservice с помощью NuSoap и SoapClient. Но в любое время, когда я пытаюсь использовать его с помощью curl, я продолжаю запрашивать ошибку. Отсутствует аргумент 1 для getProd(). Пожалуйста помоги. Я использовал завиток, чтобы использовать другие веб-сервисы, прежде чем я не знаю, в чем проблема.Отсутствует аргумент 1 Когда Cosuming SOAP-сервис с CURL php

Вот мой код

$soap_do = curl_init(); 
$post_string = "books"; 
curl_setopt($soap_do, CURLOPT_URL,   "http://localhost/wsdl/post.php?wsdl"); 
curl_setopt($soap_do, CURLOPT_CONNECTTIMEOUT, 10); 
curl_setopt($soap_do, CURLOPT_TIMEOUT,  10); 
curl_setopt($soap_do, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($soap_do, CURLOPT_SSL_VERIFYPEER, false); 
curl_setopt($soap_do, CURLOPT_SSL_VERIFYHOST, false); 
curl_setopt($soap_do, CURLOPT_POST,   true); 
curl_setopt($soap_do, CURLOPT_POSTFIELDS, $post_string); 
curl_setopt($soap_do, CURLOPT_HTTPHEADER,  array( 
      'Content-Type: string; charset=utf-8', 
     "Cache-Control: no-cache", 
     "Pragma: no-cache", 
    "SOAPAction: getProd", 
    'Content-Length: '.strlen($post_string) 
    )); 
$response = curl_exec($soap_do); 
echo $response; 
echo curl_error($soap_do); 

ответ

0

решаемая. Я понял, что NuSoap и SoapClient автоматически добавляют необходимый мыльный конверт. Хотя вы можете сделать это вручную при использовании Curl