كل المشاريع
واجهة خلفية
MicroBank — خدمة ويب SOAP (JAX-WS)
خدمة ويب SOAP مبنية بـ JAX-WS: نقطة نهاية «MicroBank» مستقلة تعرض تحويل العملات وعمليات الحسابات، إضافة إلى عميل يستهلكها عبر stub مُولَّد من WSDL باستخدام wsimport.
SOAP
Protocol
JAX-WS
Stack
3
Operations
WSDL stub
Client
المنهجية
نشر نقطة نهاية JAX-WS مستقلة، ثم استهلاكها عبر stubs وفق العقد مُولَّدة من WSDL
المكدس التقني
Java 17JAX-WS (jaxws-rt)SOAP / WSDLwsimportMaven
الكلمات المفتاحية
SOAPJAX-WSWSDLwsimportWeb ServicesJava
التعمق
تمرين SOAP / WSDL كلاسيكي: خدمة بنكية تُنشَر كنقطة نهاية JAX-WS مستقلة، وعميل منفصل يتواصل معها عبر stubs مُولَّدة وفق العقد أولاً.
الهيكل
microbank-soap-service/ → ينشر نقطة @WebService على :9090
└── service/MicroBank → toMAD، getAccount، getAccounts
└── entities/Account
microbank-soap-client/ → BankWSClient
└── proxy/ → فئات مُولَّدة من WSDL (wsimport)
العمليات (@WebService BankWS)
| العملية | المُدخل | المُخرَج | الوصف |
|---|---|---|---|
| toMAD | double euroAmount | double | تحويل EUR → MAD (×15) |
| getAccount | int code | Account | حساب واحد (رصيد عشوائي) |
| getAccounts | — | List<Account> | كل الحسابات |
سير العمل
- ◂نشر الخدمة:
mvn exec:java -Dexec.mainClass=…BankWSApp - ◂توليد stub العميل من WSDL:
wsimport -keep -p …proxy http://localhost:9090/?wsdl - ◂تشغيل العميل لاستدعاء العمليات البعيدة
جرى تحديث البناء: استبدال jaxws-maven-plugin الخاطئ بـ jaxws-rt، والمواءمة مع Java 17، وتبسيط الهيكل.