Home  >  Article  >  Backend Development  >  java axis调用php webservevice

java axis调用php webservevice

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

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/

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:PHP声明变量Next article:php后台运行