Всім привіт!
У минулій статті ми з'ясували, як створити входить веб-сервіс в Siebel. Сьогодні будемо створювати вихідний. Такого роду сервіси зручні в тому випадку, коли дані потрібні нечасто і з одного місця. Наприклад, запитуємо актуальний курс валют, перевіряємо паспорт на дійсність і т.д. Створення такого роду сервісу трохи складніше, тому що тут Siebel виступає активною стороною.
Незважаючи на це, в разі, коли у нас є готова wsdl потрібного сервісу, завдання не викликає великих труднощів, але при такому підході ми не знаємо, що відбувається на іншій стороні. Тому ми зробимо свій сервер з блекджек класами і методами!
План такий: створюємо wsdl, на її основі - сервер, шолом тестовий запит з SOAP UI, створюємо вихідний сервіс в Siebel і перевіряємо весь процес.
- Що ми хочемо отримаємо?
- Hello, World!
- Як ми хочемо його отримати?
- Послати «World» і отримати відповідь!
- Навіщо?
- о.О Щоб було!
Опис є, залишилося запустити сам сервіс, який і буде з цього опису працювати. Кидаємо wsdl в кореневу директорію сервера, створюємо там же файл index2.php. У ньому пишемо наступне:
Пер ші 3 рядки задають заголовок відповіді, функція описує те, що станеться, далі настройка кешування і останні 3 рядки - сам сервер. Нічого складного) Окремо торкнуся ini_set (), ця функція на вашому сервері може бути відключена, тоді йдемо в php.ini і виставляємо цю настройку там, а з файлу прибираємо. Все, наш сервер готовий приймати запити. Беремо wsdl, створюємо проект в SOAP UI (як це робити описано в статті) і тиснемо зелену стрілку. Отримуємо відповідь:
Відмінно! SOAP сервер живе. Можна випити чаю / кави / пива. І переходимо до другої частини нашої програми: повертаємося до Siebel.
Заходимо в Siebel Tools, через New Objects Wizards з вкладки EAI створюємо Web Service.
Вибираємо проект і місце, де лежить файл. Краще його покласти в директорію, в яку тулзи можуть створювати файли, тоді не доведеться міняти 2 інших шляхи: для xml і лог-файлу. В результаті створить новий Business Service з ім'ям Hello_PortType і класом CSSWSOutboundDispatcher.
У нього виявимо такі вхідні і вихідні параметри: ... і один метод: sayHello. Крім цього, в «Адміністрування - Веб-сервіси -> Вихідні веб-сервіси» створиться запис:Залишилося тільки перевірити наш веб-сервіс. Найпростіше це зробити через моделювання сервісів. Заходимо в Адміністрування - Бізнес-Сервіс -> Моделювання, вводимо назву сервісу: Hello_PortType, вибираємо єдиний метод: sayHello. Заводимо входить параметр: SayHelloRequest: firstName і виконуємо.