HELP !!!!! PHP SOAP Not building objects correctly

[email protected] (Tim Traver)
Newsgroups php.general,php.soap
Message-ID <[email protected]>
Hi all,

sorry for the cross post to the general PHP list as well as the SOAP PHP 
list, but I'm a little bit desperate...

Ok, for some reason when I am sending the proper objects to the 
__soapCall method, it is not including those objects in the XML call 
itself...

I am using PHP 5.2.6 now after using 5.2.5 and thinking this may be 
fixed in an upgrade, but it is not...

ok, here is a dump of the object I am sending the __soapCall method as 
an argument :

[struct] => CreateCustomerPaymentProfile Object
(
            [merchantAuthentication] => MerchantAuthenticationType Object
                (
                    [name] => xxxxxxxxx
                    [transactionKey] => xxxxxxxxxx
                )
            [customerProfileId] => 181854
            [paymentProfile] => CustomerPaymentProfileType Object
                (
                    [payment] => PaymentSimpleType Object
                        (
                            [creditCard] => CreditCardType Object
                                (
                                    [cardNumber] => XXXXXXXXXXXXXXXX
                                    [expirationDate] => XXXX-XX
                                )
                        )
                    [customerType] => individual
                    [billTo] => CustomerAddressType Object
                        (
                            [firstName] => Tim
                            [lastName] => Traver
                        )
                )
            [validationMode] => none
        )

And here is the call that is generated :
[__last_request] => <?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope 
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:ns1="https://api.authorize.net/soap/v1/">
<SOAP-ENV:Body>
  <ns1:CreateCustomerPaymentProfile>
        <ns1:merchantAuthentication>
            <ns1:name>xxxxxxxxxxxx</ns1:name>
            <ns1:transactionKey>xxxxxxxxxxxxxxxx</ns1:transactionKey>
        </ns1:merchantAuthentication>
        <ns1:customerProfileId>181854</ns1:customerProfileId>
        <ns1:paymentProfile>
            <ns1:customerType>individual</ns1:customerType>
            <ns1:billTo>
                <ns1:firstName>Tim</ns1:firstName>
                <ns1:lastName>Traver</ns1:lastName>
            </ns1:billTo>
            <ns1:payment/>
        </ns1:paymentProfile>
    <ns1:validationMode>none</ns1:validationMode>
</ns1:CreateCustomerPaymentProfile>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

As you can see, all of the object variables are created correctly, 
except that the "payment" object is not. It is simply represented by 
<ns1:payment/> and has no start, and no variables that were sent in the 
object.

This is very strange, and I can't figure out where to look to try and 
solve this problem, but it is a very big problem.

I have tried to changed the order of the objects, what the actual values 
of the objects are, but I'm now banging my head as to why the soap 
construction is not including these values...

Any help would be greatly appreciated,

Tim.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.