I need of a spot of help.

I am calling a simple webservice like this:

<cfinvoke
webservice="http://myaddress.com/IStaticData"
method="GetDropOffCityList"
returnvariable="bComplex">
<cfinvokeargument name="Login" value="taxi" />
<cfinvokeargument name="Password" value="test" />
<cfinvokeargument name="CompanyID" value="1" />
</cfinvoke>

The xml doc requires simple values:

<message name="GetVehicleTypes0Request">
<part name="Login" type="xs:string" />
<part name="Password" type="xs:string" />
<part name="CompanyID" type="xs:int" />
</message>

I am getting the correct information back, the problem comes in when i need to send a complex value:

<xs:complexType name="TBookOrder">
<xs:sequence>
<xs:element name="ServiceProviderID" type="xs:int" />
<xs:element name="ConfirmationID" type="xs:int" />
<xs:element name="OrderID" type="xs:int" />
</xs:sequence>
</xs:complexType>

What structure do you use for the data in TBookOrder?

<message name="SaveBookOrder2Request">
<part name="Login" type="xs:string" />
<part name="Password" type="xs:string" />
<part name="BookOrder" type="ns2:TBookOrder" />
</message>

I know i have cut up the XML doc alot here, but as you can see i need to nest the TBookOrder into SaveBookOrder2Request for sending, if this isn't enough information or makes no sense please post a message or if you have any idea please let me know.