首页 >后端开发 >php教程 >java axis调用php webservevice

java axis调用php webservevice

WBOY
WBOY原创
2016-06-23 14:30:271250浏览

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/

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
上一篇:PHP声明变量下一篇:php后台运行