Why does my PHP-Script output the item-Tag for each id-Element? These item-Wrapper are not needed, it gives an error on the SOAP-WS Request. I'm using nusoap.
Wrong-XML:
<SOAP-ENV:Envelope> <SOAP-ENV:Body> <ns2475:uploadMetaData xmlns:ns2475="..."> <uploadMetaData> <mediaNumber xsi:type="xsd:string">906</mediaNumber> <associations xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="unnamed_struct_use_soapval[2]"> <item> <id xsi:type="xsd:int">1</id> </item> <item> <id xsi:type="xsd:string">5</id> </item> </associations> </uploadMetaData> </ns2475:uploadMetaData> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
Correct-XML:
<SOAP-ENV:Envelope> <SOAP-ENV:Body> <ns2475:uploadMetaData xmlns:ns2475="..."> <uploadMetaData> <mediaNumber xsi:type="xsd:string">906</mediaNumber> <associations xsi:type="SOAP-ENC:Array" SOAP-ENC:arrayType="unnamed_struct_use_soapval[2]"> <id xsi:type="xsd:int">1</id> <id xsi:type="xsd:string">5</id> </associations> </uploadMetaData> </ns2475:uploadMetaData> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
PHP-Code:
$associationslist = array();
foreach($xml->xpath('//associations') as $association) {
// add existing themes to list
array_push($associationslist, array('id'=>$association->id));
}
// add one after looping
array_push($associationslist, array('id'=>$themeid));
$client_mediapool->call('uploadMetaData',array('uploadMetaData'=>array('mediaNumber'=>$mediaid,'associations'=>$associationslist)), $ns);
Does any one have an idea?
Thank you. Mario