PHP集成华为企业信息机

华为信息机虽然只提供了DLL和Java的接口,但是其它的语言还是可以调用,方法就是使用它的存储过程。下面是一个PHP调用的例子

<?php


class PHPSMS {
var $dbHost = "ip:1433";
var $dbName = "DB_CustomSMS";
var $dbUser = "sa";
var $dbPass = "";
var $name = "0005";
var $pass = "";

var $db;


function init() {
$this->db = &ADONewConnection('mssql');
$this->db->Connect($this->dbHost,$this->dbUser,$this->dbPass,$this->dbName) or die($db->ErrorMsg().'<br>');
}

function addSMtoSend($pDestAddr,$pSmContent) {

$pOrgAddr = '1068×××××'.$this->name;
$pSendTime = date("Y-m-d H:i:s");
$pNeedStateReport = 0;
$pServiceID = "EIES";
$pFeeType = "02" ;
$pFeeCode = "0";
$pSMType = 0;
$pMessageID = "0";
$pDestaddrType = 0;
$pCreatorID = $this->name;
$pSuccess = -1;

$stmt = $this->db->PrepareSP('addSMtoSend');
$this->db->InParameter($stmt,$pOrgAddr,'pOrgAddr');
$this->db->InParameter($stmt,$pDestAddr,'pDestAddr');
$this->db->InParameter($stmt,$pSmContent,'pSmContent');
$this->db->InParameter($stmt,$pSendTime,'pSendTime');
$this->db->InParameter($stmt,$pNeedStateReport,'pNeedStateReport');
$this->db->InParameter($stmt,$pServiceID,'pServiceID');
$this->db->InParameter($stmt,$pFeeType,'pFeeType');
$this->db->InParameter($stmt,$pFeeCode,'pFeeCode');
$this->db->InParameter($stmt,$pSMType,'pSMType');
$this->db->InParameter($stmt,$pMessageID,'pMessageID');
$this->db->InParameter($stmt,$pDestaddrType,'pDestaddrType');
$this->db->InParameter($stmt,$pCreatorID,'pCreatorID');

$this->db->OutParameter($stmt,$pSuccess,'pSuccess');

$this->db->Execute($stmt);

if($pSuccess>=0) return 1;

else return 0;

}

function fetchSMRequest(&$SourceAddr,&$Content,&$RecvTime) {

$DestAddrMask = '1068×××××'.$this->name;

$DestAddr = '';

$SMType = 0;
$pMessageID = "0";
$OrgAddrType = 0;
$ActionID = 0;
$ActionReasonID = 0;
$ServiceID = "";
$Ret_Code = 0;

$stmt = $this->db->PrepareSP('FetchSMRequest');
$this->db->InParameter($stmt,$DestAddrMask,'DestAddrMask');

$this->db->OutParameter($stmt,$SourceAddr,'SourceAddr');
$this->db->OutParameter($stmt,$DestAddr,'DestAddr');
$this->db->OutParameter($stmt,$Content,'Content');
$this->db->OutParameter($stmt,$RecvTime,'RecvTime');
$this->db->OutParameter($stmt,$SMType,'SMType');
$this->db->OutParameter($stmt,$MessageID,'MessageID');
$this->db->OutParameter($stmt,$OrgAddrType,'OrgAddrType');
$this->db->OutParameter($stmt,$ActionID,'ActionID');
$this->db->OutParameter($stmt,$ActionReasonID,'ActionReasonID');
$this->db->OutParameter($stmt,$ServiceID,'ServiceID');
$this->db->OutParameter($stmt,$Ret_Code,'Ret_Code');

$this->db->Execute($stmt);

return $Ret_Code; //0 没有消息 1 成功 -1 失败

}

}


?>

使用的时候,先初始化

$sms = new PHPSMS();
$sms->init();

发送消息的方法


$re = $sms->addSMtoSend('1385×××××','PHP测试');
if($re = 1) echo "success";
else echo "fail";

接收消息的方法

$SourceAddr = '';
$Content = '';
$RecvTime = '';
while( $sms->fetchSMRequest($SourceAddr,$Content,$RecvTime) ) {
echo $SourceAddr."<br>".$Content."<br>".$RecvTime;
}

你可能感兴趣的:(PHP,D语言,华为)