一、java端
首先我使用的是java自帶的對(duì)webservice的支持包來(lái)編寫(xiě)的服務(wù)端和發(fā)布程序,代碼如下。
webservice的接口代碼:
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);
}
public int multiply(int mul1, int mul2) {
return mul1 * mul2;
}
}
/**
* 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):
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)限:
輸出結(jié)果如下:
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í),有可能提示:
OK。
新聞熱點(diǎn)
疑難解答
圖片精選