26 06, 2007

ÔÚWebLogicºÍ.NETÉÏЭͬ¿ª·¢Web service

Ê×ÏÈ£¬´´½¨Ò»¸öÎÞ״̬»á»°EJBÀ´ÊµÏÖÓ¦ÓÃÂß¼­¡£ÕâÀïΨһµÄÎÊÌâÊÇÉè¼Æ½Ó¿Ú·½·¨ÉùÃ÷£¬Ê¹Ó÷½·¨ÉÏÐèÒª´«µÝ¼òµ¥¶ÔÏ󡣿¼Âǵ½ÕâЩ×÷Ϊ¸´ÔÓÀàÐ͵ĶÔÏó£¬Ëü³ýÁËÓÐget/set¹¦ÄÜÀ´´¦ÀíÊôÐÔ£¨×ñÑ­JavaBean¹æ·¶£©ÍâûÓÐÆäËûµÄ¹¦ÄÜ¡£Í¬Ê±Ò²¿ÉÒÔÖ§³Ö¸´ÔÓÀàÐÍÊý×éºÍ¸´ÔÓÀàÐÍǶÌס£¹Ø¼üÊÇÔÚÉè¼ÆÔ­ÔòÉÏÒª±£³Ö·½·¨µÄ¼òµ¥ÒÔ¼°·þÎñ±¾ÉíµÄÇý¶¯Æ÷ÐÐΪ¡£Èç¹ûÒì¹¹ÊÇÒ»¸öÉè¼ÆÄ¿±ê£¬ÄÇô²»Òª°ÑWeb servicesµ±×÷¶ÔÏó´®Ðл¯¼¼ÊõÀ´¿¼ÂÇ£¬¶øÓ¦µ±×÷ÊÇÒ»ÖÖչʾҵÎñʼþ¹¦ÄܵÄÒ»¸ö·½·¨¡£

È»ºó, ÓÃwsgen AntÈÎÎñ´´½¨.earÎļþ¡£ÔÚWLS²úÆ·ÏúÊÛʱWebLogicÀ¦°óÕâ¸ö¹¦ÄÜÒÔ¼°Ant 1.3°æ±¾¡£²úÆ·ÎĵµÖÐÌṩÁ˸ÃÈçºÎÕýÈ·µÄÍê³É¸ÃÈÎÎñµÄÏêϸÃèÊö¡£ÎÒµÄbuild.xml½Å±¾Îļþ°üÀ¨ÒÔϵIJ¿·Ö£º

<target name="webservice" depends="init">
<wsgen destpath="/xylo/dev/${beanname}.ear" con
text="/${beanname}" protocol="http">
<rpcservices
path="${jardest}/ejb_${beanname}.jar">
<rpcservice bean="${beanname}"
uri="/${beanname}"/>
</rpcservices>
</wsgen>
</target>

³ÌÐò¶¨ÒåÁËÒ»¸öеÄwebservice targetÈÎÎñ¡£ËüÒÀ¿¿Ò»¸ö½Ð×ö init µÄ¶ÔÏó£¬ÒÀ¾Ý³£¹æÔÚinit targetÖж¨ÒåÁË»·¾³±äÁ¿ºÍ²ÎÊý¡£ÎÒËùÓеĽű¾Îļþ¶¼¶¨ÒåÁË beanname ±äÁ¿£¬ËüÒÔ¸÷ÖÖ²»Í¬µÄ·½Ê½ÃüÃû±ØÐèµÄÎļþ¡£Õâ¸ötarget½«ÔÚÒ»¸öÔËÐÐÖеÄWLSʵÀýÉÏ´´½¨ºÍ²¿Êð.earÎļþ¡£WLS 6.1 ÒÔÒ»Öַdz£¼òµ¥µÄ·½·¨ÊµÏÖÁËSOAPºÍWSDLµÄÒ»¸ö±£ÊصÄ×Ó¼¯¡£ËüÓ°ÏìÁËÒѾ­ÓÉEJB½¨Á¢ÆðÀ´µÄ¿ò¼Ü£¬Í¬Ê±»¹Ïò¿ª·¢ÕßչʾÔÚ²»ÓÃÌí¼ÓÈκÎJava´úÂëÇé¿öÏ£¬ÈçºÎ¶ÔÏÖ´æµÄEJB×é¼þ×ö³ÉWeb services¡£

²»¿É±ÜÃâµÄÂó̵ßô¤

ÎÒÕýÔÚ´¦ÀíÒ»¸öÏîÄ¿ËüÐèÒª.NET¿Í»§¶Ë¿ÉÒÔµ÷Óò¿ÊðWLSÉϵķþÎñ¡£Õâ¶ÎµÄ´úÂëÔÚÓñ¾µØÀàÐÍ£¨ÓÉXMLģʽ¶¨Ò壩×÷Ϊ²ÎÊý»ò·µ»ØÖµÊ±¹¤×÷Õý³£¡£²»ÐÒµÄÊÇ£¬¸´ÔÓÀàÐÍ»òÈκÎÀàÐ͵ÄÐòÁÐÔòÍêÈ«ÊÇÁíÍâÒ»»ØÊ¡£ÔÚÏÖʵÖÐÕâÖÖÏÞÖÆÓÐʱÊÇÎÞ·¨½ÓÊܵġ£ÎÒÇóÖúÓÚWLS²Î¿¼Îĵµ¿´µ½ÁËÒ»¸ö×¢ÊÍÉùÃ÷˵WLS6.1Ö§³Ö΢ÈíSOAP Toolkit 2.0 SP2¡£×÷Ϊ ÔÚW3C (WWW ÁªºÏ»á) XMLίԱ»áµÄÒ»¸ö¹Ø¼üµÄ³ÉÔ±£¬Î¢ÈíÔÚËûµÄ.NET¿ò¼ÜÖвÉÓÃÁË2001 XMLģʽ£¨XSD£©¹æ·¶¡£¶øSOAP Toolkit 2.0ÊÇ»ùÓÚ1999ÄêÍÆ¼öµÄ°æ±¾£¬WLS 6.1Ò²ÊÇ¡£

µ±½ñWeb servicesÕý±»ÈÏΪÊÇ»¥²Ù×÷µÄÍòÄÜÒ©£¬±¾ÎÄÕ¶ÔÕýÈ·Àí½âËüÒ²ÊÇÓбØÒªµÄ¡£Ð¼¼ÊõÒ»·½ÃæÔÚ·¢Õ¹Í¬Ê±ËüҲͬʱҲÔÚ±ä³ÉÀàËÆÓÚSOAPºÍWSDLµÈЭÒéµÄ»ù´¡¡£¿ÉÒÔÀí½âµÄÊÇ£¬Ó¦Ó÷þÎñÆ÷³§É̱ØÐëÌṩÎȶ¨µÄºÍ¿É¿¿µÄ»ù´¡×é¼þ£¬ËüÃDZØÐëÒª²»ÓÌÔ¥µÄÈ¥Ö§³Ö×îеĺÍ×îºÃµÄ¹¤Òµ¹æ·¶¡£ÎÒÏàÐÅÎÒµÄÕâЩÎÊÌâÊÇ¿ÉÒÔ½â¾öµÄ£¬ÔÚ¸ø³öÁ˼òµ¥µÄºÍ¾«È·µÄ»ùÓÚXMLµÄWeb services¼¼ÊõµÄÇé¿öÏ£¬ÎÒ¾ö¶¨±È½ÏÉîÈëµÄÑо¿»¥²Ù×÷ÄÜÁ¦µÄÎÊÌâ¡£

»¥²Ù×÷ÄÜÁ¦µÄÎÊÌâ

ÕâÆªÎÄÕÂÂÔÊöÁË¿ª·¢Õß±ØÐëÃæ¶ÔµÄXMLÏà¹ØµÄ»¥²Ù×÷ÄÜÁ¦µÄÎÊÌ⣬¸ø³öÁËWLSºÍ.NETĿǰµÄ״̬¡£ËüÃÇÄֱܷ𱻷ÖÀàÔÚÁ½¸öÉæ¼°µ½WSDL ºÍ SOAPÏà¹ØµÄÁìÓò¡£ WSDL (Web Services Description Language £¬Web·þÎñÃèÊöÓïÑÔ) ËÆºõÊÇÒ»¸öºÏÀíµÄÆðʼµã£¬ÒòΪÔÚµ÷ÓÃÒ»¸öд´½¨µÄWeb services֮ǰ£¬Ëü±ØÐë±»°ó¶¨ÒÔÓÃÓڸùý³ÌµÄµ÷Óá£

WSDL ¶ÑÕ»»¥²Ù×÷µÄÎÊÌâ

µ±WLSµÄWeb services±»²¿Êðʱ£¬Ò»¸öÄܱ»¹«¹²·ÃÎʵÄÍøÒ³(JSP)ÊÇ»¥Óõġ£Õâ¸öÒ³Ãæ°üº¬¶þ¸öÁ´½Ó£ºµÚÒ»¸öÁ´½Ó²úÉú¿ÉÒÔÃèÊöÕâ¸ö·þÎñµÄWSDLÎļþ£¬µÚ¶þ¸öÁ´½ÓÔÊÐíÏÂÔØÒ»¸öϰ¹ßÉϳÆÎªclient.jarµÄÎļþ¡£Õâ¸ö.jarÎļþ°üº¬¿Í»§¶Ë´úÀíÀ࣬SOAP ±àÂë/½âÂëºÍһЩÓÉBEAÌṩµÄÓÃÓÚ¼ò»¯·þÎñµ÷ÓõĻù´¡Àà¡£ÕâÊdzýÁ˿ͻ§¶ËÓ¦ÓÃÏà¹ØµÄ´úÂëÍâµÄΨһÐèÒªÔÚCLASSPATHÖÐÖ¸¶¨µÄ.jarÎļþ¡£¶ÔÓÚ»ùÓÚJavaµÄ¿Í»§¶Ë£¬WSDLÊÇÍⲿµÄ²¢ÇÒËüÖ»¶ÔUDDI×¢²áÓÐÓ᣶ÔÓÚ·ÇJava¿Í»§¶Ë£¬Çé¿öÔòÊÇÏà·´µÄ¡£

¿¼Âǵ½Õâ¸öÎÊÌ⣬ÎÒÖªµÀÊ×ÏÈ¿É×öµÄÊÇ£¬Òª´´½¨ÓÉC#´úÂë±àдµÄ¿Í»§¶Ë´úÀí³ÌÐò(ËäÈ»VB.NET»áÊÇÒ»¸öͬÑù¿ÉÐеÄÌæ´ú·½°¸)¡£×÷Ϊһ¸öÓÐC/C# ±³¾°µÄJava³ÌÐòÔ±£¬ÎÒ¼¸ºõ¿ÉÒÔÁ¢¼´ÊÊÓ¦C#£¬ËüÊÇÎÒҪѡÔñµÄÓïÑÔ¡£ÔÚÏÂÔØ²¢°²×° ASP.NET Èí¼þ°üÖ®ºó£¬ÎÒÁ¢¼´Ñ§Ï°Î¢ÈíµÄWeb services°üÀ¨±àÒëWSDLÀ´²úÉú´úÀí´úÂëµÄ·½·¨¡£ ËüÃÇ¿ÉÒÔ¾­ÓÉÃüÁîÐÐÖ´ÐÐWSDL.EXE³ÌÐò»òÕßͨ¹ýʹÓÃVisual Studio.NETÀ´·ÃÎÊ¡£ÕâЩ¹¤¾ßÄܹ»Í¨¹ýHTTP·ÃÎʲ¢ÇÒÄÜÔÚÒ»¸ö²½ÖèÄÚ»ñÈ¡ºÍ±àÒëWSDL¡£WSDL±àÒëÆ÷²úÉúÒ»¸öÒÔ .cs ΪÀ©Õ¹ÃûµÄÔ´Îļþ£¬ËüÊÇͨ¹ýÔÚWSDLÎļþÖÐ service XMLÔªËØµÄÃû×ÖÊôÐÔÀ´ÃüÃûµÄ¡£ Õâ¸öÎļþËæºó±»±àÒë³É .dllÎļþ¡£ ´Ó¿Í»§¶Ë´úÂëͨ¹ýʵÀý»¯²úÉúµÄ´úÀíÀàÀ´µ÷Ó÷þÎñ£¬²¢ÇÒÕâÖÖ·½·¨µÄµ÷ÓþͺÃÏñÊǿͻ§¶ËµÄÒ»ÖÖ±¾µØ»¯µÄµ÷Óá£ÎÒµÄÇé¿öÊÇ£¬ÓÉWLS´´½¨µÄWSDLÎĵµÃ»ÓÐÓÃ.NETÌṩµÄ±àÒëÆ÷ÕýÈ·µÄ±àÒë¡£

ÎÒÔÚWLSÉÏ´´½¨ºÍ²¿ÊðµÄWeb services±»ÃüÃûΪPresentationController²¢ÇÒËüÓµÓÐÒ»¸öÃûΪdispatchActionµÄ·½·¨¡£Õâ¸ö·½·¨ÓÐ5¸ö²ÎÊý¡£Ç°ËĸöÊǼòµ¥µÄ×Ö·û´®ÀàÐÍ£¬×îºóÒ»¸öÊÇNameValuePair JavaBeanʵÀýµÄÊý×é¡£ÓÉWLS²úÉúµÄWSDLÎļþÏÔʾÔÚListing 1ÖУ¨ÕâÆªÎÄÕÂÖеÄÔ´´úÂë¿ÉÒÔ´Ó www.sys-con.com/weblogic/sourcec.cfm ÏÂÔØ£©¡£×¢ÒâÔÚÎĵµÍ·²¿µÄdescriptionÔªËØ¡£Ãû×ֿռ䣨namespace£©ÊôÐԲο¼ÁË1999°æµÄXSD˵Ã÷¡£ÕâÊÇÈý¸ö±ØÐë¶ÔWSDL×öµÄ¶Ô2001°æ¼æÈÝÐÔÌá³öµÄ¸Ä±äÖеĵÚÒ»¸ö¡£ÒòΪÎҵĴúÂëÀûÓÃÁËNameValuePair JavaBean£¬WSDL°üº¬Ò»¸öÄÚÔÚµÄXSDģʽ£¬²¢¸½¼ÓÁËÒ»¸öschemaÔªËØ¡£ Õâ¸öÔªËØ°üº¬ÁËÈκθ´ÔÓÀàÐ͵ıê×¼XSD¶¨Ò壬ËûÃÇ¿ÉÒÔ±»·þÎñÃèÊöËùÒýÓá£1999°æµÄXSD¹æ·¶ÔÊÐí¸´ÔÓÀàÐͳÉÔ±ÓÃattribute£¨ÊôÐÔ£©ÔªËرíʾ£¬¶ø2001°æµÄ¹æ·¶ÓÃelement£¨ÔªËØ£©ÔªËØ¡£Í¬Ñù£¬2001°æ¹æ·¶ÒªÇóËùÓеĸ´ÔÓÀàÐͳÉÔ±¶¼Òª±»¸½ÔÚÒ»¸ösequenceÔªËØÀÓÃÀ´±£³Ö˳Ðò·¢Éú¡£ÕâÖÖÐÞ¸ÄÁ˵ÄÒÔ¼°ÓëMS¼æÈݵÄWSDLÎļþÏÔʾÔÚListing 2 ÖС£ÎÒдÁËÒ»¸ö¼òµ¥µÄ¹¤¾ßÓÃDOM(Document Object Model£¬Îĵµ¶ÔÏóÄ£ÐÍ)À´½âÎöÔ­À´µÄWSDLÎļþ£¬½øÐÐÎÒÏÈǰËù½²µ½µÄ¸ü¸Ä²¢²úÉú¸ü¸ÄºóµÄÎĵµ¡£ÕâÖÖ¹¦ÄܵĴúÂëÔÚListing 3ÖС£Ò»¸öÁé»îµÄ·½·¨½«´´½¨Ò»¸öservlet filter£¬ÆäÓÃÓÚ²»Í¨¹ýÖмäÎļþÀ´×öÕâÖÖÔÚÏßµÄת»»¡£Õâ¸öÁ·Ï°Áô¸ø¶ÁÕß¡£

SOAP¶ÑÕ»»¥²Ù×÷ÎÊÌâ

ÁíÒ»ÖÖ»¥²Ù×÷ÎÊÌâÎ§ÈÆ×ÅSOAPÏûÏ¢´Ó¿Í»§¶Ëµ½·þÎñÆ÷µÄ´«ËÍ¡£µ±Ê¹ÓÃWSDLʱ£¬.NETƽ̨SOAPÏûÏ¢×ñÕÕXSD£­2001¹æ·¶¡£¶ÔÓڴ󲿷ֵÄÏûÏ¢ÓëWLS FastParser ÊÇÏòºó¼æÈݵġ£ÎÊÌâ´æÔÚÓÚSOAP Êý×éÀàÐÍÖУ¬¸ÃÀàÐÍÓÃÓÚ¶ÔÀ´×Ô¿Í»§¶ËµÄÐòÁнøÐбàÂë¡£±¾µØÀàÐ͵ÄÐòÁÐÒ²ÓÐÕâ¸öÎÊÌâ¡£°´ÕÕWLS·¢²¼µÄ×¢½â£¬ÓÐÒ»¸öÒÑÖªµÄÎÊÌ⣬#055596£º¡°WLS Web services²»Ö§³ÖSOAP 1.1 °æ±¾µÄ¶à²ÎÊý»ìºÏÊý¾ÝÀàÐÍ¡£¡± ´ËÍ⣬ûÓиø³öworkaround¡£XSD£­2001°æÌṩһ¸öÁé»îµÄ×îÓÅ»¯µÄ¼¼Êõ£¬ËüÔÊÐíÒ»¸ö½ÚµãÔÚ¶à¸öµØ·½±»ÒýÓ᣶ÔÓÚ´óÁ¿µÄÐòÁÐÕâÑù×ö¿ÉÒÔ´ó´óµÄ¼õÉÙÏûÏ¢µÄ´óС£¬Òò´Ë±£´æÁË´ø¿í²¢ÇÒ¼õÉÙÁ˽âÎöµÄ´ÎÊý¡£ÀàËÆÓÚWSDLת»»£¬ËüÐèÒªÒ»ÖÖ»úÖÆÓÃÓÚ¹ýÂËSOAPµÄ½»»¥¡£

ΪÁ˽ØÈ¡ºÍ¸Ä±äSOAP XMLµÄÓÐЧ¸ºÔØ£¬Î¢ÈíµÄ .NET¿ò¼ÜÌṩÁËÒ»¸öAPI¡£ Ëü±»³ÆÎªSOAPÀ©Õ¹²¢ÇҼȿÉÒÔÓÃÓÚ¿Í»§¶Ë´úÀíÒ²¿ÉÒÔÓÃÓÚ .NETÖ÷»ú·þÎñ¡£ Listing 4°üº¬ÁËÒ»¸ö±»³ÆÎªDispatchExtensionµÄC# Ô´³ÌÐò´úÂ룬ÒÔ¼°ºÍËüÏà¹ØDispatchExtensionAttributeÊôÐÔÀà¡£Ëü³¬³öÁËÕâÆªÎÄÕÂËùÒªÏêϸÃèÊöµÄÔõÑùд.NET SOAPÀ©Õ¹µÄ·¶Î§£»Ö»ËµfixXML( )·½·¨×öÁ˴󲿷ֹ¤×÷¾Í×ã¹»ÁË¡£ÎªÁ˼òµ¥×ÅÏ룬ÍêÈ«µÄ¶ªÆú²¢ÇÒÖØ¹¹ÏûÏ¢ÌåÊÇÒ»ÖÖºÜÓÐЧµÄ·½·¨¡£×÷Ϊ¸ø¶ÁÕßµÄÒ»¸öÁ·Ï°£¬Õâ¸ö´úÂë¿ÉÒÔÔöǿΪ×Ô¶¯·¢ÏÖÊý×éÀàÐÍÒÔ¼°Ó¦ÓÃÖÇÄܹýÂË¡£

µ±Äã±àдºÍ±àÒëÄãµÄSOAPÀ©Õ¹´úÂëµÄʱºò£¬ÕâÊÇ×îºóÒ»¸ö²½Öè¡£ÄǾÍÊÇÒªÔÚÄãµÄÉú³ÉµÄ´úÀíÀàÖÐÓÃÊʵ±µÄ·½·¨×¢²áÊôÐÔÀà¡£ÏÂÃæµÄC#´úÂëÆ¬¶ÏÀ´×ÔPresentationController ´úÀíÀ࣬չʾÁËËüÊÇÈçºÎÍê³ÉÕâЩµÄ£º

[DispatchExtension()]
public string dispatchAction(string arg0, string arg1,
string arg2, string arg3, NameValuePair[] arg4) {

ÔÚÉÏÃæµÄ´úÂëÆ¬¶ÏÖУ¬DispatchExtensionµÄÊôÐÔ¹¹ÔìÆ÷±»·ÅÖÃÔÚdispatchAction·½·¨Ç°¡£×¢Ò⣡Èç¹ûÄã¸Ä±äÄãµÄ·þÎñ½Ó¿Ú£¬ÄãÐèÒªÖØÐ½øÐÐÕâ¸ö±ä¸ü¡£

½áÂÛ

µ±ÃæÁÙ½â¾ö»¥²Ù×÷µÄÌôսʱ£¬ÔÚ»ù´¡ÉèÊ©³§É̸ĽøËûÃǵIJúÆ·£¬¸ÄÉÆÆä²úÆ·µÄ²»×ãµÄͬʱ£¬ÇëҪȷ¶¨ÎªÊÊÅäÆ÷´úÂë×îºóµÄÒÆ³ý¶©ÖƼƻ®¡£

Ï£ÍûWLS·¢²¼µÄÏÂÒ»¸ö°æ±¾¿ÉÒÔ°üÀ¨ XML ´®Ðл¯ / ·Ç´®Ðл¯»ù´¡½á¹¹ÒÔ¼°SOAP ±àÂë/½âÂëµÄÉý¼¶°æÀ´½â¾öÕâЩÎÊÌâ¡£³ý´ËÖ®Í⣬ͨ¹ý»Øµ÷½Ó¿Ú²Ù×÷£¬SOAP½»»¥µÄÄÜÁ¦½«»áÓдóµÄÌá¸ß¡£×ܵÄÀ´Ëµ£¬BEAÒѾ­ÔÚËûĿǰ·¢²¼µÄ²úÆ·°æ±¾ÖУ¬ÔÚ´«ËÍ»ù²ãWeb servicesÐÔÄÜ·½Ãæ×öÁ˼«ºÃµÄ¹¤×÷¡£Õâ¸ö½áºÏÁËÓÉ.NETÌṩµÄÓÅÐ㹤¾ßµÄƽ̨£¬½«Ïò¿ª·¢ÕßÌṩ¹¹½¨ÏµÍ³·½Ãæ×îºÃµÄ¹¤¾ß¼¯¡£
¡¡
×îлظ´

www.gm365.comÉÏ·¢²¼µÄweb serverÈí¼þUFO²»»á³öÏÖÒ»¸ö×Ö½ÚµÄÄÚ´æÐ¹Â©ºÍÒ»¸öÏ̵߳IJ»ÄÜ»ØÊÕ£¬Ê¹ÓÃUFO×öWeb ServerµÄºÃ´¦ÊÇÍøÕ¾ÄÜ×öµÃºÜÎȶ¨£¬ÓÀÔ¶Ò²²»»á×Ô¼ºdownµô£»UFOÔÚÍйܻú·¿¶ª°üÂʺܸߡ¢ÔâÊÜHacker¹¥»÷¡¢»¥ÁªÍø ¹Ç¸ÉÍø±»ºÚµÈ¶ñÁӵĻ·¾³Ìõ¼þÏÂÈÔÈ»ÄܺܺõØÔËÐУ»UFOÔÚ¶Ô¸¶Hacker·½Ã棨·ÀHackerŪdownºÍHackerץȡ²»¸Ã·ÃÎʵÄ×ÊÔ´£©Ò²ÓÐ×ã ¹»´ëÊ©¡£
ÁíÍ⣬UFO¼¸ºõ²»»á½øÐÐÀ¬»ø»ØÊÕ£¬ÏûºÄCPUºÜÉÙ£¬ÔÚÆÕͨµÄPC ServerÉÏÓÃUFOÔËÐÐÍøÕ¾£¬Æ½Ê±CPUÕ¼ÓÃÂÊ

×÷Õß ufo 10 06 2009, 21:10
·¢±íÆÀÂÛ













Bold Italic Link