您的位置:首页 > 编程语言 > PHP开发

php调用webservice接口封装方法

2014-05-28 10:02 981 查看
$parameters = array('TradeCode' => 1012,'ExtOrgCode' => '','ClientType'=>'','HospitalId'=>'','DepartmentCode'=>'','ExtUserID'=>'','SessType'=>'');

$para = createinterfacepara($parameters);

$result = soapclient($para);

$ret = parsexmlresult($result);

//调用接口函数方法

function soapclient($para)

{
global $soap_server;
global $db,$tablepre;
try 
{
//var_dump($para);
$client = new SoapClient($soap_server);
$client->decode_utf8=false;
$client->xml_encoding='utf-8';      
//var_dump ( $client->__getFunctions () );
$result = $client->OPRegistration(array('input' => $para));
//$response = get_object_vars($result);
//$response = $response['CommnuicationResult'];

//$sql = "insert into {$tablepre}soaplogs(soaptype,request,response,dateline,requestip) values('client','".addslashes($para)."','".addslashes($response)."','".time()."','$soap_server')";
//$db->query($sql);
unset($client);

    return $result;

catch (SoapFault $fault)
{

    $array = array("Error"=> $fault->faultcode,"String" => $fault->faultstring);

    return $array;
}

}

function createinterfacepara($parameters)

{

$ret = "";
$ret .= "<Request>";
foreach($parameters as $key => $value)
{

$ret.='<'.$key.'>'.$value.'</'.$key.'>';

}
$ret .= '</Request>';

return $ret;

}

function parsexmlresult($xml)

{
global $site_engine_root;

$toarray = get_object_vars($xml);

require_once $site_engine_root.'lib/xmlarray.php';
//echo htmlspecialchars($toarray['CommnuicationResult']);
$ret = xml2array($toarray['OPRegistrationResult']);
//printarray($ret);exit;

return $ret;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: