Bob, Thank you very much for the help. That made a huge difference and now I see the "orderPlanFilter" part as well: <SOAP-ENV:Body> <ns2:getConfig> <ns1:credential> <ns1:user>user</ns1:user> <ns1:password>pass</ns1:password> <ns1:group>group</ns1:group> </ns1:credential> <orderPlanFilter> <deviceName>abc</deviceName> </orderPlanFilter> </ns2:getConfig> </SOAP-ENV:Body> I feel that it is almost there, but it is still not getting the data because the "orderPlanFilter" doesn't have the "ns2:" prefix. How can I make the client to send the request out as the following which works fine when I test via soapUI: <SOAP-ENV:Body> <ns2:getConfig> <ns1:credential> <ns1:user>user</ns1:user> <ns1:password>pass</ns1:password> <ns1:group>group</ns1:group> </ns1:credential> <ns2:orderPlanFilter> <deviceName>abc</deviceName> </ns2:orderPlanFilter> </ns2:getConfig> </SOAP-ENV:Body> Thanks again, Bilig ________________________________ From: Robert Williams <rewilliams@thesba.com> To: "soap@lists.php.net" <soap@lists.php.net> Sent: Thursday, August 9, 2012 12:39 PM Subject: Re: soapClient not creating XML request correctly On 8/8/12 14:10, "Bilig Ordos" <bilig.ordos@yahoo.com> wrote: >$results = >$x->getOrderPlanConfig(array('credential'=>array('user'=>'user', >'password'=>'pass', 'group'=>'group') >, array('orderPlanFilter'=>array('deviceName'=>'abc')))); It's hard to know exactly what the service wants without seeing the actual WSDL, but this looks a little suspicious to me. If you reformat this for readability: $results = $x->getOrderPlanConfig( array( 'credential'=>array( 'user'=>'user', 'password'=>'pass', 'group'=>'group' ), array( /*no name?*/ 'orderPlanFilter'=>array('deviceName'=>'abc') ) ) ); You can see that the plan filter parameter is not named, whereas the credential one is. Try this: $credential = array( 'user' => 'user', 'password' => 'pass', 'group' => 'group', ); //$credential $orderPlanFilterType = array( 'deviceName' => 'abc', /* following items unused in this case - assuming them to be optional 'group' => 'group abc', 'planName' => 'planName abc', 'created' => array('dateOperator' => 'op', 'value' => 'date value'), 'lastModified' => array('dateOperator' => 'op', 'value' => 'date value'), */ ); //$orderPlanFilterType $getorderPlanConfigParams = array( 'credential' => $credential, 'orderPlanFilter' => $orderPlanFilterType, ); //$getorderPlanConfigParams $x->getorderPlanConfig($getorderPlanConfigParams); If that doesn't work, try pulling the top-level parameters out of the array: $x->getorderPlanConfig('credential' => $credential, 'orderPlanFilter' => $orderPlanFilterType); Hopefully that helps at least a little; web services can certainly be a pain! Regards, Bob -- Robert E. Williams, Jr. Associate 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 Soap Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php ; -- PHP Soap Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php