Возврат массива с помощью службы PHP SOAP - PullRequest
2 голосов
/ 13 февраля 2011

Когда я начал это, я ничего не знал о SOAP или о том, как он работает.В первые несколько часов я многому научился, и в результате я получил оперативный тест службы SOAP (который я пишу на PHP).Мне удалось создать SOAP-клиент как в PHP, так и в Visual Studio (к чему я действительно стремлюсь) и вернуть нужную информацию.

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

Я пытаюсь вернуть массив из 8 элементов с разными типами.Вот элементы и типы этого массива:

Заголовок - строка LinkId - int Дата - int Автор - строка Содержимое - строка Id - int Значок - int Отредактировано - boolean

Функция GetNews будетвернуть 25 из этих массивов (для каждой страницы вход представляет собой целое число, для которого нужно получить страницу результатов).

Я не могу понять, как сериализовать массив, чтобы SOAP возвращал его правильно.

Вот URL моего файла WSDL:

http://api.infectionist.com/soap.wsdl

ПОЖАЛУЙСТА, помогите мне, я полностью застрял.Я не вижу ничего плохого в коде, и он работает без ошибок в PHP и Visual Studio, он просто возвращает пустой результат.

1 Ответ

0 голосов
/ 27 декабря 2011

Я предполагаю, что вы пытаетесь вернуть весь массив сразу из PHP?Если это так, вам нужно убедиться, что вы возвращаете строку XML.Например:

<?php

return '
    <data>
        <title>Actual title</title>
        <linkId>154278</linkId>
        ...
    </data>
';

?>

Рассматривали ли вы использование строки JSON в качестве альтернативы для отправки данных с сервера SOAP?Это позволит вам иметь все необходимые элементы в одном элементе и сохранить гибкость для добавления / удаления элементов позже (вам нужно будет проинформировать об этом своих клиентов).

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