//RequestedShipment\RateRequestTypes
$requestedShipment->setRateRequestTypes(array(new SimpleType\RateRequestType(SimpleType\RateRequestType::_ACCOUNT), new SimpleType\RateRequestType(SimpleType\RateRequestType::_LIST)));
//RequestedShipment\PackageCount
$requestedShipment->setPackageCount(2);
//RequestedShipment\RequestedPackageLineItems
$lineItems = array();
$item1Weight = new ComplexType\Weight();
$item1Weight->setUnits(new SimpleType\WeightUnits(SimpleType\WeightUnits::_LB))->setValue(2.0);
$item1Dimensions = new ComplexType\Dimensions();
$item1Dimensions->setLength(10)->setWidth(10)->setHeight(3)->setUnits(new SimpleType\LinearUnits(SimpleType\LinearUnits::_IN));
$item1 = new ComplexType\RequestedPackageLineItem();
$item1->setWeight($item1Weight);
$item1->setDimensions($item1Dimensions);
$item1->setGroupPackageCount(1);
$item2Weight = new ComplexType\Weight();
$item2Weight->setUnits(new SimpleType\WeightUnits(SimpleType\WeightUnits::_LB))->setValue(5.0);
$item2Dimensions = new ComplexType\Dimensions();
$item2Dimensions->setLength(20)->setWidth(20)->setHeight(10)->setUnits(new SimpleType\LinearUnits(SimpleType\LinearUnits::_IN));
$item2 = new ComplexType\RequestedPackageLineItem();
$item2->setWeight($item2Weight);
$item2->setDimensions($item2Dimensions);
$item2->setGroupPackageCount(1);
$lineItems[] = $item1;
$lineItems[] = $item2;
$requestedShipment->setRequestedPackageLineItems($lineItems);
$rateRequest->setRequestedShipment($requestedShipment);
var_dump($rateRequest->toArray());
echo "<hr />";
$request = new RateService\Request();
var_dump($request->getRateReply($rateRequest));
var_dump($request->getSoapClient()->__getFunctions());