Hi Guys

I'm testing this module on a Linux Ubuntu 10.4 box with PHP 5.3.2-1ubuntu4.2.

When using e-way gateway I get a white screen when payment is submitted and the following error in my apache log

Short version

PHP Fatal error: Uncaught exception 'Exception' with message 'Serialization of 'SimpleXMLElement' is not allowed'

Long version

PHP Fatal error: Uncaught exception 'Exception' with message 'Serialization of 'SimpleXMLElement' is not allowed' in /var/www/htdocs/drupal/sites/XXXX/modules/ubercart/payment/uc_payment/uc_payment.module:607\nStack trace:\n#0 /var/www/htdocs/drupal/sites/XXXX/modules/ubercart/payment/uc_payment/uc_payment.module(607): serialize(Array)\n#1 /var/www/htdocs/drupal/sites/XXXX/modules/ubercart/payment/uc_payment/uc_payment.module(573): uc_payment_enter('1', 'credit', '0', '1', Array, 'Credit card pay...')\n#2 /var/www/htdocs/drupal/sites/XXXX/modules/ubercart/payment/uc_credit/uc_credit.admin.inc(299): uc_payment_process('credit', '1', '0', Array, true, NULL, false)\n#3 /var/www/htdocs/drupal/includes/form.inc(776): uc_credit_terminal_form_submit(Array, Array)\n#4 /var/www/htdocs/drupal/includes/form.inc(416): form_execute_handlers('submit', Array, Array)\n#5 /var/www/htdocs/drupal/includes/form.inc(119): drupal_process_form('uc_credit_termi...', Array, Array)\n#6 /var/www/h in /var/www/htdocs/drupal/sites/XXXX/modules/ubercart/payment/uc_payment/uc_payment.module on line 0, referer: https://XXXX/admin/store/orders/1/credit

The system works with the default ubercart test payment gateway.
Don't really know if it is a ubercart or an uc_eway error.

I did some reading and I'm starting to think it is a problem with serialize() and php 5.3, but don't really know much.

If you have any suggestion they are highly appreciated.

Cheers

Comments

agileware’s picture

This is likely a compatibility problem with PHP 5.3, are you to provide a patch?

jm.federico’s picture

I have no idea how to fix it, been going around the issue for a while now.

I'll have to end up downgrading my PHP version to 5.2 if can't find a solution :(

Cheers

jm.federico’s picture

Ok, so, this is the array that is being serialized

Array
(
    [txReturnNo] => 00
    [txReturnDescription] => Transaction Approved(Test CVN Gateway)
    [txStatus] => true
    [txTransactionNumber] => SimpleXMLElement Object
        (
            [0] => 10093
        )

    [txOption1] => SimpleXMLElement Object
        (
        )

    [txOption2] => SimpleXMLElement Object
        (
        )

    [txOption3] => SimpleXMLElement Object
        (
        )

    [txAmount] => SimpleXMLElement Object
        (
            [0] => 1000
        )

    [txAuthCode] => SimpleXMLElement Object
        (
            [0] => 123456
        )

    [txInvoiceReference] => SimpleXMLElement Object
        (
        )

)

I'm gessing here that the problem is being caused by the "SimpleXMLElement" Objects inside the array? And would I be correct in assuming that it comes form the e-way module?

I might be saying nonsense things here, don't really now that much, but I'm a little bit desperate, so I'm just trying to dig as deep as I can constrained by my PHP knowledge.

I found this http://blog.makemepulse.com/2007/09/27/serialize-and-unserialize-simplex... which seems to be somehow related to the matter but I couldn't go any deeper.

So, well, as said before any help will be appreciated, and if for some miracle I manage to come up with a solution, I'll let you all know.

Federico

jm.federico’s picture