2016-03-20 15 views
0

ジョン・コンデから作業Authorize.netのXMLを取得しようとすると、私はからAuthorize.net XMLクラスを使用しています:は、クラス

https://github.com/stymiee/Authorize.Net-XML

しかし、私は次のようなエラーになっています:

Fatal error: Uncaught exception 'Exception' with message 'Serialization of 'SimpleXMLElement' is not allowed' in [no active file]:0 Stack trace: #0 {main} thrown in [no active file] on line 0

Iをクラス(クラス)に何か(文字列)を入れる必要があることを知っています。支払いが提出された後

これは私のPHPコードです:

if ($xml->messages->resultCode == 'Ok' && $xml->isSuccessful()) { 
    $_SESSION['transID'] = $xml->transactionResponse->transId; 
} else { 
    $_SESSION['ErrorMSGTXT'] = $xml->messages->message->text; 
    $_SESSION['ErrorERRORTXT'] = $xml->transactionResponse->errors->error->errorText; 
    exit(); 
} 

答えて

1

あなたが_SESSIONにSimpleXMLElementのインスタンスを割り当てるしようとしています。 SimpleXMLELementには「serializeメソッドがあります。このメソッドはただ例外をスローします。
インスタンス自体を永続化するのではなく、そのノードの文字列表現を保存したいだけです(例:casting it to string)。

if ($xml->messages->resultCode == 'Ok' && $xml->isSuccessful()) { 
    $_SESSION['transID'] = (string)$xml->transactionResponse->transId; 
} else { 
    $_SESSION['ErrorMSGTXT'] = (string)$xml->messages->message->text; 
    $_SESSION['ErrorERRORTXT'] = (string)$xml->transactionResponse->errors->error->errorText; 
    exit(); 
}