Enviando arrays de dados em nusoap e PHP

Espero que alguém possa me ajudar com isso. Estou construindo o cliente nusoap usando o WSDL parcial seguinte:

                           

Meu cliente parece assim:

  $orderdata = getorder('123'); $orderdata = array( 'USERNAME' => $config['export_username'], 'PASSWORD' => $config['export_password'], 'BRANCH' => '01', 'CUSTOMERNUMBER' => $data['order']['address1'], 'CUSTOMERPO' => $data['order']['gift_message'], 'SHIPMETHOD' => $shipMethod, 'PRESTAPO' => $data['order']['id_order']); // Build the pickitems array of pickitem. $pickitems = array(); foreach($data['products'] as $item) { $pickitem = array( 'PARTNUMBER' => $item['name'], 'BRANCH' => '01', 'MFRCODE' => '642', 'QUANTITY' => $item['product_quantity']); $pickitems[] = $pickitem; } $data['PICKITEMS'] = $pickitems; $usingWsdl = true; $client = new nusoap_client($config['export_wsdl'], $usingWsdl); $response = $client->call('SavePrestaPicklist', $orderdata); 

Isso não está funcionando e envia um PICKITEMS como este:

   BLAH BLAH ETC.   ANOTHER ITEM SET   

O que eu quero é o seguinte:

   BLAH BLAH ETC.   ANOTHER ITEM SET   

Como você não pode duplicar as chaves ‘PICKITEM’ no PHP, não consigo descobrir como fazer isso. Qualquer ajuda seria apreciada.

 'PICKITEMS' => array ( 'PICKITEM' => array( 0 => array('PARTNUMBER' => 'param1', 'BRANCH' => 'value1'), 1 => array('PARTNUMBER' => 'param2', 'BRANCH' => 'value2') ) ) 

Você pode enviar XML bruto com o método $ client-> send ().

 $raw_xml = "..."; $msg = $client->serializeEnvelope("$raw_xml"); $result=$client->send($msg, $endpoint); 

Você pode ver o exemplo aqui:

http://itworkarounds.blogspot.com/2011/07/send-raw-xml-with-php-nusoap.html

Se isso não funcionar, você pode tentar publicar o XML com CURL.