jre6.0加入了對WebService的支持,不用再使用開源類別庫了。
看看這樣一段程式碼:
查看原始碼?
02 服務名稱=“TestWS”)
03 公共類別TestWS {
04 /**
05 * 測試相加法
06 * @參數x
07 * @參數y
08 * @返回
09*/
10 @WebMethod
11 公共int測試方法(int x,int y){
12 返回x+y;
13}
14}
檢視原始碼?
02 * @作者 v.xieping
03 *
04*/
05公開課節目表{
06 /**
07 * @參數參數
08*/
09 公共靜態無效主(字串[]參數){
10 端點.發布(
11“ http://192.168.53.43:8090/CSEventWS/TestWS ”,
12 新的TestWS());
13 ThreadWaitor.keepWait();
14}
15}
16 </上>
如此使用
查看原始碼?
查看sourceprint?
查看原始碼?
查看原始程式碼?
查看原始碼列印?
查看來源列印?
2 <PRE class=brush:java>還是位址</PRE>
3 <PRE class=brush:java><PRE class=brush:java>http://192.168.53.43:8090/CSEventWS/TestWS?wsdl</PRE>
4 <PRE class=brush:java>在建立nusoap物件時,都不能認為他是wsdl。
5 <PRE class=brush:java></PRE>
6 </上>
查看原始碼?
查看sourceprint ?
查看來源列印?
2 <PRE class=brush:java>這樣的位址檢視 <definitions targetNamespace=" http://ws.csevent/ " name="TestWS"></PRE>
3 <PRE class=brush:java></PRE>
3、參數問題
一般 WSDL 位址的參數是和名稱相關的。
$params = array('arg0' => 100,'arg1' => 200);
這種方式定義。
可透過http://192.168.53.43:8090/CSEventWS/TestWS?wsdl查看
<類型>−<xsd:架構><xsd:導入命名空間=“ http://ws.csevent/ ”schemaLocation=“ http://192.168.53.43:8090/CSEventWS/TestWS?xsd=1” / ></xsd:schema></types><類型>
−<xsd:架構>
<xsd:import 命名空間=“ http://ws.csevent/ ”
schemaLocation =「 http://192.168.53.43:8090/CSEventWS/TestWS?xsd=1 」/>
</xsd:架構>
</類型>
再繼續開啟http://192.168.53.43:8090/CSEventWS/TestWS?xsd=1就可以看到用的參數名稱。
<xs:complexType name="測試方法">
−
<xs:序列>
<xs:元素名稱=“arg0”類型=“xs:int”/>
<xs:元素名稱=“arg1”類型=“xs:int”/>
</xs:序列>
</xs:複雜類型>
最終調用為:
注意:以下程式碼是使用的slightphp框架。
$objSoap = new HTTP_SOAP();
$client = $objSoap->getClient($this->url,false);
$params = array('arg0' => 100,'arg1' => 200);
$r = $client->call('TestMethod',$params ,'http://ws.csevent/','',false,true);
Debug_Util::log($r,"service.log");