الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

درس بسيط على Web Service

بدأه العيافـي في 5 سبتمبر 2009 · 13 رد · 4,929 مشاهدة · في JavaEE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكــم ورحمـة الله وبركاتــه ،،

درس بسيط لانشاء الويب سيرفس

الادوات المستخدمه

  1. JDK 1.6
  2. EJB 3
  3. JBoss 4.2.4
  4. Eclipse 3.3.0

jboss_endorsed.rar

لتجهيز JBoss يجب إضافة ملفات الجار التاليه على المسار التالي

jboss_home /lib/endorsed

الخطوات إنشاء الويب سيرفس

1- انشاء EJB Project

2- انشاء كلاس الويب سيرفس. سميته في المثال Login.java

package othman.ws.test;

import javax.ejb.Stateless;
import javax.jws.WebMethod;
import javax.jws.WebService;


/**
 * @author othman
 *
 */

@WebService
@Stateless
public class Login {

	@WebMethod
	   public String login(String input)
	   {
		  return ("Othman".equalsIgnoreCase(input)?"Success":"Failure");
	   }

}

3- بالستخدام الكليبس قم بتصدير المشروع بصيغة EJB JAR file الى

(JBoss \server\default\deploy)

4- لتأكد من انه تم انشاء الويب سيرفس ادخل على الرابط التالي http://localhost:8080/jbossws

ثم إضغط على الرابط التالي " View a list of deployed services "

ستجد الويب سيرفس التي انشأتها بهذا الشكل " http://127.0.0.1:8180/WSTest/Login?wsdl"

وعندما تضغط على هذا الرابط الاخير سيفتح لك ملف WSDL . (احفظ هذا الرابط سنحتاج له عند إنشاء Client) .

هنا تكون قد انشأة الويب سيرفس . و يبقى إنشاء ال Client

خطوات إنشاء مستخدم للويب سيرفس

1- File> New > Other >Web Services >Web Service Client

2- في الحقل Service definition إضغط على Browse

3- ادخل رابط WSDL . في هذا المثال سيكون الرابط " http://127.0.0.1:8180/WSTest/Login?wsdl"

4- إضغط على موافق

5- ثم finish

6- أضف الميثود main لتجربه ال Client

Main.java

package othman.ws.test;

/**
 * @author othman
 *
 */
public class Main {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		try {
			System.out.println(new LoginServiceLocator().getLoginPort().login("othman"));
		} catch (Exception e) {
			e.printStackTrace();
		}

	}

}

وسلامتكم

تم تعديل هذه المشاركة بواسطة العيافـي في 5 سبتمبر 2009 في 06:56

#2

السلام عليكــم ورحمـة الله وبركاتــه ،،

كيف الحال يأخ / العيافي

مشكور على هذا الموضوع الجميل جدا.

بس انا عندي استفسار بسيط عن الادوات اللي

EJB 3<li>JBoss 4.2.4<li>Eclipse 3.3.0من فين اجبيها هي موجودة في الحهاز ولا يحتاجلها تحميل

وشكرا

#4

أخ علي موضوع جميل جداً

غير أني لدي بعض الاستفسارات وأرجو أن يتسع صدرك لي

ما معنى الـ annotation المسمى stateless

هل يمكنني كتابة أكثر من دالة مع annotation المسمى WebMethod

وهل إن صح ذلك هل تعتبر كل منها web service على حدة ؟ و هل سننشئ لكل واحدة منها client

بالنسبة للعميل الذي قمنا بإنشاؤه هنا

هل يمكننا استخدام نفس الكلام لكن من صفحة إنترنت مثلاً

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#5

هلا علاء

انا لسى اتعلم الويب سيرفس :P

بالنسبه stateless تستخدم مع كلاسات EJB 3 .

نعم يمكنك انشاء اكثر من ميثود ولا تعتبر كل ميثود ويب سيرفس بال الكلاس بالكامل يعتبر ويب سيرفس واحده.

client واحد كافي.

نعم يمكنك استخدام هذا العميل مع JSP.

هذا ما اعتقده والله اعلم ....

تم تعديل هذه المشاركة بواسطة العيافـي في 6 سبتمبر 2009 في 03:17

#6

شكرا أخي العيافي , جزاك الله خيرا

لو بعض الملاحظات :

بالنسبه لكي تصنع ويب سيرفيس, ف ال JDK1.6 كافي, لأن به implementaion لل JAX-WS

ال stateless ليس لها علاقه بالويب سيرفيس, كما تفضل الأخ العيافي, فهيا تسخدم في ال EJB

هذا الكتاب رائع جدا في تعلم الويب سيرفيسيس في الجافا :

http://www.amazon.com/Java-Web-Services-Ru...k/dp/B0026OR35I

#7

هلا هويدي شكرا على التوضيح و الكتاب

ال stateless ليس لها علاقه بالويب سيرفيس, كما تفضل الأخ العيافي, فهيا تسخدم في ال EJB

وين قرأت هذه المعلومه (ان لم اذكر اي علاقة بين الويب سيرفس و stateless ) .

وشكرا

#8

EJB ليس لها علاقة بـ web service

ليس بالضبط

web service هي عبارة عن EJB مع إلغاء الاعتمادية على لغة الجافا

أقصد أن web service و EJB عبارة عن طبقة المنطق logic layer

لكن web service يمكن منادتها من أي مكان وأي لغة

أما EJB فلا يمكن التعامل معها من خارج جافا

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#9
اقتباس
/**

* @author othman

*

*/

@WebService

@Stateless

public class Login {

@WebMethod

public String login(String input)

{

return ("Othman".equalsIgnoreCase(input)?"Success":"Failure");

}

}

#10

عزيزي علاء كلامك صحيح ...

#11

الله يعافيك

#12

لم أفهم قصدك أخ هويدي هلا وضحت أكثر

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#13

لا عليك أخي علاء......

#14
العيافـي كتب:

السلام عليكــم ورحمـة الله وبركاتــه ،،

درس بسيط لانشاء الويب سيرفس

الادوات المستخدمه

  1. JDK 1.6
  2. EJB 3
  3. JBoss 4.2.4
  4. Eclipse 3.3.0

jboss_endorsed.rar

لتجهيز JBoss يجب إضافة ملفات الجار التاليه على المسار التالي

jboss_home /lib/endorsed

الخطوات إنشاء الويب سيرفس

1- انشاء EJB Project

2- انشاء كلاس الويب سيرفس. سميته في المثال Login.java

package othman.ws.test;

import javax.ejb.Stateless;
import javax.jws.WebMethod;
import javax.jws.WebService;


/**
 * @author othman
 *
 */

@WebService
@Stateless
public class Login {

	@WebMethod
	   public String login(String input)
	   {
		  return ("Othman".equalsIgnoreCase(input)?"Success":"Failure");
	   }

}

3- بالستخدام الكليبس قم بتصدير المشروع بصيغة EJB JAR file الى

(JBoss \server\default\deploy)

4- لتأكد من انه تم انشاء الويب سيرفس ادخل على الرابط التالي http://localhost:8080/jbossws

ثم إضغط على الرابط التالي " View a list of deployed services "

ستجد الويب سيرفس التي انشأتها بهذا الشكل " http://127.0.0.1:8180/WSTest/Login?wsdl"

وعندما تضغط على هذا الرابط الاخير سيفتح لك ملف WSDL . (احفظ هذا الرابط سنحتاج له عند إنشاء Client) .

هنا تكون قد انشأة الويب سيرفس . و يبقى إنشاء ال Client

خطوات إنشاء مستخدم للويب سيرفس

1- File> New > Other >Web Services >Web Service Client

2- في الحقل Service definition إضغط على Browse

3- ادخل رابط WSDL . في هذا المثال سيكون الرابط " http://127.0.0.1:8180/WSTest/Login?wsdl"

4- إضغط على موافق

5- ثم finish

6- أضف الميثود main لتجربه ال Client

Main.java

package othman.ws.test;

/**
 * @author othman
 *
 */
public class Main {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		try {
			System.out.println(new LoginServiceLocator().getLoginPort().login("othman"));
		} catch (Exception e) {
			e.printStackTrace();
		}

	}

}

وسلامتكم

السلام عليكم و رحم الله و بركاته

اخي الحبيب

جزاك الله كل خير على هذا الموقع الجميل جدا الذي يسعدني و يشرفني و الله ان انضم لاسرته

انا المهندس حسام من غزة ... كل مجال عملي في البرمجة بلغة الجافا بالاضافة الى قواعد بيانات اوراكل و mysql ...

انا حابب اعمل ويب سيرفس بال jboss و لكن عن طريق NetBeans ... لاني كل شغلي و خبرتي في النت بينز فقط

هل عندك اي خبرة كيف تتم هذه العملية

حفظك الله و رعاك

مع السلامة

مواضيع مشابهة