2012-02-18 3 views
-2

Я управляю проектом iPhone/Android, и на днях мой клиент спросил меня, возможно ли приложение обрабатывать динамически разные WSDL. Итак, я пересылаю этот вопрос вам :) Спасибо за вашу помощь.Управление iPhone/Android динамическим SOAP WS

UPDATE: Приложение отображает заполняющую форму (поля редактирования, флажки, ...), которые поступают из SOAP Ws и по умолчанию является известным WSDL. Идея заключается в том, что клиент хочет иметь динамические формы в зависимости от WSDL, который загружается откуда-то из Интернета. Например, пользователь загружает некоторый WSDL, который имеет примерно такую ​​же схему, за исключением полей, которые должны отображаться. Поля могут отличаться от формы к другой.

+0

Вопрос слишком общий. Возможно, конечно. Легкая, экономичная, удобная, быстрая ... может быть. – Rayfleck

+0

Я добавлю несколько подробностей в надежде расширить вопрос. –

ответ

1

Использование WSDLs таким образом - боль. Конечно, это возможно, но общая точка WSDL заключается в генерации кода, который анализирует и проверяет SOAP. Вы не можете динамически генерировать этот код в развернутом приложении (определенно не на iPhone, и я предполагаю, что не на Android, хотя это не моя специальность). Таким образом, вам придется динамически управлять всем анализом SOAP, что является королевской болью.

Этот тип интерфейса намного проще в JSON, поскольку JSON просто кодирует данные свободной формы, что в основном то, что вы создаете здесь. Если вы можете конвертировать из SOAP в REST + JSON, это было бы намного проще. В противном случае я бы разработал WSDL, который может кодировать общую форму, а не создавать новый WSDL для каждой формы.

Конечно, это следствие более глубокого правила: в iOS никогда не бывает ситуации, когда SOAP является хорошим ответом (требуется, возможно, но никогда не бывает хорошим). Недостаток SOAP в Napier заключается в том, что никогда не бывает ситуации, когда SOAP является хорошим ответом, но я смог доказать это только на iOS. Я слышал, что могут быть встречные примеры в других пространствах.

+0

Спасибо за ваш явный ответ, это действительно полезно для меня. –

Смежные вопросы