Listing 1

Annexure:
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="698" height="568">
	<mx:Script>
		<![CDATA[
			import com.amazon.webservices.AWSECommerceService._2007_06_13.Items;
			import mx.collections.ArrayCollection;
			import com.amazon.webservices.AWSECommerceService._2007_06_13.Item;
			import com.packeteer.util.XMLUtil;
			import com.amazon.webservices.AWSECommerceService._2007_06_13.ItemSearchResponse;
			import mx.rpc.http.mxml.HTTPService;
			import mx.rpc.events.*;
			
			[Bindable]
			public var  searchIndexs:Array =["Apparel"];
			
			[Bindable]
			public var itemSearchResponse:ItemSearchResponse;
			
			[Bindable]
			public var items:ArrayCollection;
			
			public function requestAmazon():void{
				var url:String="http://ecs.amazonaws.com/onca/xml";
				var params:Object = new Object();
				params.Service="AWSECommerceService";
				params.Operation="ItemSearch";
				params.AWSAccessKeyId="0K8EYY5Z00B7MCNQ2H82";
				params.SearchIndex=searchIndex.text;
				params.Keywords=keyword.text;
				
				getServiceInstance(url).send(params);
			}
			
			private function getServiceInstance(url : String) : HTTPService {
				var instance : HTTPService=new HTTPService();
				instance.resultFormat = 'e4x';
				instance.method = 'post';
			    instance.url = url;
			    instance.addEventListener(ResultEvent.RESULT,
					onSuccess);
				instance.addEventListener(FaultEvent.FAULT,
					onFault);
				return instance;
			}
			
			public function onSuccess(event:ResultEvent):void{
				var xml:XML = event.result as XML;
				xml = XMLUtil.removeNamespace(xml);
				itemSearchResponse = new ItemSearchResponse().fromXML(xml) as ItemSearchResponse;
				if( itemSearchResponse.items.length >0)
				items = (itemSearchResponse.items[0] as
				 com.amazon.webservices.AWSECommerceService._2007_06_13.Items).item;
				trace(itemSearchResponse.toXML("ItemSearchResponse").toXMLString());
				
			}
			
			public function onFault(event : FaultEvent):void{
				trace(event.fault.faultString);
			}
		]]>
	</mx:Script>
	<mx:Button x="574" y="36" label="Search Amazon" click="requestAmazon()"/>
	<mx:ComboBox x="10" y="36" id="searchIndex" editable="true" enabled="true" width="189"
	 dataProvider="{searchIndexs}"></mx:ComboBox>
	<mx:Text x="10" y="10" text="Search Index" width="85"/>
	<mx:Text x="336" y="10" text="Keyword"/>
	<mx:TextInput x="336" y="36" id="keyword" text="Shirt"/>
	<mx:DataGrid x="10" y="86" width="679" dataProvider="{items}" height="460">
		<mx:columns>
			<mx:DataGridColumn width="20" headerText="ASIN" dataField="ASIN"/>
			<mx:DataGridColumn width="40" headerText="Deatiled Page URL" dataField="detailPageURL"/>
			<mx:DataGridColumn width="40" headerText="Title" dataField="itemAttributes"/>
		</mx:columns>
	</mx:DataGrid>
	
</mx:WindowedApplication>


Listing-1

/**
 * AWSECommerceServiceBindingStub.as
 *
 * This file was auto-generated from WSDL
 * by the Apache Axis 1.3 Nov 04, 2006 (12:26:20 PST) WSDL2Java emitter.
 */

package com.amazon.webservices.AWSECommerceService._2007_06_13
{
   import com.packeteer.rpc.PacketOperation;
   import mx.collections.*;
   import com.packeteer.data.xml.*;
   import com.packeteer.util.*;


public class ItemSearch extends com.packeteer.rpc.PacketOperation{
	public function ItemSearch(wsdlURI:String,onResult:Function=null,onFault:Function=null):void{
		super(wsdlURI,"ItemSearch",onResult,onFault);
		this.style = DOCUMENT;
		this.style = WRAPPED;
	}


	override protected function buildArgs(params:Array):Object{
	   var retObj:XML=new XML("<ItemSearch/>");
	   var ns:Namespace=XMLUtil.addNamespaceIfNeeded(retObj,"http://webservices.amazon.com/AWSECommerceService/2007-06-13");
	   retObj.setNamespace(ns);
	   var i:int=0;
	   var lxml:XML =null;
	   var lcxml:XMLListCollection =null;
	   if(params.length > i){
	   	lxml = getXML("MarketplaceDomain",params[i]) as XML;
	   	if(lxml){
	   	  retObj.appendChild(lxml);
	   	  ns = XMLUtil.addNamespaceIfNeeded(lxml,"http://webservices.amazon.com/AWSECommerceService/2007-06-13")
	   	  lxml.setNamespace(ns);
	   	}
	   	i++;
	   }
	   if(params.length > i){
	   	lxml = getXML("AWSAccessKeyId",params[i]) as XML;
	   	if(lxml){
	   	  retObj.appendChild(lxml);
	   	  ns = XMLUtil.addNamespaceIfNeeded(lxml,"http://webservices.amazon.com/AWSECommerceService/2007-06-13")
	   	  lxml.setNamespace(ns);
	   	}
	   	i++;
	   }
	   if(params.length > i){
	   	lxml = getXML("SubscriptionId",params[i]) as XML;
	   	if(lxml){
	   	  retObj.appendChild(lxml);
	   	  ns = XMLUtil.addNamespaceIfNeeded(lxml,"http://webservices.amazon.com/AWSECommerceService/2007-06-13")
	   	  lxml.setNamespace(ns);
	   	}
	   	i++;
	   }
	   if(params.length > i){
	   	lxml = getXML("AssociateTag",params[i]) as XML;
	   	if(lxml){
	   	  retObj.appendChild(lxml);
	   	  ns = XMLUtil.addNamespaceIfNeeded(lxml,"http://webservices.amazon.com/AWSECommerceService/2007-06-13")
	   	  lxml.setNamespace(ns);
	   	}
	   	i++;
	   }
	   if(params.length > i){
	   	lxml = getXML("XMLEscaping",params[i]) as XML;
	   	if(lxml){
	   	  retObj.appendChild(lxml);
	   	  ns = XMLUtil.addNamespaceIfNeeded(lxml,"http://webservices.amazon.com/AWSECommerceService/2007-06-13")
	   	  lxml.setNamespace(ns);
	   	}
	   	i++;
	   }
	   if(params.length > i){
	   	lxml = getXML("Validate",params[i]) as XML;
	   	if(lxml){
	   	  retObj.appendChild(lxml);
	   	  ns = XMLUtil.addNamespaceIfNeeded(lxml,"http://webservices.amazon.com/AWSECommerceService/2007-06-13")
	   	  lxml.setNamespace(ns);
	   	}
	   	i++;
	   }
	   if(params.length > i){
	   	lxml = getXML("Shared",params[i]) as XML;
	   	if(lxml){
	   	  retObj.appendChild(lxml);
	   	  ns = XMLUtil.addNamespaceIfNeeded(lxml,"http://webservices.amazon.com/AWSECommerceService/2007-06-13")
	   	  lxml.setNamespace(ns);
	   	}
	   	i++;
	   }
	   if(params.length > i){
	   	lcxml = getXML("Request",params[i]) as XMLListCollection;
	   	if(lcxml){
	   	  for each(lxml in lcxml){
	   		  retObj.appendChild(lxml);
	   	   	  ns = XMLUtil.addNamespaceIfNeeded(lxml,"http://webservices.amazon.com/AWSECommerceService/2007-06-13");
	   	   	  lxml.setNamespace(ns);
	   	  }
	   	}
	   	i++;
	   }
	   if(params.length > i){
	   	lxml = getXML("OperationRequest",params[i]) as XML;
	   	if(lxml){
	   	  retObj.appendChild(lxml);
	   	  ns = XMLUtil.addNamespaceIfNeeded(lxml,"http://webservices.amazon.com/AWSECommerceService/2007-06-13")
	   	  lxml.setNamespace(ns);
	   	}
	   	i++;
	   }
	   if(params.length > i){
	   	lcxml = getXML("Items",params[i]) as XMLListCollection;
	   	if(lcxml){
	   	  for each(lxml in lcxml){
	   		  retObj.appendChild(lxml);
	   	   	  ns = XMLUtil.addNamespaceIfNeeded(lxml,"http://webservices.amazon.com/AWSECommerceService/2007-06-13");
	   	   	  lxml.setNamespace(ns);
	   	  }
	   	}
	   	i++;
	   }
	   return retObj;
	}


    override protected function getReturnedObject(xml:XML):Object{
        xml = XMLUtil.removeNamespace(xml);
           var resObj:Object = XMLAble.fromXML(xml, ItemSearchResponse) as ItemSearchResponse;
    return resObj;
    }


	public function call(	    MarketplaceDomain:String,
	    AWSAccessKeyId:String,
	    SubscriptionId:String,
	    AssociateTag:String,
	    XMLEscaping:String,
	    Validate:String,
	    Shared:com.amazon.webservices.AWSECommerceService._2007_06_13.ItemSearchRequest,
	    Request:ArrayCollection	    /**com.amazon.webservices.AWSECommerceService._2007_06_13.ItemSearchRequest**/,
	    OperationRequest:com.amazon.webservices.AWSECommerceService._2007_06_13.OperationRequest,
	    Items:ArrayCollection	    /**com.amazon.webservices.AWSECommerceService._2007_06_13.Items**/):void{
	   send([MarketplaceDomain,AWSAccessKeyId,SubscriptionId,AssociateTag,XMLEscaping,Validate,Shared,Request,OperationRequest,Items]);
	}
}
}

Listing-2

<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="689" height="600">
	<mx:Script>
		<![CDATA[
			import mx.collections.ArrayCollection;
			import com.amazon.webservices.AWSECommerceService._2007_06_13.*;
			import com.packeteer.rpc.PacketOperation;
			
			import mx.rpc.events.FaultEvent;
			
			[Bindable]
			public var  searchIndexs:Array =["Apparel"];
			
			[Bindable]
			public var itemSearchResponse:ItemSearchResponse;
			
			[Bindable]
			public var items:ArrayCollection;
		
			public function searchAmazon():void{
				var oper1:ItemSearch=new
			ItemSearch("http://webservices.amazon.com/AWSECommerceService/AWSECommerceService.wsdl",onSuccess,onFault);
				var lReq:ItemSearchRequest = new ItemSearchRequest();
				lReq.searchIndex="Apparel";
				lReq.keywords="Shirt";
				var col:ArrayCollection = new ArrayCollection();
				col.addItem(lReq);
				oper1.call(null,"0K8EYY5Z00B7MCNQ2H82",null,null,null,null,null,col,null,null );
			}
			
							
			
			public function onSuccess(obj:Object):void{
				itemSearchResponse = obj as ItemSearchResponse;
				if( itemSearchResponse.items.length >0)
					items = (itemSearchResponse.items[0] as
					 com.amazon.webservices.AWSECommerceService._2007_06_13.Items).item;
				trace(itemSearchResponse.toXML("ItemSearchResponse").toXMLString());
			}
			
			public function onFault(event : FaultEvent):void{
				trace(event.fault.faultString);
			}
		]]>
	</mx:Script>
	<mx:Button x="574" y="36" label="Search Amazon" click="searchAmazon()"/>
	<mx:ComboBox x="10" y="36" id="searchIndex" editable="true" enabled="true" width="189"
	 dataProvider="{searchIndexs}"></mx:ComboBox>
	<mx:Text x="10" y="10" text="Search Index" width="85"/>
	<mx:Text x="336" y="10" text="Keyword"/>
	<mx:TextInput x="336" y="36" id="keyword" text="Shirt"/>
	<mx:DataGrid x="10" y="86" width="679" dataProvider="{items}" height="460">
		<mx:columns>
			<mx:DataGridColumn width="20" headerText="ASIN" dataField="ASIN"/>
			<mx:DataGridColumn width="40" headerText="Deatiled Page URL" dataField="detailPageURL"/>
			<mx:DataGridColumn width="40" headerText="Title" dataField="itemAttributes"/>
		</mx:columns>
	</mx:DataGrid>
	
</mx:WindowedApplication>