Hi Robert, Everything is working fine now with your fix. Thank you for the time you spent on this to help me. I really appreciate it. Thank you so much! On Mon, Apr 21, 2014 at 12:44 PM, Robert Williams <rewilliams@xxxxxxxxxx>wrote: > Adam, > > When you call the service methods directly, you don’t need the array > wrapper on the parameter since the SoapClient class will take care of it > for you. Thus: > > $results = $soapClient->RateQuote(array($args)); > > should just be: > > $results = $soapClient->RateQuote($args); > > Back on my dev machine this morning, I gave your code a shot, and with the > above change, it works. The service complained about a missing ‘Pieces’ > value, though. I looked at the WSDL, and Pieces is a required value. Looks > like ShipDate is also required. Adding both, I get this code: > > $args = array( > 'request' => array( > 'OriginZip' => 18106, > 'DestinationZip' => 91752, > 'ShipmentDetails' => array( > 'ShipmentDetail' => array( > 'ActualClass' => 50, > 'Weight' => 1200, > ), > ), > 'OriginType' => 'O', > 'PaymentType' => 'P', > 'COD' => array( > 'Prepaid' => true, > 'CODAmount' => 1200, > ), > 'Pieces' => 1, > 'ShipDate' => '2014-04-24T00:00:00-00:00', > ), > ); > > which works, generating this XML: > > <?xml version="1.0" encoding="UTF-8"?> > <SOAP-ENV:Envelope xmlns:SOAP-ENV=" > http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1=" > https://webservices.rrts.com/ratequote/"> > <SOAP-ENV:Header> > <ns1:AuthenticationHeader> > <ns1:UserName>xxxxxx</ns1:UserName> > <ns1:Password>xxxxxx</ns1:Password> > <ns1:Site>xxxxx</ns1:Site> > </ns1:AuthenticationHeader> > </SOAP-ENV:Header> > <SOAP-ENV:Body> > <ns1:RateQuote> > <ns1:request> > <ns1:OriginZip>18106</ns1:OriginZip> > <ns1:DestinationZip>91752</ns1:DestinationZip> > <ns1:ShipmentDetails> > <ns1:ShipmentDetail> > <ns1:ActualClass>50</ns1:ActualClass> > <ns1:Weight>1200</ns1:Weight> > </ns1:ShipmentDetail> > </ns1:ShipmentDetails> > <ns1:OriginType>O</ns1:OriginType> > <ns1:PaymentType>P</ns1:PaymentType> > <ns1:Pieces>1</ns1:Pieces> > <ns1:COD> > <ns1:Prepaid>true</ns1:Prepaid> > <ns1:CODAmount>1200</ns1:CODAmount> > </ns1:COD> > <ns1:ShipDate>2014-04-24T00:00:00-00:00</ns1:ShipDate> > </ns1:request> > </ns1:RateQuote> > </SOAP-ENV:Body> > </SOAP-ENV:Envelope> > > As another tip, I noticed that you prepend your array elements with a > comma. Presumably, this is to make adding new elements later less > error-prone, which always a good idea. However, PHP offers an extremely > useful feature that’s even better: dangling commas. Instead of this: > > $foo = array( > ‘apple’ > ,‘banana’ > ,‘pear’ > ,‘mango’ > ); > > You can do this: > > $foo = array( > ‘apple’, > ‘banana’, > ‘pear’, > ‘mango’, > ); > > Note the dangling comma after the last element. This idiom keeps code > looking a bit more like natural language and also avoids future editing > errors at the beginning of the array, which the comma-as-prefix arrangement > doesn’t address. And if you ever find yourself generating array syntax > programmatically, this feature makes doing so dead-simple. > > > -- > Robert E. Williams, Jr. > Senior Vice President of Software Development > Newtek Businesss Services, Inc. -- The Small Business Authority > https://www.newtekreferrals.com/rewjr > http://www.thesba.com/ > > > Notice: This communication, including attachments, may contain information > that is confidential. It constitutes non-public information intended to be > conveyed only to the designated recipient(s). If the reader or recipient of > this communication is not the intended recipient, an employee or agent of > the intended recipient who is responsible for delivering it to the intended > recipient, or if you believe that you have received this communication in > error, please notify the sender immediately by return e-mail and promptly > delete this e-mail, including attachments without reading or saving them in > any manner. The unauthorized use, dissemination, distribution, or > reproduction of this e-mail, including attachments, is prohibited and may > be unlawful. If you have received this email in error, please notify us > immediately by e-mail or telephone and delete the e-mail and the > attachments (if any). > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > >