WebService之.net與java遠程調用

  在java ee項目中有一對密碼進行加密解密的算法,需要在局域網中有.net系統的機器上遠程調用該算法,自然而然想到了

webservice,由於之前沒了解過webservice的相關知識,更不清楚其原理,百度了一大堆也沒能解決知識,這裏說下具體的遠程調用方法:

            webservice相當於中間接口,如果之前類的結構不是用的接口方式,需要改造下,webservice是按照接口中的public方法生成的,

也即生成dll文件後只有接口中的幾個方法,但這些方法的實現並沒有在dll文件中,webservice只是一個橋樑作用,當.net使用dll中的方法時

,會通過webservice去遠程調用java中的相應函數

           項目(右鍵)--->Myeclipse---->Add XFire Web Service Capabilities..-----> 打開生成的WebServices目錄----->修改

sevices.xml

          services.xml修改方法如下:

          在<beans></beans>中添加<service>

                                                                       <name>類名</name>

                                                                       <namespace>命名空間</namespace>

                                                                       <serviceClass>接口類地址</serviceClass>

                                                                        <implementationClass>實現接口類地址

</implementationClass>

                                                                         </service>

           

           打開項目web.xml可以看到Myeclipse已經爲我們生成好了相關配置,在瀏覽器中輸入以下地址:http://localhost:端口/項目名

稱/services/javaws?wsdl ,如果頁面中出現xml內容表示webservice接口生成成功(注:有的瀏覽器可能不會顯示,可以用瀏覽器查看源碼),

在瀏覽器上把該頁面另存爲 xx.wsdl文件

          到這一步已經完成了java到webservice的轉換,下邊就是.net對該文件的使用,實際上對於wsdl文件,任何語言都可以通用的。

          打開visual studio 命令提示符---->選擇到存放xx.wsdl文件目錄(這裏比如說在d盤下存放了javaws.wsdl文件) --->輸入以下命令

:wsdl /n:wyq /out:javaws.cs javaws.wsdl(注:注意中間見得空格,每個/之前都會有個空格,/n:命名空間,/out:輸出文件)------>命令執

行無錯後我們可以在d盤下看到多長javaws.cs文件----------->輸入命令:csc /out:javaws.dll /t:library javaws.cs(注:/out:dll文件名稱

,javaws.cs一定要與上一步輸出的cs文件名一致),大家可以看到d盤下有多了javaws.dll文件,好了,可以在本機打開visual studio添加對該

dll的引用,使用時添加using namespace +命令中/n後邊的值,例如:這裏是using namespace wyq;大家還記得在services.xml中配置的<name>

類名</name>,實例化該類就可以調用方法了

          也許到這裏你已經成功在本機調用了方法,但是你想,如果局域網中的其他機器想用這個dll呢?直接把dll文件拷貝過去行嗎?答案

是肯定不行的,如果想在其他機器上使用java方法,第一種方法:在visual studio命令提示符對wsdl進行轉換時,wsdl: /n:wyq /out

javaws.cs http://192.168.1.104:8080/wyqldtec/services/javaws?wsdl即可

第二種方法是在visual studio中添加web引用即可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章