After working on this for a couple of weeks I come to the conclusion that it was not my coding as I tried many different soap call constructs modifying the wsdl files etc so I turend to soap. I recompiled soap and this fixed my issues.
Thanks
--enable-soap' '--enable-sockets' '--enable-wddx' '--
soap
Soap Client enabled
Soap Server enabled
Directive Local Value Master Value
soap.wsdl_cache 1 1
soap.wsdl_cache_dir /tmp /tmp
soap.wsdl_cache_enabled 1 1
soap.wsdl_cache_limit 5 5
soap.wsdl_cache_ttl 86400 86400