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
Совместимость между PHP SOAP и библиотеками Python SOAP ⇐ Php
Кемеровские программисты php общаются здесь
-
Anonymous
1749595485
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) производить что -то подобное?
Подробнее здесь: [url]https://stackoverflow.com/questions/35829473/compatibility-between-php-soap-and-python-soap-libraries[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия