Hi,
>>
When this.wsobject is first created with 'CreateObject(soapclient_class)' it has 'default' methods and I thought the soapclient_init would change it to have the methods picked up from the web service ready to be passed via 'setupclient' to loRegisterCustomer, but the methods remain unchanged ie it only has the ones I listed.
>>
This is normal - the web service methods do not become (visible) methods of the object.
>>lcResult = loRegisterCustomer.createSale("Sale1")
The XSD specifies that only two string values are valid parameters for this function:
<restriction base="xsd:string">
<enumeration value="PayMonthly"/>
<enumeration value="ThreePay"/>
</restriction>
so you should try either createSale("PayMonthly") or createSale("ThreePay").
HTH,
Viv