Подключение к веб-сервису ASP.Net из PHP и получение данных в формате JSON - PullRequest
1 голос
/ 17 мая 2011

У меня проблемы с подключением к веб-службе ASP.Net с использованием PHP.

Известно, что веб-служба работает, так как она возвращает данные, когда мы подключаемся с использованием Javascript из того же домена, но когдаЯ пытаюсь подключиться, используя PHP, я получаю следующую ошибку:


HTTP/1.1 500 Internal Server Error Content-Type: application/json; charset=utf-8 Server: Microsoft-IIS/7.5 jsonerror: true X-Powered-By: ASP.NET Date: Tue, 17 May 2011 03:40:17 GMT Connection: close Content-Length: 819

{"Message":"Invalid JSON primitive: birthday.","StackTrace":" at System.Web.Script.Serialization.JavaScriptObjectDeserializer.DeserializePrimitiveObject()\

[etc]

Тип содержимого установлен на «application / json; charset = utf-8» в PHP, и мыпытаемся отправить параметр под названием «день рождения», используя следующие данные POST в PHP:

$post_data = array(
    'birthday' => 'none'
);

Я думаю, что веб-служба ASP по какой-то причине не может проанализировать параметр «день рождения»,но я не уверен почему.

Нужно ли мне явно кодировать данные POST как JSON из PHP перед вызовом веб-службы?

Спасибо.

1 Ответ

4 голосов
/ 17 мая 2011

Может быть, этот веб-сервис принимает данные постов в формате Json.Если это так, вы должны использовать

$post_data = array( 'birthday' => 'none' );
$jsonData =  json_encode ($post_data );

для деталей json_encode

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