java axis调用php webservevice
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