Чи є фахівці з SOAP

Питання про backward compatibility. Якщо випускається нова версія SOAP server, де в функцію додається новийinputпараметр, я випускаю новий WSDL, деmessageдодається новий додатковийpart. Це стає несумісним з деякими клієнтами, які користуються новим WSDL але опускають цей параметр. Чи є можливість цей параметр задати як необов'язковий? Чи можна запропонувати клієнтам використовувати старий WSDL, враховуючи, що в новому сервері додані також нові output параметри (щоправда, вони вжеelement, а неpart).

І що робити, якщо написано нового клієнта з новим WSDL? Чи будуть проблеми у віддаленого сервера, якщо наш SOAP клієнт посилає нові параметри input в якусь функцію, а сервер ці параметри не чекає?

І глобальне питання: що читають із приводу SOAP/WSDL в інтернеті (цікавлять англо- та українськомовні ресурси; www.w3.org and www.altova.com ми знаємо). Заздалегідь дякую!

Відповіли: 17

Як ви докладно все розписали те. Насправді мій досвід показує наступне - клієнтські заглушки за будь-якої зміни на сервері краще перегенерувати тому що інакше вони можуть кидати всякі дивовижні помилки.

До речі кінцевому програмісту вебсервісів навіть знати то не дуже треба як там цей довколишній виглядає.

Емм. можна детальніше? Що мається на увазі під клієнтськими заглушками? Клієнти змінювати свої програми не хочуть. Тому крутитися доводиться програмісту Web Service - мені се.

Під клієнтськими заглушками мається на увазі код, який генерується спеціальними тулзами на підставі цього WSDL-я. Оскільки кожен пише ці тулзи по-своєму то ніхто не може гарантувати роботу клієнтського коду при змініWSDLя. Так що у вашому випадку сказати нічого певного не можна, а залишається тільки порадити максимально мало змінювати той всдл з яким нормально працюють клієнти.

Який у вас провайдер вебсервісів якщо не секрет?

Так, здається, напрошується висновок, що догодити всім неможливо. Якщо я правильно зрозуміла питання, то наш веб-сервіс написаний нами ж. (Тобто немає провайдерів?) Клієнтів багато, і чудасії у всіх різні. Була думка, що є якийсь стандарт у SOAP/WSDL, який можна дотримуватися, і тоді всі будуть задоволені. Але всі стандарти, які поки що читані, нічого про optional parameters не говорять. Така ось невдача.