Home > Backend Development > PHP Tutorial > java axis调用php webservevice

java axis调用php webservevice

WBOY
Release: 2016-06-23 14:30:27
Original
1258 people have browsed it

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);}?>
Copy after login

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);      }}
Copy after login

可能用到的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/

source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template