Myslím si, že ano.
Pokud tedy dobře rozumím problému:
SOAP volání je XML zpráva. Do druhého argumentu funkce __soapCall musíš dosadit array.
I kdybys na straně klienta vyrobil jakoukoli třídu, musíš instanci nějak přežvýkat do požadavku a na straně druhé po předání vyrobit instanci generického typu List.
Jestli něco nechápu, snad by mi pomohlo, kdybys uvedl konkrétní příklad použití pro klienta.