Совместимость между PHP SOAP и библиотеками Python SOAPPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Совместимость между PHP SOAP и библиотеками Python SOAP

Сообщение Anonymous »

Moodle LMS можно использовать для викторины студентов. Один необязательный тип вопроса (непрозрачный) использует SOAP для запроса вопросов из службы (код по адресу https://github.com/timhunt/moodle-qtype_opaque).
Существует рабочий сервер вопросов, реализованный в PHP с использованием WSDL, определенного в https://github.com/timhunt/moodle-local_testopaqueqe
Осложнение, с которым я сталкиваюсь, состоит в том, что код в типе вопроса ожидал, что некоторые возвращаемые значения являются строкой. Ответ с функционирующего тестового сервера выглядит как ... < /p>



<engineinfo>
< /code>
Примечание xsi: type = .. string. Данные фактически возвращаются в виде строки форматированной XML по приложению PHP: < /p>
/**
* A dummy implementation of the getEngineInfo method.
* @return string of XML.
*/
public function getEngineInfo() {
return '
< /code>
Я пытаюсь интерфейс это на сервер Python+SOAP. Я пытался использовать ZSI и Spyne. С ZSI я использовал WSDL, предоставленный с примером сервера для генерации заглушек кода. Соответствующий код просто возвращает строку, очень похожую на код PHP. Ответ от этого: < /p>


<engineinfo>
< /code>
Обратите внимание на отсутствие модификатора типа строки. Этот ответ получается кодом PHP в Moodle в качестве объекта, содержащего одно поле без имени, но содержащее возвращенную строку XML. Поскольку это объект, содержащий строку, а не просто строку, код не может правильно проанализировать результат.soap11env:Body>

<engineinfo>
< /code>
из этого кода: < /p>
@srpc(_returns=String, _body_style='wrapped',
_out_variable_name="getEngineInfoReturn"
)
def getEngineInfo():
resp = "\n"
< /code>
Это также возвращает объект с одним элементом (ныне названный GetEngineInforTurn), который содержит подходящую строку.
Однако приемник (который был доволен произведенным WSDL)
по -прежнему ожидает строки, а не объект, содержащий строку. < /p>
я, скорее, получаю версию Spyne, а не версия Spyne, а не версия Spyne, а не версия Spyne, а не версия Spyni, а не версия Spyni, а не версия Spyni, а не версия Spyni, а не версия Spyni. Я использовал SOAP раньше, но не уверен, делает ли код PHP необоснованное предположение о формате возврата или я должен иметь возможность затянуть Spyne, чтобы произвести этот формат. Читая исходный код для функции декоратора, я не думаю, что смогу. < /P>
Итак, это плохо кодированный клиент или ожидаемая схема мыла в норме? Как я могу заставить Spyne (или Zis) производить что -то подобное?

Подробнее здесь: https://stackoverflow.com/questions/358 ... -libraries
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Совместимость между PHP SOAP и библиотеками Python SOAP
    Anonymous » » в форуме Python
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • SOAP-ENV:Server всегда имеет одно и то же значение в SOAP и Spring WS.
    Anonymous » » в форуме JAVA
    0 Ответы
    69 Просмотры
    Последнее сообщение Anonymous
  • Аутентификация в заголовке SOAP с использованием C# и пользовательского интерфейса SOAP.
    Anonymous » » в форуме C#
    0 Ответы
    42 Просмотры
    Последнее сообщение Anonymous
  • WCF, SOAP, требуемая часть сообщения «Тело», «http://schemas.xmlsoap.org/soap/envelope/» не была зашифрована.
    Anonymous » » в форуме C#
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • SOAP-ENV:Server всегда имеет одно и то же значение в SOAP и Spring WS.
    Anonymous » » в форуме JAVA
    0 Ответы
    29 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Php»