zl程序教程

您现在的位置是:首页 >  后端

当前栏目

PHP调用JAVA的WebService简单实例

JAVA实例PHP 简单 调用 webservice
2023-06-13 09:15:19 时间

使用PHP调用JAVA语言开发的WebService。
客户端提交两个String类型的参数,服务端返回一个对象类型。
服务端使用AXIS-1.4作为SOAP引擎。客户端为PHP5.2.9,使用NuSOAP作为SOAP引擎。

服务端

对象类

复制代码代码如下:

importjava.io.Serializable;

publicclassPersonimplementsSerializable{   
   /**
    *
    */
   privatestaticfinallongserialVersionUID=-410186774891162281L;
   privateStringusername;
   privateintage;
   privatebooleansex;//true:male;false:female

   publicStringgetUsername(){
       returnusername;
   }

   publicvoidsetUsername(Stringusername){
       this.username=username;
   }

   publicintgetAge(){
       returnage;
   }

   publicvoidsetAge(intage){
       this.age=age;
   }

   publicbooleangetSex(){
       returnsex;
   }

   publicvoidsetSex(booleansex){
       this.sex=sex;
   }
}


服务类
复制代码代码如下:

publicclassUserLogin{

   publicPersonlogin(StringloginName,StringloginPasswd){
       PersonaPerson=newPerson();
       if(loginName.equals("laoli")&&loginPasswd.equals("111111")){
           aPerson.setUsername("老李");
           aPerson.setAge(55);
           aPerson.setSex(true);
       }elseif(loginName.equals("xiaoli")&&loginPasswd.equals("123456")){
           aPerson.setUsername("小丽");
           aPerson.setAge(23);
           aPerson.setSex(false);
       }else{
           aPerson=null;
       }
       returnaPerson;
   }

}


客户端
复制代码代码如下:
<?php

/*
 *Createdon2011-10-12
 *Authorwanghao
 *
 *package_name/userLoginClient.php
 */
header("Content-Type:text/html;charset=utf-8");
//PullintheNuSOAPcode
require_once("libs/nusoap.php");
//Createtheclientinstance
$client=newnusoapclient("http://localhost:8080/axis/services/UserLoginWS?wsdl",true);
$client->soap_defencoding="utf-8";
$client->decode_utf8=false;
$client->xml_encoding="utf-8";
//Checkforanerror
$err=$client->getError();
if($err){
   //Displaytheerror
   echo"<h2>Constructorerror</h2><pre>".$err."</pre>";
   //Atthispoint,youknowthecallthatfollowswillfail
}
//CalltheSOAPmethod
$param=array("loginName"=>"laoli","loginPasswd"=>"111111");
$result=$client->call("login",$param);
//Checkforafault
if($client->fault){
   echo"<h2>Fault</h2><pre>";
   print_r($result);
   echo"</pre>";
}else{
   //Checkforerrors
   $err=$client->getError();
   if($err){
       //Displaytheerror
       echo"<h2>Error</h2><pre>".$err."</pre>";
   }else{
       //Displaytheresult
       echo"<h2>Result</h2><pre>";
       print_r($result);
       echo"</pre>";
   }
}
echo"<br>";
$param=array("loginName"=>"xiaoli","loginPasswd"=>"123456");
$result=$client->call("login",$param);
//Checkforafault
if($client->fault){
   echo"<h2>Fault</h2><pre>";
   print_r($result);
   echo"</pre>";
}else{
   //Checkforerrors
   $err=$client->getError();
   if($err){
       //Displaytheerror
       echo"<h2>Error</h2><pre>".$err."</pre>";
   }else{
       //Displaytheresult
       echo"<h2>Result</h2><pre>";
       print_r($result);
       echo"</pre>";
   }
}
?>