Heim  >  Artikel  >  Backend-Entwicklung  >  java axis调用php webservevice

java axis调用php webservevice

WBOY
WBOYOriginal
2016-06-23 14:30:271229Durchsuche

php webservice

这里木有使用wsdl。

<?php$soap = new SoapServer(null,array('uri'=>"http://192.168.1.12/"));//This uri is your SERVER ip.                                              //Register the function//$soap->addFunction(SOAP_FUNCTIONS_ALL);$soap->addFunction('get_cpu_rate');   $soap->handle();function get_cpu_rate($host_ip,$cpu_limit_max,$cpu_limit_min){    $cpu_limit_max_per = $cpu_limit_max * 100; //    $cpu_limit_min_per = $cpu_limit_min * 100;     $conn= mysql_connect("localhost", "admin", "admin") or die("Could not connect: " . mysql_error());    mysql_select_db('mydb',$conn);    $sql="select status from host where hostname='".$host_ip."'";    $query=mysql_query($sql);    $host_msg=mysql_fetch_array($query);    if($host_msg['status']==3){    $host_status="上线";    $res=array();    $sh='/var/www/snmp_exec '.$host_ip;    exec($sh, $res, $rc);    if($rc==0){        $cpu_util=$res[4];    }    if ($cpu_util>=$cpu_limit_max_per){        //return $cpu_util-$cpu_limit_min_per;        return "CPU used ".$cpu_util."%is bigger than".$cpu_limit_max;    }     if ($cpu_util<=$cpu_limit_min_per){        //return $cpu_util-$cpu_limit_min_per;        return "CPU used ".$cpu_util."%is smaller than".$cpu_limit_min;    }    return $cpu_util.'%';    }else {    $host_status="下线";    return "down";    }   mysql_close($conn);}?>

java 端使用 axis来调用。

package com.fei;import java.net.MalformedURLException;  import java.rmi.RemoteException;  import javax.xml.rpc.ServiceException;  import org.apache.axis.client.Call;  import org.apache.axis.client.Service;public class javasoapclient {    public static void main(String[] args) throws ServiceException, MalformedURLException, RemoteException {          String serviceUrl = "http://192.168.1.12/serverSoap.php";          Service service = new Service();          Call call = (Call) service.createCall();          call.setTargetEndpointAddress(new java.net.URL(serviceUrl));          call.setOperationName("get_cpu_rate");          String ip = "192.168.1.10";          double cpu_limit_max = 0.50;        double cpu_limit_min = 0.01;        String reVal = call.invoke(new Object[] {ip,cpu_limit_max,cpu_limit_min}).toString();          System.out.println(reVal);      }}

可能用到的java 包

axis-ant.jar
axis.jar
commons-discovery-0.2.jar
commons-logging-1.0.4.jar
jaxrpc.jar
log4j-1.2.8.jar
saaj.jar
wsdl4j-1.5.1.jar

 

axis下载地址:http://www.apache.org/dist/ws/axis/1_4/

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:PHP声明变量Nächster Artikel:php后台运行