我用PHP调用 为什么一直报Object reference not set to an instance of an object.这个错误
PHP使用SoapClient这个类库直接调用.net的方法,.net中的方法定义了两个参数,一个是实体对象类型的,一个是out类型的,这个我在PHP中调用应该怎么调用呢!
PHP使用SoapClient这个类库直接调用.net的方法,.net中的方法定义了两个参数,一个是实体对象类型的,一个是out类型的,这个我在PHP中调用应该怎么调用呢!
$qos = new qosclass();
$qos->strProcessType = "储值卡";
$qos->strOperateType='05'; //交易类型
$qos->strTermNo=""; //终端号
$qos->strStoreNo=''; //门店号
$qos->strPosNo=''; //收银机号
$qos->strUserNo=''; //收银员工编码
$qos->strUserName=""; //收银员工姓名
$qos->strDepositType=""; //付款账户名称
$qos->strTrack2="CRADN1231313123"; //磁道
$qos->strExtend1=".NET"; //扩展字段1 客户端类型是“.NET”
$qos->strExtend2=''; //JSON格式 数据
$qos->strExtend3=''; //JSON格式 数据
$qos->strExtend4=''; //JSON格式 数据
//echo "<br>"; //.net中out类型的值 默认为空
$sErr = "";
// $this->client->setClass('qosclass');
$array = array('CCardParameter'=>$qos,$sErr);
try{
$result = $this->client->ProcessCard($array);
print_r($result);
} catch (SOAPFault $e) {
print_r( $e);
}
exit;
报这个错误,也不知道是什么原因
ProcessCard这个是.net的方法这是.net那边调用的写法
用PHP怎么写,上面我贴出了我用PHP写的 但是报错
按约定 $qos 应该是关联数组,类似这样
$qos = array(
'strProcessType' => "储值卡",
'strOperateType' => '05', //交易类型
'strTermNo' => "", //终端号
);
$array = array('CCardParameter'=>$qos);
$result = $this->client->ProcessCard($array);
具体格式应查看 WSDL
按约定 $qos 应该是关联数组,类似这样
$qos = array(
'strProcessType' => "储值卡",
'strOperateType' => '05', //交易类型
'strTermNo' => "", //终端号
);
$array = array('CCardParameter'=>$qos);
$result = $this->client->ProcessCard($array);
具体格式应查看 WSDL
被调用的方法只需要两个参数
一个实体类型和一个out类型我应该怎么传呢
php 有自己的传参方式还是那句话:具体格式应查看 WSDL