My goal is to be able to create a soap request that can contain items like so:
IAG Group
I ran into the BOGUS tag problem also. My solution involved using an ArrayObject in place of array primitives. The objects are all then converted to SoapVar objects. It seems the soap library really wants to deal with objects everywhere. I have a more complete writeup here:
http://www.fischco.org/blog/2011/3/26/php-soapserver-objects-arrays-and-encoding.html