Структура повідомлення soap-запиту

У наведеному вище коді значення поля заголовка HTTP SoapAction - це ім'я методу, перед яким слід його простір імен. Цим значенням є той же метод і простір імен, що і доданий в кінцеву точку, яка створена за допомогою інструкції CREATE ENDPOINT. Слід зазначити, що заповнення цього поля необов'язково. Поле заголовка HTTP Host визначає сервер, якому відправляється запит HTTP.

Відомості про запит SOAP включаються в елемент конверта SOAP. У попередньому прикладі запитується метод GetCustomerInfo. Атрибут xmlns в - це той же простір імен, що і заданий в методі, для якого створена кінцева точка за допомогою інструкції CREATE ENDPOINT. Додаткові відомості про збережених процедурах і просторах імен см. В розділі Зразки додатків, які відправляють запити до власних веб-службам з підтримкою XML. Наступні параметри методу передаються в якості дочірніх елементів для .

елемент зі значенням 1 - це вхідний параметр.

елемент - це вихідний параметр.

Обробка вхідних параметрів

Вхідні параметри обробляються наступним чином.

Якщо в методі SOAP потрібно вхідний параметр, який не включений в запит SOAP, в викликану збережену процедуру не передаються значення. Виконується дію за замовчуванням, певне в збереженій процедурі.

Якщо в методі SOAP потрібно вхідний параметр, який включений в запит, але йому не присвоєно значення, цей параметр передається в збережену процедуру з нового рядка в якості значення. Слід зазначити, що це значення не дорівнює NULL.

Якщо в операції SOAP потрібно вхідний параметр і йому слід присвоїти значення NULL, необхідно задати атрибуту xsi: nil значення "true" в запиті SOAP. наприклад:

Параметрами можна надавати кілька аспектів. Далі в розділі наведена таблиця, яка містить кілька аспектів, які можна вказувати при виконанні нерегламентованих запитів SQL. У цій таблиці всі аспекти, які можна задавати для вузла , можуть визначатися в вузлах параметрів методів RPC.

При відправці запиту SOAP на виконання нерегламентованої запиту SQL слід викликати метод sqlbatch і передати запити і всі необхідні параметри.

У наступному зразку запит HTTP SOAP викликає метод sqlbatch. Слід зазначити, що відображається лише фрагмент заголовка HTTP.

Слід зазначити, що значення поля заголовка HTTP SoapAction - це ім'я методу (sqlbatch), використовуваного клієнтом для завдання запитів SQL. Слід зазначити, що цей заголовок необов'язковий.

Відомості про запит SOAP виводяться в елементі . елемент SOAP має тільки один дочірній елемент ( ), Який визначає запитаний метод. Простір імен, що задається в елементі, належить простору, де визначається операція sqlbatch. Даний елемент має такі дочірні елементи.

елемент задає один або кілька виконуваних запитів, між якими ставиться крапка з комою (;).

елемент містить необов'язковий список параметрів. У конверті запиту попереднього прикладу в запит передається тільки один параметр. Всі параметри додаються в повідомлення SOAP в якості дочірніх елементів елемента . При їх передачі необхідно вказувати щонайменше ім'я параметра (атрибут Name елемента ) І значення параметра (дочірній елемент елемента ).

Щоб уникнути непередбачених перетворень, надавайте максимально докладні відомості про параметри. У цій таблиці наведено аспекти параметрів, які можна задавати для елемента . Деякі з них також можна задавати для елемента .