最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python調(diào)用java的Webservice示例

 更新時(shí)間:2014年03月10日 17:10:59   作者:  
這篇文章主要介紹了python調(diào)用java的Webservice具體方法,包含java端和python實(shí)現(xiàn)代碼,需要的朋友可以參考下

一、java端
首先我使用的是java自帶的對(duì)webservice的支持包來(lái)編寫(xiě)的服務(wù)端和發(fā)布程序,代碼如下。
webservice的接口代碼:

復(fù)制代碼 代碼如下:
package com.xxx.test.ws;

import javax.jws.WebMethod;
import javax.jws.WebService;

/**
 * Created with IntelliJ IDEA.
 * User: Administrator
 * Date: 14-3-5
 * Time: 下午3:11
 */
@WebService(targetNamespace = "http://xxx.com/wsdl")
public interface CalculatorWs {
    @WebMethod
    public int sum(int add1, int add2);

    @WebMethod
    public int multiply(int mul1, int mul2);
}


接口實(shí)現(xiàn)代碼:
復(fù)制代碼 代碼如下:
package com.xxx.test.ws;
import javax.jws.WebService;
/**
 * Created with IntelliJ IDEA.
 * User: Administrator
 * Date: 14-3-5
 * Time: 下午3:12
 */
@WebService(
        portName = "CalculatorPort",
        serviceName = "CalculatorService",
        targetNamespace = "http://xxx.com/wsdl",
        endpointInterface = "com.xxx.test.ws.CalculatorWs")
public class Calculator implements CalculatorWs {
    public int sum(int add1, int add2) {
        return add1 + add2;
    }

    public int multiply(int mul1, int mul2) {
        return mul1 * mul2;
    }
}


發(fā)布Webservice代碼:[code]
package com.xxx.test.endpoint;
import com.xxx.test.ws.Calculator;
import javax.xml.ws.Endpoint;

/**
 * Created with IntelliJ IDEA.
 * User: Administrator
 * Date: 14-3-10
 * Time: 下午3:10
 */
public class CalclulatorPublisher {
    public static void main(String[] args) {
        Endpoint.publish("http://localhost:8080/test/calc", new Calculator());
        //Endpoint.publish("http://10.3.18.44:8080/test/calc", new Calculator());
    }
}[/code]
運(yùn)行上面的這段代碼,讓你的webservice跑起來(lái),接下來(lái)就可以使用Python來(lái)測(cè)試你的webservice代碼了。
上面的代碼跑起來(lái)后,你可以直接使用瀏覽器訪問(wèn):

復(fù)制代碼 代碼如下:
http://localhost:8080/test/calc?wsdl

來(lái)驗(yàn)證是否啟動(dòng)成功。
二、python端
接下來(lái)是python的測(cè)試代碼:
復(fù)制代碼 代碼如下:
#!/usr/bin/python
import suds
url = 'http://localhost:8080/test/calc?wsdl'
#url = 'http://10.3.18.44:8080/test/calc?wsdl'
client = suds.client.Client(url)
service = client.service

print client

sum_result = service.sum(10, 34)
print sum_result
print client.last_received()

multiply_result = service.multiply(5, 5)
print multiply_result
print client.last_received()

將上述代碼保存成webservice.py文件,再修改一下可執(zhí)行權(quán)限:

復(fù)制代碼 代碼如下:
chmod +x webservice.py

輸出結(jié)果如下:

復(fù)制代碼 代碼如下:
Suds ( https://fedorahosted.org/suds/ )  version: 0.3.9 (beta)  build: R658-20100210

Service ( CalculatorService ) tns="http://xxx.com/wsdl"
   Prefixes (1)
      ns0 = "http://xxx.com/wsdl"
   Ports (1):
      (CalculatorPort)
         Methods (2):
            multiply(xs:int arg0, xs:int arg1, )
            sum(xs:int arg0, xs:int arg1, )
         Types (4):
            multiply
            multiplyResponse
            sum
            sumResponse


44
<?xml version="1.0" encoding="UTF-8"?>
<S:Envelope>
   <S:Body>
      <ns2:sumResponse>
         <return>44</return>
      </ns2:sumResponse>
   </S:Body>
</S:Envelope>
25
<?xml version="1.0" encoding="UTF-8"?>
<S:Envelope>
   <S:Body>
      <ns2:multiplyResponse>
         <return>25</return>
      </ns2:multiplyResponse>
   </S:Body>
</S:Envelope>

三、常見(jiàn)問(wèn)題

注意,在執(zhí)行上面的代碼時(shí),有可能提示:

復(fù)制代碼 代碼如下:
Traceback (most recent call last):
  File "ws.py", line 1, in <module>
    import suds
ImportError: No module named suds

說(shuō)缺少依賴(lài)的包,我們可以手工下載安裝suds包。
復(fù)制代碼 代碼如下:
wget http://downloads.sourceforge.net/project/python-suds/suds/0.3.9/suds-0.3.9.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fpython-suds%2Ffiles%2F&ts=1394436413&use_mirror=nchc
tar zxvf suds-0.3.9.tar.gz
cd suds-0.3.9
sudo python setup.py install

OK。

相關(guān)文章

  • 對(duì)Django中static(靜態(tài))文件詳解以及{% static %}標(biāo)簽的使用方法

    對(duì)Django中static(靜態(tài))文件詳解以及{% static %}標(biāo)簽的使用方法

    今天小編就為大家分享一篇對(duì)Django中static(靜態(tài))文件詳解以及{% static %}標(biāo)簽的使用方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • python調(diào)用c++ ctype list傳數(shù)組或者返回?cái)?shù)組的方法

    python調(diào)用c++ ctype list傳數(shù)組或者返回?cái)?shù)組的方法

    今天小編就為大家分享一篇python調(diào)用c++ ctype list傳數(shù)組或者返回?cái)?shù)組的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-02-02
  • python將.ppm格式圖片轉(zhuǎn)換成.jpg格式文件的方法

    python將.ppm格式圖片轉(zhuǎn)換成.jpg格式文件的方法

    今天小編就為大家分享一篇python將.ppm格式圖片轉(zhuǎn)換成.jpg格式文件的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • python 字典(dict)按鍵和值排序

    python 字典(dict)按鍵和值排序

    下面小編就為大家?guī)?lái)一篇python 字典(dict)按鍵和值排序。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-06-06
  • python模塊導(dǎo)入的細(xì)節(jié)詳解

    python模塊導(dǎo)入的細(xì)節(jié)詳解

    這篇文章主要給大家介紹了關(guān)于python模塊導(dǎo)入細(xì)節(jié)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • 在python3中實(shí)現(xiàn)查找數(shù)組中最接近與某值的元素操作

    在python3中實(shí)現(xiàn)查找數(shù)組中最接近與某值的元素操作

    今天小編就為大家分享一篇在python3中實(shí)現(xiàn)查找數(shù)組中最接近與某值的元素操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-02-02
  • python用socket實(shí)現(xiàn)協(xié)議TCP長(zhǎng)連接框架

    python用socket實(shí)現(xiàn)協(xié)議TCP長(zhǎng)連接框架

    大家好,本篇文章主要講的是python用socket實(shí)現(xiàn)協(xié)議TCP長(zhǎng)連接框架,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-02-02
  • 詳解Python Matplotlib解決繪圖X軸值不按數(shù)組排序問(wèn)題

    詳解Python Matplotlib解決繪圖X軸值不按數(shù)組排序問(wèn)題

    這篇文章主要介紹了詳解Python Matplotlib解決繪圖X軸值不按數(shù)組排序問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Python數(shù)據(jù)結(jié)構(gòu)dict常用操作代碼實(shí)例

    Python數(shù)據(jù)結(jié)構(gòu)dict常用操作代碼實(shí)例

    這篇文章主要介紹了Python數(shù)據(jù)結(jié)構(gòu)dict常用操作代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • 一文詳解如何在Matplotlib中更改圖例字體大小

    一文詳解如何在Matplotlib中更改圖例字體大小

    在我們處理數(shù)據(jù)的時(shí)候,需要對(duì)大量的數(shù)據(jù)進(jìn)行繪圖,就免不了要使用到Matplotlib,下面這篇文章主要給大家介紹了關(guān)于如何在Matplotlib中更改圖例字體大小的相關(guān)資料,需要的朋友可以參考下
    2023-05-05

最新評(píng)論

防城港市| 彰化市| 探索| 曲靖市| 延吉市| 昌黎县| 长葛市| 马公市| 增城市| 麻江县| 佛山市| 黄冈市| 崇左市| 当阳市| 日照市| 桃源县| 松原市| 宁夏| 台安县| 山阴县| 错那县| 霍城县| 淅川县| 唐山市| 兴安县| 玉山县| 福贡县| 措美县| 来安县| 汨罗市| 灌南县| 平乐县| 麻栗坡县| 乌拉特前旗| 琼结县| 凌海市| 泗水县| 山阳县| 壤塘县| 沙湾县| 广南县|