(3-4) إنشاء POJO Annotation-Driven Service

* إضافة (Plain Old Java Object (POJO لاحتواء الـ Web Service Method .
* اختبار الـ Web Service .

إضافة (Plain Old Java Object (POJO لاحتواء الـ Web Service Method

1- في مستكشف التطبيق افتح المشروع  Annotation -حاشية- لنكتشف الـ POJO classes .
Dept.java تصف هيكل الـ department و Emp.java تصف هيكل الـ employee .
MyCompany.java لتعبئة المعلومات department و employees .

tc10201

2- اضغط بزر الماوس مرتين على MyCompany.java لتحرير الكود بها .

tc10202

3- لاحظ البيانات الموجودة في الـ departments و employees .
أضف الحاشية WebService@ في بداية الكود ، هذه الحاشية ترمز إلى أن الـ class تحتوي على method والتي تستخدم من قبل web service .

tc10203

في الهامش اضغط Quick Hint (الأيقونة الطاهرة في الهامش) واختر Configure project for web services .

tc10203b

4- في المربع الحواري Select Deployment Platform ،
تأكد أن Java EE 1.5, with support for JAX-WS Annotations تم تحديدها .

tc10204 اضغط Ok . هذه الخطوة تضيف جملة استيراد javax.jws.WebService وتنشئ ملف web.xml .

5- يجب أن يكون مستكشف التطبيق كالتالي :

tc10205

لاحظ أيقونة الـ class المسماة بـ MyCompany.java قد تغيرت لتكون class من نوع WebService ، و الملف web.xml قد تمت إضافته إلى المشروع .

6- انزل إلى أسفل كود الـ class و أضف هذه الجملة :

public Dept getDeptInfo(int id){
for (Dept a : this.getMyDepts()){
if (a.getId()==id) {
return a;
}
}
return null;
}

tc10206

هذه الحلقة ترجع معلومات عن كل الـ employees الذين يعملون في department محدد .

7- أنشئ الحاشية الثانية قبل الـ method المسماة ()getDeptInfo ، أضف سطر فارغ أعلى الـ method المسماة ()getDeptInfo ، واكتب WebMethod@ ، اختر من القائمة التي ستظهر WebMethod .

tc10207

استخدم المفاتيح Alt-Enter لإضافة جملة ;import javax.jws.WebMethod .

tc10207c

يجب أن تكون الـ class كالتالي :

tc10207b

8- اضغط على أيقونة حفظ الكل لحفظ عملك .

9- يمكنك استخدام Property Inspector لتعدّل الخصائص الخاصة بالـ class .
في شريط القوائم اختر View ثم Property Inspector .

tc10209

10- لعرض الخصائص في الـ Property Inspector اختر التبويب Source أسفل شاشة الـ Structure . ثم اختر  MyCompany .

tc0210

11- الـ Property Inspector تعرض القليل من التبويبات على يسار الشاشة . اختر التبويب Web Services ولاحظ ان Service Name تأخذ الكلمة Service ألحقت باسم الـ class ،
لو انك لا تريد أن تأخذ الـ Service القيمة MyCompanyService يمكنك تغييرها .
عدّل الحقل Service Name إلى MyCompanyWS و احفظ عملك .

tc10211

12- في محرر الكود يمكنك أن ترى الحاشية WebService@ قد تم تحديثها لكي تعكس اسم الـ service الجديد ، والعكس بالعكس التغييرات في محرر الكود تنعكس على الـ Property Inspector .

tc10212

الآن لدينا class تم تعريفها على أنها web service ، في الجزء التالي سوف نختبر تلك الـ web service .

اختبار الـ Web Service

الـ HTTP Analyzer هو آلية الاختبار للـ web service و الذي عند استخدامه ، الـ service يتم عمل compile -تجميع- و deployed -نشر- للـ server المدمج مع الـ JDeveloper .
يتم استدعاء الـ analyzer ليتيح لك إرسال و استقبال القيم من الـ web service .

1- قبل أن نختبر web service ، تأكد من أن إعدادات المتصفح سليمة ، اختر Tools ثم Preferences وفي القاءمة التي على اليسار انزل لأسفل و اختر صفحة Web Browser and Proxy ، تأكد من أن الاختيار Use HTTP Proxy Server لم يتم تحديده ثم اضغط Ok .

tc10301

2- في مستكشف التطبيق ، اضغط بزر الماوس الأيمن MyCompany.java ومن القائمة التي ستظهر اختر Test Web Service .

tc10302

هذا الاختيار يستدعي WebLogicServer تنشر الـ service ثم تبدأ analyzer . يمكن أن تأخذ بعض الثواني لكي تبدأ الـ WebLogicServer ، إذا تم تشغيلها للمرة الأولى .
إذا تلك هي المرة الاولى لاختبار service الـ Windows يمكن أن يسألك عن blocking content .
اسمح بعرض الـ content .

3- الجزء العلوي من شاشة محرر الـ HTTP Analyzer تعرض الـ URL الخاص بالـ web service و الـ WSDL URL والـ exposed Operations .
اختر الـ (,)MyCompanyPort.getDeptInfo من القائمة .

tc10303

الجزء السفلي من الـ analyzer مقسم إلى منطقتين Request و Response .
منطقة الـ request تظهر كل الـ arguments من الـ method المعروضة . عند تشغيل الـ web service ، منطقة الـ Response تظهر النتائج .

tc10303b

4- في منطقة الـ Request أدخل رقم الـ department هذه (10, 20 أو 30) في الحقل arg0 .

tc10304 في أعلى الـ analyzer ، اضغط Send Request .
tc10304b

5- الـ analyzer يبعث الطلب إلى الـ service يعيد بعد القليل من الثواني المعلومات عن employees العاملين في الـ department المحدد .

tc10305

6- اضغط على التبويب HTTP Content أسفل المحرر لعرض مود الـ xml .
tc10306 7- اضغط التبويب Raw Message أسفل المحرر لعرض  شكل آخر من للكود .
tc10307 8- في الجزء العلوي من الـ HTTP Analyzer اضغط على اللينك WSDL URL .
tc10308 9- هذا يفتح محرر مرئي للـ web service . افتح getDeptInfo ثم input ثم getDeptInfo .
tc10309 10- في الجانب الأيسر ، اضغط العلامة Messages Plus .
tc10310 عرض مرئي جديد يعرض لنا مسار كل message تختارها .
tc10310b 11- اضغط بزر الماوس الأيمن على أي تبويب في المحرر ثم اختر Close All .
tc10311

هناك 5 تعليقات:

  1. مدونة رائعة
    بارك الله فيك وكل عام وانت بخير

    ردحذف
  2. أشكرك أخي الكريم على مرورك الطيب .

    ردحذف
  3. الاخ احمد كل عام وانت بخير

    اتنمي منك مراسلتي على mlasnh@yahoo.com
    او الاتصال على جوال 009660542233191
    وذالك للفائدة


    اخوك المهندس / عبدالله

    ردحذف
  4. كل عام وانت بخير أخي عبدالله ،
    لقد أضفتك على الإيميل الخاص بي ، و بإمكاننا التواصل عن طريقه ، وإذا أردت أي شئ أسأل الله أن أستطيع تلبيته لك .
    0102915314

    ردحذف
  5. السلام عليكم
    عجز لساني عن شكرك اخ احمد
    اتمنا منك ان نتراسل على الفيس بوك
    ah_attieh@yahoo.com

    ردحذف

---- أتشرف بتعليقاتكم ----