استغلال Web Service من خلال SOAP في دلفي
#8
الطريقة الثانية وبستعمال مكوناة INDY

في هذه الطريقة لا تعتبر خدمت الواب حسب الشرح السابق لكل من SAOP بكن بما انها تستعمل ملفات اكسمل + http فيمكن ان نحكم عنها بانها خدمت ويب كيف ذللك
ومتى نحتاج هذه الطريقة مثلا عندك برنا مجين مختلفين التطبيق الاول يقوم بعمليات الاضافة التغيير في القاعدة و البرنامج الثاني نجد به الة حاسبة تقوم باجراء الكثيير من الحسابات على المعطيات التي في القاعدة و لترجع لنا نتيجة في وقت عير معلوم اى حسب نوع العملية
يطلب منك كمبرمج ان تعرض ما يقوم به التطبيق الثاني في التطبق الاول
كيف تعمل
الحل
نضع ملف او جدول ثم استرحع المعلومات من واجهة التطبيق 2 و في التطبيق 2 اضع timer تعرض محتوى الجدول
نعم صحيح ولكن عندي افضل لاني استعمل الذاكرة و لا اخش تلف الملف او فقذ معلومة ما
اضيف خدمت الى التطبيق 2 ومن التطبق 1 اعرض نتيجتها
كيف ذلك
كود :
http://www.arabteam2000-forum.com/uploads/monthly_06_2009/post-1034-1246186368.jpg
برمجة الخدمة و الخادم

في هذا المثال سننشأ خادم ويب جديد ليس له علاقة ب iis او الاباش وليكن على المنفذ8081
العنوان هو
كود :
http://localhost:8081/
بعد وضع المكونات كما في الصورة الخاصة بالخادم ولال ننسا كتابى المنفد 8081 في الخاصية
كود :
[b] [/b]defaultport :8081 للمكون IdHTTPServer1

الهدف من هذا الكود هو قراءة الرقم الممر في url
البحث في القاعدة
ارسالة النتيجة في شكل اكسمل

كود :
procedure TForm3.IdHTTPServer1CommandGet(AContext: TIdContext;ARequestInfo: TIdHTTPRequestInfo ; AResponseInfo: TIdHTTPResponseInfo); var vid,str : string; vQuery :TADOQuery; begin str:=''; if ARequestInfo.Params.Count >0 then vid:=ARequestInfo.Params.Values['id']; TRY vQuery := TADOQuery.Create(nil); vQuery.Connection:=ADOConnection1; vQuery.SQL.Text := FORMAT([color= #0000ff;]'SELECT * FROM [table] WHERE id = %S'[/color],[vid]); TRY vQuery.Open; str:= ' '+ ' '+ ' '+ ' '+ ' '+ ' '+ ' '+ ' '+ ' '+ ' '; while not vQuery.Eof do begin str:= str + FORMAT( ' ',[vQuery.FieldByName('id').AsString, vQuery.FieldByName('name').AsString, vQuery.FieldByName('not').AsString ] ); vQuery.Next; end; str:= str +' '; EXCEPT ON E:Exception DO ShowMessage(e.Message); END; FINALLY AResponseInfo.ContentText:=str; vQuery.close; vQuery.Free; END; end;

بهذا انتهينا من برمجة الخادم و الخدمت
لواردنا عرض النتيجة لابدا ان نقوم يقراءة الاكسمال الناتج وعرضه في شكل html في المتصفح مثلا
وضعها فيclientdataset


الملفات المرفقة
.rar   indy.rar (الحجم : 41.52 ك ب / التحميلات : 31)
الرد


الردود في هذا الموضوع
استغلال Web Service من خلال SOAP في دلفي - بواسطة زكيري عبدالعالي - 27-06-2011, 08:34 AM

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم