Я пытаюсь вернуть значение из моей базы данных (MySQL) клиенту C # через SOAP.
Сервер написан на PHP, и я думаю, что там все идет не так:
class foo{
function bar()
{
$result = $connection->query("SELECT value
FROM table
WHERE id='$id'");
$row = $result->fetch_assoc();
return (int)$row['value'];
}
}
Будет отображаться как 0 в C #, независимо от того, какое значение было в базе данных.Тем не менее,
class foo{
function bar()
{
return 5;
}
}
отображается как правильное значение (в данном случае 5) в C #.
Чего мне здесь не хватает?Кажется, что данные из базы данных не будут возвращены в C # правильно, но любые другие способы записи того же значения (статически) в PHP, будут успешными.
РЕДАКТИРОВАТЬ: Я сейчас настроил PHP SOAP-client, который получает те же значения, что и C #.Таким образом, похоже, что проблема в PHP-SOAP-сервере, сообщающем неверные значения клиенту (всякий раз, когда возвращаемое значение не является статическим).
РЕДАКТИРОВАТЬ: я нашел решение своей проблемы;Мой файл WSDL имел сложный тип запроса, хотя для него требовался только простой тип.Изменение этого сложного типа на простой, решило проблему.Не спрашивайте меня почему - это не имеет никакого смысла для меня!