DB2 ºÍ Delphi 7 — SOAP ºÍÊý¾Ý¿â Web ·þÎñ
¹¹½¨ Windows SOAP ·þÎñÆ÷Ó¦ÓóÌÐò
Ê×ÏÈÔÚ Windows ÉϹ¹½¨·þÎñÆ÷£¬È»ºóÔÚ Linux ÉϹ¹½¨¿Í»§»ú¡££¨Èç¹ûÐèÒª£¬¿ÉÒÔʹÓÃÆäËü·½·¨ — »òÕß½«ËüÃÇÈ«²¿¹¹½¨ÔÚ Windows »ò Linux ÉÏ¡££©¶ÔÓÚ Windows SOAP ·þÎñÆ÷£¬Æô¶¯ Delphi 7 Enterprise£¬Ö´ÐÐ File -> New -> Other£¬×ªÖÁ¶ÔÏó×ÊÔ´¿â£¨Object Repository£©µÄ Web ServicesÑ¡Ï¡£
ͼ 1. Delphi 7 ¶ÔÏó×ÊÔ´¿â
Òª½« DataSnap? Ó¦ÓóÌÐò¹¹½¨³É¿çƽ̨µÄ Web ·þÎñ£¬Ë«»÷ SOAP Server Application ͼ±ê£¬Õ⽫Æô¶¯ÏàÓ¦µÄÏòµ¼¡£
ͼ 2. ´´½¨Ð嵀 SOAP ·þÎñÆ÷Ó¦ÓóÌÐò
ͨ¹ýʹÓà Delphi 7£¨ÔÚ Windows ÉÏ£©£¬ÏÖÔÚ¿ÉÒÔ´Ó ISAPI/NSAPI DLL¡¢Apache 1.x »ò 2.x DLL¡¢CGI ¿ÉÖ´ÐÐÎļþ»ò Web App Debugger ¿ÉÖ´ÐÐÎļþÖ®ÖнøÐÐÑ¡Ôñ¡£¿ÉÒÔʹÓúóÕß´Ó Delphi IDE Öе÷ÊÔÓ¦ÓóÌÐò£¨µ«²»Äܲ¿ÊðËü — ±ØÐ뽫Ëü¸ü¸Ä³ÉÆäËüÄ¿±êÖ®Ò»À´²¿Êð Web ·þÎñÆ÷Ó¦ÓóÌÐò£©¡£Í¨¹ýʹÓà Kylix 3£¨ÔÚ Linux ÉÏ£©£¬¿ÉÒÔÑ¡Ôñ Apache ¶¯Ì¬¹²ÏíÄ¿±ê£¨Apache Dynamic Shared Object£¬DSO£©Îļþ¡¢CGI ¿ÉÖ´ÐÐÎļþ»ò Web App Debugger ¿ÉÖ´ÐÐÎļþ¡£¶ÔÓÚ±¾Àý£¬Ñ¡Ôñ CGI ¿ÉÖ´ÐÐÎļþ£¬µ«ÔÚʵ¼ÊʹÓÃʱ£¬¿ÉÄÜҪѡÔñÒ»¸ö¸ü¸ßЧµÄ Apache »ò ISAPI/NSAPI DLL¡£Ñ¡Ôñºó£¬µ¥»÷ OK¡£ ´ËʱΪÄúÉú³ÉÁËÒ»¸öÐ嵀 SOAP ·þÎñÆ÷Ó¦ÓóÌÐòºÍ SOAP Web Ä£¿é¡£µ«ÔÚÄú¿ÉÒÔ¶ÔËü½øÐиü×ÐϸµÄÑо¿Ö®Ç°£¬»á¿´µ½Ò»¸öµ¯³ö¶Ô»°¿ò£¬Ñ¯ÎÊÄúÊÇ·ñÒªÁ¢¿ÌΪ SOAP Ä£¿é´´½¨Ò»¸ö½Ó¿Ú¡£
ͼ 3. ÒòΪÄúÕýÔÚ¹¹½¨Ò»¸öÌØÊâµÄ DataSnap SOAP ·þÎñÆ÷£¬ËùÒÔµ¥»÷ No
µ¥»÷ No£¬ÒòΪÄú²»ÏëÁ¢¿Ì¹¹½¨Ò»¸ö³£¹æµÄ Web ·þÎñÓ¦ÓóÌÐò¡£¶øÊÇÏëÒª¹¹½¨Ò»¸öÌØÊâµÄ DataSnap SOAP ·þÎñÆ÷¡£ÕýÈçÄúÔÚ Í¼ 4ÖÐËù¼ûµ½µÄÄÇÑù£¬SOAP Web Ä£¿éÒѾ°üº¬ÁËÈý¸ö×é¼þ£º
THTTPSoapDispatcher THTTPSoapPascalInvoker TWSDLHTMLPublish ×é¼þ ÓйØÕâЩ×é¼þµÄ¸üÏêϸÐÅÏ¢£¬Çë²ÎÔÄÁª»ú°ïÖú£»ËüÃÇÖ÷ҪΪ DataSnap SOAP ·þÎñÆ÷Ö´ÐÐËùÓÐ SOAP ºÍ WSDL“̽²â£¨plumbing£©”ÈÎÎñ£¬ËùÒÔÄúÏÖÔÚ¿ÉÒÔ×ÅÖØ¹Ø×¢Êý¾Ý¿â±í£¬¶ø²»±Øµ£ÐÄÆäËüÊÂÇé¡£
´ø×é¼þµÄ SOAP Web Ä£¿é
½« SOAP Web Ä£¿é±£´æÔÚÎļþ SWebMod.pas ÖУ¬½«Õû¸öÏîÄ¿±£´æÔÚ D7DB2CGI.dpr ÖУ¨Õ⽫²úÉú D7DB2CGI.exe £©¡£ ÏÖÔÚÌí¼Ó SOAP Êý¾ÝÄ£¿é£¨SOAP Data Module£©À´Á¬½Ó DB2 Êý¾Ý¿â£¨Í¨¹ýʹÓöÔÏó×ÊÔ´¿âµÄ WebServices Ñ¡ÏÖеĵڶþ¸öͼ±ê£»»¹Çë²Î¼ûͼ1£©¡£ÔÚ SOAP Data Module Ïòµ¼ÖУ¬Ö»ÐèÒªÖ¸¶¨ÐÂÊý¾ÝÄ£¿éµÄÃû³Æ£»½«ËüÃ
Ïà¹ØÎĵµ£º
Python , Delphi , Loki Èý¸öµ¥´ÊÓÐȤµÄÀ´Ô´
Ðí¶à³ÌÐòÉè¼ÆÓïÑԺͿª·¢¹¤¾ßÒÔ¼°¿âµÄÃû×Ö¶¼À´Ô´ÓëÉñ»°£¬ÆÄÓÐÒâ˼£º
°¢²¨ÂÞÊÇͬʱ³öÏÖÔÚÏ£À°ºÍÂÞÂíÉñ»°ÖеİÂÁÖÅÁ˹ʮ¶þ´óÉñÖ®Ò»¡£Ëû³ýÁËÓµÓÐÌ«ÑôÉñµÄÉí·Ö£¬Í¬Ê±»¹ÓÐÔ¤ÑÔ¡¢ÒÕÊõ¡¢Ò½ÊõÖ®ÉñµÄ³ÆºÅ¡£°¢²¨ÂÞÊÇÖæË¹ºÍÀÖ¶äµÄ¶ù×Ó£¬ºÍ°¢µÙÃÛ˹ÊÇË ......
ʲôÊǶà̬£¬×ÖÃæÒâ˼¾ÍÊÇ“¶àÖÖÐÎ̬”£¬ÓöÔÏóÀ´½²¾ÍÊÇ×ÓÀà¼Ì³Ð»ùÀ࣬¶ø²»Í¬µÄ×ÓÀàÓÖ·Ö±ð¶Ô»ùÀà½øÐй¦ÄܵÄÀ©Õ¹¡£
¶à̬ÔÚObject PascalÖÐÊÇͨ¹ýÐé·½·¨ÊµÏֵģ¨Virtual Method£©,ÔÚObject PascalÖлùÀàµÄÐé·½·¨ÊÇ¿ÉÒÔ±»ÅÉÉúÀา¸Ç£¨Override£©µÄ ......
1.±»×°ÊÎÕß
{¡¶HeadFirstÉè¼ÆÄ£Ê½¡·Ö®×°ÊÎģʽ }
{ ±¾µ¥ÔªÖеÄÀàΪ±»×°ÊÎÕß }
{ ±àÒ빤¾ß: Delphi7.0 }
{ E-Mail : xshlife@163.com }
unit uComponent;
interface
type
TBeverage = class(TObject) //³éÏóÒûÁÏÀà
protected
FDescription: String;
public
......
ûÓÐÓ¦ÓÃ״̬ģʽµÄ´úÂë
1. ¹¤³ÌÎļþ
program Project1;
{$APPTYPE CONSOLE}
uses
uGumballMachine in 'uGumballMachine.pas';
var
aGumballMachine: TGumballMachine;
begin
aGumballMachine := TGumballMachine.Create(5);
aGumballMachine.InsertQuarter;
aGumballMachine.TurnCrank;
Writeln; ......