資源描述:
《03-ref.實(shí)例講解:java中的soap技術(shù)》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、實(shí)例講解:Java中的SOAP技術(shù) 調(diào)試環(huán)境:WindowsXP操作系統(tǒng),安裝有JAVA2SDK1.4.1,ApacheSOAP2.3.1,JAF1.0.2,JAVAMAIL1.3.1和Xerces2.6.0。上面所提及的都能在Tcomcat4.1.29JSP/Servlet容器中正常運(yùn)行。所有的軟件都是免費(fèi)自由軟件,因此你能夠很容易的下載它們并自己在任何你喜歡的平臺如Windows或UNIX上安裝它們。JavaSDK,JAF和JAVAMAIL位于SUN的官方網(wǎng)站(http://java.sun.com),其他的軟
2、件在Jakarta項(xiàng)目組的官方網(wǎng)站(http://jakarta.apache.org)上有down的。可能你在看到我們需要這么多不同的包(package)時已經(jīng)有點(diǎn)擔(dān)心和不安了,但是實(shí)際上你不應(yīng)該擔(dān)心這些的。一旦你懂了基礎(chǔ),那么對你將相當(dāng)容易。安裝不是一件很難的事情,你只需要在設(shè)置環(huán)境變量的時候仔細(xì)些,比如CATALINA_HOME,CLASSPATH,JAVA_HOME等等,所有這些步驟都是手工的。由于我僅僅是想將你的注意力再次集中到它們身上,所以你能很快的就完成以上配置過程。我只是添加下面的一些字符串到Tom
3、cat的bin/setclasspath.bat文件中:...setCATALINA_HOME=C:Tomcat4.1.29setCLASSPATH=%JAVA_HOME%libtools.jarsetCLASSPATH=%JAVA_HOME%soap-2.3.1libsoap.jarsetCLASSPATH=%CLASSPATH%;%JAVA_HOME%javamail-1.3.1mail.jarsetCLASSPATH=%CLASSPATH%;%JAVA_HOME%jaf-1.0.2acti
4、vation.jarsetCLASSPATH=%CLASSPATH%;%JAVA_HOME%xerces-2_6_0xercesImpl.jarsetCLASSPATH=%CLASSPATH%;%JAVA_HOME%xerces-2_6_0xercesSamples.jarsetCLASSPATH=%CLASSPATH%;%JAVA_HOME%xerces-2_6_0xml-apis.jarsetCLASSPATH=%CLASSPATH%;%JAVA_HOME%xerces-2_6_0xmlPars
5、erAPIs.jarsetCLASSPATH=%CLASSPATH%;%CATALINA_HOME%commonlibservlet.jarsetCLASSPATH=%CLASSPATH%;%CATALINA_HOME%commonlibtools.jar... 如果你的安裝路徑(installationpaths)和上面使用的不同,你需要更正它們,然后關(guān)閉和重啟Tomcat以使它們生效。這樣,你就有為運(yùn)行SOAP作好了準(zhǔn)備。但是現(xiàn)在,我要忘記有關(guān)的技術(shù)部分,來學(xué)一點(diǎn)理論知識。SOAP意思是簡單對象訪
6、問協(xié)議(SimpleObjectAccessProtocol)。的確如它的名字一樣,SOAP是很簡單的。它是一個基于XML的協(xié)議,允許程序組件和應(yīng)用程序彼此使用一種標(biāo)準(zhǔn)的Internet協(xié)議--HTTP來通訊。SOAP是一種獨(dú)立的平臺,它不依賴程序語言,它是簡單的,彈性的,很容易擴(kuò)展的。目前,應(yīng)用程序能夠彼此使用一種基于DCOM和CORBA技術(shù)的遠(yuǎn)程過程調(diào)用(RPC)來進(jìn)行相互通訊,但HTTP不被設(shè)計(jì)為這個目的。RPC在Internet上應(yīng)用是非常困難的,它們會出現(xiàn)許多兼容性和安全性的問題,因?yàn)榉阑饓痛矸?wù)器通
7、常都會阻斷(block)這些類型的流量。應(yīng)用程序之間最好的通訊方式是通過HTTP協(xié)議,因?yàn)镠TTP是支持所有Internet瀏覽器和服務(wù)器的?;谶@個目的,SOAP協(xié)議被創(chuàng)建出來?! ∧敲?,它們是如何運(yùn)作的呢?比如,一個應(yīng)用程序(A)需要和另一個應(yīng)用程序(B)在SOAP的幫助下進(jìn)行彼此通訊。它們將使用下面的框架圖來完成這個過程:這個SOAP信封(SOAPenvelope)是一個包含以下內(nèi)容的XML文檔:正如你看到的,它是非常簡單的。它看起來確實(shí)就象一個普通的信封或者你的email。你想看看它們是如何動作的嗎?下面跟
8、我們一起來吧。其實(shí)我們有很多方法是不用SOAP來在創(chuàng)建和運(yùn)行我們自己的“HelloWorld”應(yīng)用程序的,但是因?yàn)槲覀円3炙暮唵涡?,我會給你一個它運(yùn)作方式的框架圖(scheme)?! ∥覀兊摹癏elloWorld”范例會包含一個SOAPService。我們的SOAPClient將發(fā)送它們的名字到該SOAPService,并試圖得到一些答復(fù)或響應(yīng)。這個SO