2012-01-27 2 views
1

У меня есть скрипт PHP, который синхронизирует данные с сторонней службой, и я хотел бы, если возможно, заменить nuSOAP на cURL, поскольку я слышал, что cURL быстрее. Веб-сервис, который я вызываю, просто берет простой HTTP-пост и возвращает его, поэтому параметры cURL не должны быть слишком вовлечены.Замените nuSOAP на cURL

Мне нужно передать 4 вещи, идентификатор пользователя, пароль, идентификатор организации и имя веб-службы для получения данных.

Какую часть опций cURL я передаю им? Я пытался передать их в заголовке, но я не уверен, что это правильно. Я продолжал получать ошибку «Плохой запрос (недопустимый номер)».

Редактировать: Я устанавливаю HTTPHEADER, но похоже, что он все еще устанавливает его в text/html.

ответ

0

Так как у меня есть мысль, что у вас есть базовое понимание cURL. Я даю вам небольшую информацию.

Если вы просто разместить информацию к использованию страницы сделать из

curl_setopt($agent, CURLOPT_POST, true); 
curl_setopt($agent, CURLOPT_POSTFIELDS, $post_data); 

где $post_data будет информация вы размещаете на страницу, что-то вроде

$post_data="name=stanley&feedback=good"; 

Или

Если вы пытаетесь сделать аутентификацию на странице, используйте только

curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); 
curl_setopt(CURLOPT_USERPWD, '[username]:[password]'); 
0

Если вы говорите, «Веб-сервис Я звоню просто принимает простой HTTP пост», предполагая, что его не использование SOAP, вы могли бы сделать это с помощью:

curl_setopt($handle,CURLOPT_POST,true); 
curl_setopt($handle,CURLOPT_POSTFIELDS,array(
     'user_id' => 'user', 
     'password' => 'pass' //etc, all the key/value pairs you need. 
    )); 

Однако, если является SOAP-сервис, вам нужно будет сделать SOAP-запрос, и который для этого мы не сможем вам рассказать без WSDL. Любой из пакетов PHP XML мог бы создать его, возможно, для простых вещей, даже при нормальных строковых манипуляциях.

Помощь в встроенном soapclient (не nusoap) заключается в том, чтобы сделать запрос с SOAPClient и просто изучить выход __getLastRequest().

 Смежные вопросы

  • Нет связанных вопросов^_^