summaryrefslogtreecommitdiffstats
path: root/sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon
diff options
context:
space:
mode:
Diffstat (limited to 'sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon')
-rw-r--r--sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/README77
-rw-r--r--sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/build.xml74
-rw-r--r--sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/lib/AWS2007_05_14.jarbin0 -> 297809 bytes
-rw-r--r--sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/shoppingstore.pngbin0 -> 382749 bytes
-rw-r--r--sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/src/main/java/shoppingstore/server/ShoppingStoreServer.java25
-rw-r--r--sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/src/main/java/shoppingstore/services/cart/CartService.java35
-rw-r--r--sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/src/main/java/shoppingstore/services/cart/CartServiceImpl.java144
-rw-r--r--sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/src/main/java/shoppingstore/services/proxy/ShoppingStoreService.java30
-rw-r--r--sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/src/main/java/shoppingstore/services/proxy/ShoppingStoreServiceImpl.java49
-rw-r--r--sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/src/main/resources/shoppingstore.composite20
-rw-r--r--sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/src/main/resources/wsdl/shoppingstore.wsdl3023
11 files changed, 3477 insertions, 0 deletions
diff --git a/sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/README b/sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/README
new file mode 100644
index 0000000000..b5322f82c2
--- /dev/null
+++ b/sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/README
@@ -0,0 +1,77 @@
+Shopping Store Web Service Sample
+=================================
+This sample creates an shopping store application using Amazon's WS API interface. This sample intents to provide
+the same services provided by Amazon but implementing them as SCA components. These services are provided through
+a web service interface.
+
+If you just want to run it to see what happens you need to run the server first. So, open a command prompt, navigate
+to the shoppingstore sample directory and do:
+
+1 - "ant" to compile it
+2 - "ant run" to get the server up and running
+3 - You should see the following output from the run target:
+ run:
+ [java] log4j:WARN No appenders could be found for logger (org.apache.axiom.om.util.StAXUtils).
+ [java] log4j:WARN Please initialize the log4j system properly.
+ [java] ToyApp server started (press enter to shutdown)
+
+Once the server is running, it will be expecting requests from a client through its Web Service interface.
+
+The WSDL describing the WS interface can be obtained opening a web broeser pointing to
+http://localhost:8080/ShoppingStoreServiceComponent?wsdl
+
+
+Sample Overview
+---------------
+Currently, the sample provides two components:
+ 1 - ShoppingStoreService: that is wired to a reference with a web service binding and plays the role of a proxy service which offers all the operations exposed through the WSDL API and forwards every invocation to the actual service that in fact implements the service invoked.
+ 2 - CartService: currently, this is the only component offering an actual service through the Shopping Store. It provides the following operations: CartCreate, CartAdd, CartClear, CartGet.
+
+shoppingstore/
+ lib/
+ AWS2007_05_14.jar - The jar file containing all the classes generated out of Amazon's WSDL using
+ the Axis2's wsdl2java utility (the databinding used was jaxb)
+ src/
+ main/
+ java/
+ shoppingstore/
+ server/
+ ShoppingStoreServer.java - starts the SCA Runtime and deploys
+ the shoppingstore.composite.
+ In doing this, the SCA WSDL binding
+ acts to expose the ShoppingStoreService
+ over WS
+ services/
+ cart/
+ CartService.java - Java interface description for
+ CartServiceComponent
+ CartServiceImpl.java - component implementation
+ proxy/
+ ShoppingStoreService.java - Java interface description for
+ ShoppingStoreServiceComponent
+ ShoppingStoreServiceImpl.java - component implementation
+ resources/
+ wsdl/
+ shoppingstore.wsdl - the service description that the
+ SCA reference uses to bind to. This
+ wsdl file is very similar to Amazon's
+ WSDL released on May 14th, 2007. Only
+ two modifications were done:
+ 1 - Non-implemented services had to be
+ commented out from the WSDL
+ 2 - Its location was modified in order
+ for it to point to this sample's address
+ shoppingstore.composite - the SCA assembly for this sample
+ test/ - no test provided so far
+ shoppingstore.png - a pictorial representation of the
+ current status of the sample, plus future enhancements
+ build.xml - the Ant build file
+
+
+Building And Running The Sample Using Ant
+-----------------------------------------
+Take a look at the beginning of this document.
+
+Building And Running The Sample Using Maven
+-------------------------------------------
+No maven support has been implemented yet. \ No newline at end of file
diff --git a/sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/build.xml b/sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/build.xml
new file mode 100644
index 0000000000..0a455f52b7
--- /dev/null
+++ b/sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/build.xml
@@ -0,0 +1,74 @@
+<!--
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+-->
+<project name="sample-shoppingstore" default="compile">
+ <property name="server.class" value="shoppingstore.server.ShoppingStoreServer" />
+ <property name="server.jar" value="sample-shoppingstore.jar" />
+
+ <target name="init">
+ <mkdir dir="target/classes"/>
+ </target>
+
+ <target name="compile" depends="init">
+ <javac srcdir="src/main/java"
+ destdir="target/classes"
+ debug="on"
+ source="1.5"
+ target="1.5">
+ <classpath>
+ <pathelement location="../../lib/tuscany-sca-manifest.jar"/>
+ <pathelement location="./lib/AWS2007_05_14.jar"/>
+ </classpath>
+ </javac>
+ <copy todir="target/classes">
+ <fileset dir="src/main/resources"/>
+ </copy>
+ <jar destfile="target/${server.jar}" basedir="target/classes">
+ <manifest>
+ <attribute name="Main-Class" value="${server.class}" />
+ </manifest>
+ </jar>
+ </target>
+
+ <target name="run-classes">
+ <java classname="${test.class}"
+ fork="true">
+ <classpath>
+ <pathelement path="target/classes"/>
+ <pathelement location="../../lib/tuscany-sca-manifest.jar"/>
+ </classpath>
+ </java>
+ </target>
+
+ <target name="run">
+ <java classname="${server.class}"
+ fork="true">
+ <classpath>
+ <pathelement path="target/${server.jar}"/>
+ <pathelement location="../../lib/tuscany-sca-manifest.jar"/>
+ <pathelement location="./lib/AWS2007_05_14.jar"/>
+ </classpath>
+ </java>
+ </target>
+
+ <target name="clean">
+ <delete quiet="true" includeemptydirs="true">
+ <fileset dir="target"/>
+ </delete>
+ </target>
+</project>
diff --git a/sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/lib/AWS2007_05_14.jar b/sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/lib/AWS2007_05_14.jar
new file mode 100644
index 0000000000..4b5232fd3b
--- /dev/null
+++ b/sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/lib/AWS2007_05_14.jar
Binary files differ
diff --git a/sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/shoppingstore.png b/sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/shoppingstore.png
new file mode 100644
index 0000000000..e88abcbd58
--- /dev/null
+++ b/sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/shoppingstore.png
Binary files differ
diff --git a/sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/src/main/java/shoppingstore/server/ShoppingStoreServer.java b/sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/src/main/java/shoppingstore/server/ShoppingStoreServer.java
new file mode 100644
index 0000000000..486946b2fc
--- /dev/null
+++ b/sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/src/main/java/shoppingstore/server/ShoppingStoreServer.java
@@ -0,0 +1,25 @@
+package shoppingstore.server;
+
+import java.io.IOException;
+
+import org.apache.tuscany.sca.host.embedded.SCADomain;
+
+public class ShoppingStoreServer {
+
+ public static void main(String[] args) {
+
+ SCADomain scaDomain = SCADomain.newInstance("shoppingstore.composite");
+
+ try {
+ System.out.println("ToyApp server started (press enter to shutdown)");
+ System.in.read();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+
+ scaDomain.close();
+ System.out.println("ToyApp server stopped");
+ }
+
+
+}
diff --git a/sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/src/main/java/shoppingstore/services/cart/CartService.java b/sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/src/main/java/shoppingstore/services/cart/CartService.java
new file mode 100644
index 0000000000..e8f383c3e1
--- /dev/null
+++ b/sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/src/main/java/shoppingstore/services/cart/CartService.java
@@ -0,0 +1,35 @@
+package shoppingstore.services.cart;
+
+import org.osoa.sca.annotations.Remotable;
+
+import com.amazon.webservices.awsecommerceservice._2007_05_14.CartAdd;
+import com.amazon.webservices.awsecommerceservice._2007_05_14.CartAddResponse;
+import com.amazon.webservices.awsecommerceservice._2007_05_14.CartClear;
+import com.amazon.webservices.awsecommerceservice._2007_05_14.CartClearResponse;
+import com.amazon.webservices.awsecommerceservice._2007_05_14.CartCreate;
+import com.amazon.webservices.awsecommerceservice._2007_05_14.CartCreateResponse;
+import com.amazon.webservices.awsecommerceservice._2007_05_14.CartGet;
+import com.amazon.webservices.awsecommerceservice._2007_05_14.CartGetResponse;
+import com.amazon.webservices.awsecommerceservice._2007_05_14.CartModify;
+import com.amazon.webservices.awsecommerceservice._2007_05_14.CartModifyResponse;
+
+@Remotable
+public interface CartService {
+
+ public CartCreateResponse CartCreate(CartCreate cartCreate);
+
+ public CartAddResponse CartAdd(CartAdd cartAdd);
+
+ public CartModifyResponse CartModify(CartModify cartModify);
+
+ public CartClearResponse CartClear(CartClear cartClear);
+
+ public CartGetResponse CartGet(CartGet cartGet);
+
+ //@Init
+ //public void start();
+
+ //@Destroy
+ //public void stop();
+
+}
diff --git a/sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/src/main/java/shoppingstore/services/cart/CartServiceImpl.java b/sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/src/main/java/shoppingstore/services/cart/CartServiceImpl.java
new file mode 100644
index 0000000000..1579dbd60d
--- /dev/null
+++ b/sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/src/main/java/shoppingstore/services/cart/CartServiceImpl.java
@@ -0,0 +1,144 @@
+package shoppingstore.services.cart;
+
+import java.util.HashMap;
+
+import org.osoa.sca.annotations.Scope;
+
+import com.amazon.webservices.awsecommerceservice._2007_05_14.Cart;
+import com.amazon.webservices.awsecommerceservice._2007_05_14.CartAdd;
+import com.amazon.webservices.awsecommerceservice._2007_05_14.CartAddRequest;
+import com.amazon.webservices.awsecommerceservice._2007_05_14.CartAddResponse;
+import com.amazon.webservices.awsecommerceservice._2007_05_14.CartClear;
+import com.amazon.webservices.awsecommerceservice._2007_05_14.CartClearResponse;
+import com.amazon.webservices.awsecommerceservice._2007_05_14.CartCreate;
+import com.amazon.webservices.awsecommerceservice._2007_05_14.CartCreateResponse;
+import com.amazon.webservices.awsecommerceservice._2007_05_14.CartGet;
+import com.amazon.webservices.awsecommerceservice._2007_05_14.CartGetResponse;
+import com.amazon.webservices.awsecommerceservice._2007_05_14.CartItem;
+import com.amazon.webservices.awsecommerceservice._2007_05_14.CartItems;
+import com.amazon.webservices.awsecommerceservice._2007_05_14.CartModify;
+import com.amazon.webservices.awsecommerceservice._2007_05_14.CartModifyResponse;
+
+@Scope("COMPOSITE")
+public class CartServiceImpl implements CartService {
+
+ private static long ID = 0;
+
+ private HashMap<String, Cart> cartsHash = new HashMap<String, Cart>();
+
+ public CartAddResponse CartAdd(CartAdd cartAdd) {
+ System.out.println("Entering cartAdd...");
+ System.out.println("CartServiceID: " + this.toString());
+ CartAddResponse cartAddResponse = new CartAddResponse();
+
+ CartAddRequest cartAddRequest = cartAdd.getRequest().get(0);
+
+ //Cart cart = getCart(cartAddRequest.getCartId());
+ Cart cart = getCart(cartAdd.getAWSAccessKeyId());
+ if(cart == null){
+ cartAddResponse.getCart().add(new Cart());
+ return cartAddResponse;
+ }
+
+ CartItem cartItem = new CartItem();
+ cartItem.setASIN(cartAddRequest.getItems().getItem().get(0).getASIN());
+ cartItem.setQuantity(cartAddRequest.getItems().getItem().get(0).getQuantity().toString());
+ cart.getCartItems().getCartItem().add(cartItem);
+ cartAddResponse.getCart().add(cart);
+ System.out.println("Exiting cartAdd...");
+ return cartAddResponse;
+ }
+
+ public CartClearResponse CartClear(CartClear cartClear) {
+ System.out.println("CartServiceID: " + this.toString());
+ System.out.println("Entering cartClear...");
+ CartClearResponse cartClearResponse = new CartClearResponse();
+
+ //CartClearRequest cartClearRequest = cartClear.getRequest().get(0);
+
+ //Cart cart = getCart(cartClearRequest.getCartId());
+ Cart cart = getCart(cartClear.getAWSAccessKeyId());
+ if(cart == null) {
+ cartClearResponse.getCart().add(new Cart());
+ return cartClearResponse;
+ }
+
+ cart.getCartItems().getCartItem().clear();
+
+ cartClearResponse.getCart().add(cart);
+ System.out.println("Exiting cartClear...");
+ return cartClearResponse;
+ }
+
+ public CartCreateResponse CartCreate(CartCreate cartCreate) {
+ System.out.println("CartServiceID: " + this.toString());
+ System.out.println("Entering cartCreate...");
+ CartCreateResponse cartCreateResponse = new CartCreateResponse();
+
+ Cart cart = getCart(cartCreate.getAWSAccessKeyId());
+ if(cart != null){
+ cartCreateResponse.getCart().add(cart);
+ System.out.println("User " + cartCreate.getAWSAccessKeyId() + " has already created a cart with ID: " + cart.getCartId());
+ return cartCreateResponse;
+ }
+
+ cart = new Cart();
+ cart.setCartId(this.generateID());
+ cart.setCartItems(new CartItems());
+ addCart(cartCreate.getAWSAccessKeyId(), cart);
+
+ cartCreateResponse.getCart().add(cart);
+ System.out.println("Exiting cartCreate...");
+ return cartCreateResponse;
+ }
+
+ public CartGetResponse CartGet(CartGet cartGet) {
+ System.out.println("CartServiceID: " + this.toString());
+ System.out.println("Entering cartGet...");
+ CartGetResponse cartGetResponse = new CartGetResponse();
+
+ //CartGetRequest cartGetRequest = cartGet.getRequest().get(0);
+
+ //Cart cart = getCart(cartGetRequest.getCartId());
+ Cart cart = getCart(cartGet.getAWSAccessKeyId());
+ if(cart == null){
+ cartGetResponse.getCart().add(new Cart());
+ return cartGetResponse;
+ }
+
+ cartGetResponse.getCart().add(cart);
+ System.out.println("Exiting cartGet...");
+ return cartGetResponse;
+ }
+
+ public CartModifyResponse CartModify(CartModify cartModify) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ private synchronized String generateID(){
+ ID++;
+ return String.valueOf(ID);
+ }
+
+
+ private Cart getCart(String cartId){
+ Cart cart = null;
+ System.out.println(this.cartsHash.toString());
+ cart = this.cartsHash.get(cartId);
+ return cart;
+ }
+
+ private void addCart(String cartId, Cart cart){
+ this.cartsHash.put(cartId, cart);
+ }
+/*
+ public void start() {
+ System.out.println("Start CartService...");
+ }
+
+ public void stop() {
+ System.out.println("Stop CartService...");
+ }
+*/
+}
diff --git a/sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/src/main/java/shoppingstore/services/proxy/ShoppingStoreService.java b/sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/src/main/java/shoppingstore/services/proxy/ShoppingStoreService.java
new file mode 100644
index 0000000000..207125ac75
--- /dev/null
+++ b/sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/src/main/java/shoppingstore/services/proxy/ShoppingStoreService.java
@@ -0,0 +1,30 @@
+package shoppingstore.services.proxy;
+
+import org.osoa.sca.annotations.Remotable;
+
+import com.amazon.webservices.awsecommerceservice._2007_05_14.CartAdd;
+import com.amazon.webservices.awsecommerceservice._2007_05_14.CartAddResponse;
+import com.amazon.webservices.awsecommerceservice._2007_05_14.CartClear;
+import com.amazon.webservices.awsecommerceservice._2007_05_14.CartClearResponse;
+import com.amazon.webservices.awsecommerceservice._2007_05_14.CartCreate;
+import com.amazon.webservices.awsecommerceservice._2007_05_14.CartCreateResponse;
+import com.amazon.webservices.awsecommerceservice._2007_05_14.CartGet;
+import com.amazon.webservices.awsecommerceservice._2007_05_14.CartGetResponse;
+import com.amazon.webservices.awsecommerceservice._2007_05_14.CartModify;
+import com.amazon.webservices.awsecommerceservice._2007_05_14.CartModifyResponse;
+
+
+@Remotable
+public interface ShoppingStoreService{
+
+ public CartCreateResponse CartCreate(CartCreate cartCreate);
+
+ public CartAddResponse CartAdd(CartAdd cartAdd);
+
+ public CartModifyResponse CartModify(CartModify cartModify);
+
+ public CartClearResponse CartClear(CartClear cartClear);
+
+ public CartGetResponse CartGet(CartGet cartGet);
+
+}
diff --git a/sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/src/main/java/shoppingstore/services/proxy/ShoppingStoreServiceImpl.java b/sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/src/main/java/shoppingstore/services/proxy/ShoppingStoreServiceImpl.java
new file mode 100644
index 0000000000..8a73631cbb
--- /dev/null
+++ b/sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/src/main/java/shoppingstore/services/proxy/ShoppingStoreServiceImpl.java
@@ -0,0 +1,49 @@
+package shoppingstore.services.proxy;
+
+import org.osoa.sca.annotations.Reference;
+import org.osoa.sca.annotations.Scope;
+
+import shoppingstore.services.cart.CartService;
+
+import com.amazon.webservices.awsecommerceservice._2007_05_14.CartAddResponse;
+import com.amazon.webservices.awsecommerceservice._2007_05_14.CartClearResponse;
+import com.amazon.webservices.awsecommerceservice._2007_05_14.CartCreateResponse;
+import com.amazon.webservices.awsecommerceservice._2007_05_14.CartGetResponse;
+import com.amazon.webservices.awsecommerceservice._2007_05_14.CartModifyResponse;
+
+@Scope("COMPOSITE")
+public class ShoppingStoreServiceImpl implements ShoppingStoreService {
+
+ private CartService cartService;
+
+ @Reference
+ public void setCartService(CartService cartService) {
+ this.cartService = cartService;
+ }
+
+ public CartAddResponse CartAdd(
+ com.amazon.webservices.awsecommerceservice._2007_05_14.CartAdd cartAdd) {
+ return cartService.CartAdd(cartAdd);
+ }
+
+ public CartClearResponse CartClear(
+ com.amazon.webservices.awsecommerceservice._2007_05_14.CartClear cartClear) {
+ return cartService.CartClear(cartClear);
+ }
+
+ public CartCreateResponse CartCreate(
+ com.amazon.webservices.awsecommerceservice._2007_05_14.CartCreate cartCreate) {
+ return cartService.CartCreate(cartCreate);
+ }
+
+ public CartGetResponse CartGet(
+ com.amazon.webservices.awsecommerceservice._2007_05_14.CartGet cartGet) {
+ return cartService.CartGet(cartGet);
+ }
+
+ public CartModifyResponse CartModify(
+ com.amazon.webservices.awsecommerceservice._2007_05_14.CartModify cartModify) {
+ return cartService.CartModify(cartModify);
+ }
+
+}
diff --git a/sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/src/main/resources/shoppingstore.composite b/sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/src/main/resources/shoppingstore.composite
new file mode 100644
index 0000000000..f03ce10d3b
--- /dev/null
+++ b/sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/src/main/resources/shoppingstore.composite
@@ -0,0 +1,20 @@
+<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"
+ targetNamespace="http://webservices.amazon.com/AWSECommerceService/2007-05-14"
+ xmlns:tns="http://webservices.amazon.com/AWSECommerceService/2007-05-14"
+ xmlns:db="http://tuscany.apache.org/xmlns/databinding/1.0"
+ name="ShoppingStore">
+
+ <component name="ShoppingStoreServiceComponent">
+ <service name="ShoppingStoreService" >
+ <interface.wsdl interface="http://webservices.amazon.com/AWSECommerceService/2007-05-14#wsdl.interface(AWSECommerceServicePortType)" />
+ <binding.ws />
+ <db:databinding name="jaxb" />
+ </service>
+ <implementation.java class="shoppingstore.services.proxy.ShoppingStoreServiceImpl" />
+ <reference name="cartService" target="CartServiceComponent"></reference>
+ </component>
+
+ <component name="CartServiceComponent">
+ <implementation.java class="shoppingstore.services.cart.CartServiceImpl" />
+ </component>
+</composite> \ No newline at end of file
diff --git a/sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/src/main/resources/wsdl/shoppingstore.wsdl b/sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/src/main/resources/wsdl/shoppingstore.wsdl
new file mode 100644
index 0000000000..22eba787c6
--- /dev/null
+++ b/sandbox/sebastien/java/sca-node/tutorial/www-services/catalog-amazon/cart-amazon/src/main/resources/wsdl/shoppingstore.wsdl
@@ -0,0 +1,3023 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://webservices.amazon.com/AWSECommerceService/2007-05-14" targetNamespace="http://webservices.amazon.com/AWSECommerceService/2007-05-14">
+ <types>
+ <xs:schema targetNamespace="http://webservices.amazon.com/AWSECommerceService/2007-05-14" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://webservices.amazon.com/AWSECommerceService/2007-05-14" elementFormDefault="qualified">
+ <!-- xs:element name="Bin">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="BinName" type="xs:string"/>
+ <xs:element name="BinItemCount" type="xs:positiveInteger"/>
+ <xs:element name="BinParameter" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Name" type="xs:string"/>
+ <xs:element name="Value" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="SearchBinSet">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:Bin" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="NarrowBy" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="SearchBinSets">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:SearchBinSet" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Help">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="MarketplaceDomain" type="xs:string" minOccurs="0"/>
+ <xs:element name="AWSAccessKeyId" type="xs:string" minOccurs="0"/>
+ <xs:element name="SubscriptionId" type="xs:string" minOccurs="0"/>
+ <xs:element name="AssociateTag" type="xs:string" minOccurs="0"/>
+ <xs:element name="Validate" type="xs:string" minOccurs="0"/>
+ <xs:element name="Shared" type="tns:HelpRequest" minOccurs="0"/>
+ <xs:element name="Request" type="tns:HelpRequest" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:complexType name="HelpRequest">
+ <xs:sequence>
+ <xs:element name="About" type="xs:string" minOccurs="0" maxOccurs="1"/>
+ <xs:element name="HelpType" minOccurs="0">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="Operation"/>
+ <xs:enumeration value="ResponseGroup"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="ResponseGroup" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="ItemSearch">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="MarketplaceDomain" type="xs:string" minOccurs="0"/>
+ <xs:element name="AWSAccessKeyId" type="xs:string" minOccurs="0"/>
+ <xs:element name="SubscriptionId" type="xs:string" minOccurs="0"/>
+ <xs:element name="AssociateTag" type="xs:string" minOccurs="0"/>
+ <xs:element name="XMLEscaping" type="xs:string" minOccurs="0"/>
+ <xs:element name="Validate" type="xs:string" minOccurs="0"/>
+ <xs:element name="Shared" type="tns:ItemSearchRequest" minOccurs="0"/>
+ <xs:element name="Request" type="tns:ItemSearchRequest" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:complexType name="ItemSearchRequest">
+ <xs:sequence>
+ <xs:element name="Actor" type="xs:string" minOccurs="0"/>
+ <xs:element name="Artist" type="xs:string" minOccurs="0"/>
+ <xs:element name="Availability" minOccurs="0">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="Available"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element ref="tns:AudienceRating" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="Author" type="xs:string" minOccurs="0"/>
+ <xs:element name="Brand" type="xs:string" minOccurs="0"/>
+ <xs:element name="BrowseNode" type="xs:string" minOccurs="0"/>
+ <xs:element name="City" type="xs:string" minOccurs="0"/>
+ <xs:element name="Composer" type="xs:string" minOccurs="0"/>
+ <xs:element ref="tns:Condition" minOccurs="0"/>
+ <xs:element name="Conductor" type="xs:string" minOccurs="0"/>
+ <xs:element name="Count" type="xs:positiveInteger" minOccurs="0">
+ <xs:annotation>
+ <xs:appinfo>
+ <aws-se:restricted xmlns:aws-se="http://webservices.amazon.com/AWS-SchemaExtensions">
+ <aws-se:excludeFrom>public</aws-se:excludeFrom>
+ <aws-se:excludeFrom>partner</aws-se:excludeFrom>
+ </aws-se:restricted>
+ </xs:appinfo>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Cuisine" type="xs:string" minOccurs="0"/>
+ <xs:element ref="tns:DeliveryMethod" minOccurs="0"/>
+ <xs:element name="Director" type="xs:string" minOccurs="0"/>
+ <xs:element name="FutureLaunchDate" type="xs:string" minOccurs="0"/>
+ <xs:element name="ISPUPostalCode" type="xs:string" minOccurs="0"/>
+ <xs:element name="ItemPage" type="xs:positiveInteger" minOccurs="0"/>
+ <xs:element name="Keywords" type="xs:string" minOccurs="0"/>
+ <xs:element name="Manufacturer" type="xs:string" minOccurs="0"/>
+ <xs:element name="MaximumPrice" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="MerchantId" type="xs:string" minOccurs="0"/>
+ <xs:element name="MinimumPrice" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="MusicLabel" type="xs:string" minOccurs="0"/>
+ <xs:element name="Neighborhood" type="xs:string" minOccurs="0"/>
+ <xs:element name="Orchestra" type="xs:string" minOccurs="0"/>
+ <xs:element name="PostalCode" type="xs:string" minOccurs="0"/>
+ <xs:element name="Power" type="xs:string" minOccurs="0"/>
+ <xs:element name="Publisher" type="xs:string" minOccurs="0"/>
+ <xs:element name="ResponseGroup" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="ReviewSort" type="xs:string" minOccurs="0"/>
+ <xs:element name="SearchIndex" type="xs:string" minOccurs="0"/>
+ <xs:element name="Sort" type="xs:string" minOccurs="0"/>
+ <xs:element name="State" type="xs:string" minOccurs="0"/>
+ <xs:element name="TextStream" type="xs:string" minOccurs="0"/>
+ <xs:element name="Title" type="xs:string" minOccurs="0"/>
+ <xs:element name="ReleaseDate" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="ItemLookup">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="MarketplaceDomain" type="xs:string" minOccurs="0"/>
+ <xs:element name="AWSAccessKeyId" type="xs:string" minOccurs="0"/>
+ <xs:element name="SubscriptionId" type="xs:string" minOccurs="0"/>
+ <xs:element name="AssociateTag" type="xs:string" minOccurs="0"/>
+ <xs:element name="Validate" type="xs:string" minOccurs="0"/>
+ <xs:element name="XMLEscaping" type="xs:string" minOccurs="0"/>
+ <xs:element name="Shared" type="tns:ItemLookupRequest" minOccurs="0"/>
+ <xs:element name="Request" type="tns:ItemLookupRequest" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:complexType name="ItemLookupRequest">
+ <xs:sequence>
+ <xs:element ref="tns:Condition" minOccurs="0"/>
+ <xs:element ref="tns:DeliveryMethod" minOccurs="0"/>
+ <xs:element name="FutureLaunchDate" type="xs:string" minOccurs="0"/>
+ <xs:element name="IdType" minOccurs="0">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="ASIN"/>
+ <xs:enumeration value="UPC"/>
+ <xs:enumeration value="SKU"/>
+ <xs:enumeration value="EAN"/>
+ <xs:enumeration value="ISBN"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="ISPUPostalCode" type="xs:string" minOccurs="0"/>
+ <xs:element name="MerchantId" type="xs:string" minOccurs="0"/>
+ <xs:element name="OfferPage" type="xs:positiveInteger" minOccurs="0"/>
+ <xs:element name="ItemId" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="ResponseGroup" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="ReviewPage" type="xs:positiveInteger" minOccurs="0"/>
+ <xs:element name="ReviewSort" type="xs:string" minOccurs="0"/>
+ <xs:element name="SearchIndex" type="xs:string" minOccurs="0"/>
+ <xs:element name="SearchInsideKeywords" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:appinfo>
+ <aws-se:restricted xmlns:aws-se="http://webservices.amazon.com/AWS-SchemaExtensions">
+ <aws-se:excludeFrom>public</aws-se:excludeFrom>
+ <aws-se:excludeFrom>partner</aws-se:excludeFrom>
+ </aws-se:restricted>
+ </xs:appinfo>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="VariationPage" type="tns:positiveIntegerOrAll" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="ListSearch">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="MarketplaceDomain" type="xs:string" minOccurs="0"/>
+ <xs:element name="AWSAccessKeyId" type="xs:string" minOccurs="0"/>
+ <xs:element name="SubscriptionId" type="xs:string" minOccurs="0"/>
+ <xs:element name="AssociateTag" type="xs:string" minOccurs="0"/>
+ <xs:element name="Validate" type="xs:string" minOccurs="0"/>
+ <xs:element name="XMLEscaping" type="xs:string" minOccurs="0"/>
+ <xs:element name="Shared" type="tns:ListSearchRequest" minOccurs="0"/>
+ <xs:element name="Request" type="tns:ListSearchRequest" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:complexType name="ListSearchRequest">
+ <xs:sequence>
+ <xs:element name="City" type="xs:string" minOccurs="0"/>
+ <xs:element name="Email" type="xs:string" minOccurs="0"/>
+ <xs:element name="FirstName" type="xs:string" minOccurs="0"/>
+ <xs:element name="LastName" type="xs:string" minOccurs="0"/>
+ <xs:element name="ListPage" type="xs:positiveInteger" minOccurs="0"/>
+ <xs:element name="ListType">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="WishList"/>
+ <xs:enumeration value="WeddingRegistry"/>
+ <xs:enumeration value="BabyRegistry"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="Name" type="xs:string" minOccurs="0"/>
+ <xs:element name="ResponseGroup" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="State" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="ListLookup">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="MarketplaceDomain" type="xs:string" minOccurs="0"/>
+ <xs:element name="AWSAccessKeyId" type="xs:string" minOccurs="0"/>
+ <xs:element name="SubscriptionId" type="xs:string" minOccurs="0"/>
+ <xs:element name="AssociateTag" type="xs:string" minOccurs="0"/>
+ <xs:element name="Validate" type="xs:string" minOccurs="0"/>
+ <xs:element name="XMLEscaping" type="xs:string" minOccurs="0"/>
+ <xs:element name="Shared" type="tns:ListLookupRequest" minOccurs="0"/>
+ <xs:element name="Request" type="tns:ListLookupRequest" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:complexType name="ListLookupRequest">
+ <xs:sequence>
+ <xs:element ref="tns:Condition" minOccurs="0"/>
+ <xs:element ref="tns:DeliveryMethod" minOccurs="0"/>
+ <xs:element name="ISPUPostalCode" type="xs:string" minOccurs="0"/>
+ <xs:element name="ListId" type="xs:string" minOccurs="0"/>
+ <xs:element name="ListType" minOccurs="0">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="WishList"/>
+ <xs:enumeration value="Listmania"/>
+ <xs:enumeration value="WeddingRegistry"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="MerchantId" type="xs:string" minOccurs="0"/>
+ <xs:element name="ProductGroup" type="xs:string" minOccurs="0"/>
+ <xs:element name="ProductPage" type="xs:positiveInteger" minOccurs="0"/>
+ <xs:element name="ResponseGroup" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="ReviewSort" type="xs:string" minOccurs="0"/>
+ <xs:element name="Sort" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="CustomerContentSearch">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="MarketplaceDomain" type="xs:string" minOccurs="0"/>
+ <xs:element name="AWSAccessKeyId" type="xs:string" minOccurs="0"/>
+ <xs:element name="SubscriptionId" type="xs:string" minOccurs="0"/>
+ <xs:element name="AssociateTag" type="xs:string" minOccurs="0"/>
+ <xs:element name="Validate" type="xs:string" minOccurs="0"/>
+ <xs:element name="XMLEscaping" type="xs:string" minOccurs="0"/>
+ <xs:element name="Shared" type="tns:CustomerContentSearchRequest" minOccurs="0"/>
+ <xs:element name="Request" type="tns:CustomerContentSearchRequest" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:complexType name="CustomerContentSearchRequest">
+ <xs:sequence>
+ <xs:element name="CustomerPage" type="xs:positiveInteger" minOccurs="0"/>
+ <xs:element name="Email" type="xs:string" minOccurs="0"/>
+ <xs:element name="Name" type="xs:string" minOccurs="0"/>
+ <xs:element name="ResponseGroup" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="CustomerContentLookup">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="MarketplaceDomain" type="xs:string" minOccurs="0"/>
+ <xs:element name="AWSAccessKeyId" type="xs:string" minOccurs="0"/>
+ <xs:element name="SubscriptionId" type="xs:string" minOccurs="0"/>
+ <xs:element name="AssociateTag" type="xs:string" minOccurs="0"/>
+ <xs:element name="Validate" type="xs:string" minOccurs="0"/>
+ <xs:element name="XMLEscaping" type="xs:string" minOccurs="0"/>
+ <xs:element name="Shared" type="tns:CustomerContentLookupRequest" minOccurs="0"/>
+ <xs:element name="Request" type="tns:CustomerContentLookupRequest" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:complexType name="CustomerContentLookupRequest">
+ <xs:sequence>
+ <xs:element name="CustomerId" type="xs:string" minOccurs="0"/>
+ <xs:element name="ResponseGroup" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="ReviewPage" type="xs:positiveInteger" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="SimilarityLookup">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="MarketplaceDomain" type="xs:string" minOccurs="0"/>
+ <xs:element name="AWSAccessKeyId" type="xs:string" minOccurs="0"/>
+ <xs:element name="SubscriptionId" type="xs:string" minOccurs="0"/>
+ <xs:element name="AssociateTag" type="xs:string" minOccurs="0"/>
+ <xs:element name="Validate" type="xs:string" minOccurs="0"/>
+ <xs:element name="XMLEscaping" type="xs:string" minOccurs="0"/>
+ <xs:element name="Shared" type="tns:SimilarityLookupRequest" minOccurs="0"/>
+ <xs:element name="Request" type="tns:SimilarityLookupRequest" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:complexType name="SimilarityLookupRequest">
+ <xs:sequence>
+ <xs:element ref="tns:Condition" minOccurs="0"/>
+ <xs:element ref="tns:DeliveryMethod" minOccurs="0"/>
+ <xs:element name="ItemId" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="ISPUPostalCode" type="xs:string" minOccurs="0"/>
+ <xs:element name="MerchantId" type="xs:string" minOccurs="0"/>
+ <xs:element name="ResponseGroup" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="ReviewSort" type="xs:string" minOccurs="0"/>
+ <xs:element name="SimilarityType" minOccurs="0">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="Intersection"/>
+ <xs:enumeration value="Random"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="SellerLookup">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="MarketplaceDomain" type="xs:string" minOccurs="0"/>
+ <xs:element name="AWSAccessKeyId" type="xs:string" minOccurs="0"/>
+ <xs:element name="SubscriptionId" type="xs:string" minOccurs="0"/>
+ <xs:element name="AssociateTag" type="xs:string" minOccurs="0"/>
+ <xs:element name="Validate" type="xs:string" minOccurs="0"/>
+ <xs:element name="XMLEscaping" type="xs:string" minOccurs="0"/>
+ <xs:element name="Shared" type="tns:SellerLookupRequest" minOccurs="0"/>
+ <xs:element name="Request" type="tns:SellerLookupRequest" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:complexType name="SellerLookupRequest">
+ <xs:sequence>
+ <xs:element name="ResponseGroup" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="SellerId" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="FeedbackPage" type="xs:positiveInteger" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType -->
+ <xs:element name="CartGet">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="MarketplaceDomain" type="xs:string" minOccurs="0"/>
+ <xs:element name="AWSAccessKeyId" type="xs:string" minOccurs="0"/>
+ <xs:element name="SubscriptionId" type="xs:string" minOccurs="0"/>
+ <xs:element name="AssociateTag" type="xs:string" minOccurs="0"/>
+ <xs:element name="Validate" type="xs:string" minOccurs="0"/>
+ <xs:element name="XMLEscaping" type="xs:string" minOccurs="0"/>
+ <xs:element name="Shared" type="tns:CartGetRequest" minOccurs="0"/>
+ <xs:element name="Request" type="tns:CartGetRequest" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:complexType name="CartGetRequest">
+ <xs:sequence>
+ <xs:element name="CartId" type="xs:string" minOccurs="0"/>
+ <xs:element name="HMAC" type="xs:string" minOccurs="0"/>
+ <xs:element name="MergeCart" type="xs:string" minOccurs="0"/>
+ <xs:element name="ResponseGroup" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="CartAdd">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="MarketplaceDomain" type="xs:string" minOccurs="0"/>
+ <xs:element name="AWSAccessKeyId" type="xs:string" minOccurs="0"/>
+ <xs:element name="SubscriptionId" type="xs:string" minOccurs="0"/>
+ <xs:element name="AssociateTag" type="xs:string" minOccurs="0"/>
+ <xs:element name="Validate" type="xs:string" minOccurs="0"/>
+ <xs:element name="XMLEscaping" type="xs:string" minOccurs="0"/>
+ <xs:element name="Shared" type="tns:CartAddRequest" minOccurs="0"/>
+ <xs:element name="Request" type="tns:CartAddRequest" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:complexType name="CartAddRequest">
+ <xs:sequence>
+ <xs:element name="CartId" type="xs:string" minOccurs="0"/>
+ <xs:element name="HMAC" type="xs:string" minOccurs="0"/>
+ <xs:element name="MergeCart" type="xs:string" minOccurs="0"/>
+ <xs:element name="Items" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Item" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="ASIN" type="xs:string" minOccurs="0"/>
+ <xs:element name="OfferListingId" type="xs:string" minOccurs="0"/>
+ <xs:element name="Quantity" type="xs:positiveInteger" minOccurs="0"/>
+ <xs:element name="AssociateTag" type="xs:string" minOccurs="0"/>
+ <xs:element name="ListItemId" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ResponseGroup" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="CartCreate">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="MarketplaceDomain" type="xs:string" minOccurs="0"/>
+ <xs:element name="AWSAccessKeyId" type="xs:string" minOccurs="0"/>
+ <xs:element name="SubscriptionId" type="xs:string" minOccurs="0"/>
+ <xs:element name="AssociateTag" type="xs:string" minOccurs="0"/>
+ <xs:element name="Validate" type="xs:string" minOccurs="0"/>
+ <xs:element name="XMLEscaping" type="xs:string" minOccurs="0"/>
+ <xs:element name="Shared" type="tns:CartCreateRequest" minOccurs="0"/>
+ <xs:element name="Request" type="tns:CartCreateRequest" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:complexType name="CartCreateRequest">
+ <xs:sequence>
+ <xs:element name="MergeCart" type="xs:string" minOccurs="0"/>
+ <xs:element name="Items" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Item" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="ASIN" type="xs:string" minOccurs="0"/>
+ <xs:element name="OfferListingId" type="xs:string" minOccurs="0"/>
+ <xs:element name="Quantity" type="xs:positiveInteger" minOccurs="0"/>
+ <xs:element name="AssociateTag" type="xs:string" minOccurs="0"/>
+ <xs:element name="ListItemId" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ResponseGroup" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="CartModify">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="MarketplaceDomain" type="xs:string" minOccurs="0"/>
+ <xs:element name="AWSAccessKeyId" type="xs:string" minOccurs="0"/>
+ <xs:element name="SubscriptionId" type="xs:string" minOccurs="0"/>
+ <xs:element name="AssociateTag" type="xs:string" minOccurs="0"/>
+ <xs:element name="Validate" type="xs:string" minOccurs="0"/>
+ <xs:element name="XMLEscaping" type="xs:string" minOccurs="0"/>
+ <xs:element name="Shared" type="tns:CartModifyRequest" minOccurs="0"/>
+ <xs:element name="Request" type="tns:CartModifyRequest" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:complexType name="CartModifyRequest">
+ <xs:sequence>
+ <xs:element name="CartId" type="xs:string" minOccurs="0"/>
+ <xs:element name="HMAC" type="xs:string" minOccurs="0"/>
+ <xs:element name="MergeCart" type="xs:string" minOccurs="0"/>
+ <xs:element name="Items" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Item" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Action" minOccurs="0">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="MoveToCart"/>
+ <xs:enumeration value="SaveForLater"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="CartItemId" type="xs:string" minOccurs="0"/>
+ <xs:element name="Quantity" type="xs:nonNegativeInteger" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ResponseGroup" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="CartClear">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="MarketplaceDomain" type="xs:string" minOccurs="0"/>
+ <xs:element name="AWSAccessKeyId" type="xs:string" minOccurs="0"/>
+ <xs:element name="SubscriptionId" type="xs:string" minOccurs="0"/>
+ <xs:element name="AssociateTag" type="xs:string" minOccurs="0"/>
+ <xs:element name="Validate" type="xs:string" minOccurs="0"/>
+ <xs:element name="XMLEscaping" type="xs:string" minOccurs="0"/>
+ <xs:element name="Shared" type="tns:CartClearRequest" minOccurs="0"/>
+ <xs:element name="Request" type="tns:CartClearRequest" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:complexType name="CartClearRequest">
+ <xs:sequence>
+ <xs:element name="CartId" type="xs:string" minOccurs="0"/>
+ <xs:element name="HMAC" type="xs:string" minOccurs="0"/>
+ <xs:element name="MergeCart" type="xs:string" minOccurs="0"/>
+ <xs:element name="ResponseGroup" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <!-- xs:element name="TransactionLookup">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="MarketplaceDomain" type="xs:string" minOccurs="0"/>
+ <xs:element name="AWSAccessKeyId" type="xs:string" minOccurs="0"/>
+ <xs:element name="SubscriptionId" type="xs:string" minOccurs="0"/>
+ <xs:element name="AssociateTag" type="xs:string" minOccurs="0"/>
+ <xs:element name="Validate" type="xs:string" minOccurs="0"/>
+ <xs:element name="XMLEscaping" type="xs:string" minOccurs="0"/>
+ <xs:element name="Shared" type="tns:TransactionLookupRequest" minOccurs="0"/>
+ <xs:element name="Request" type="tns:TransactionLookupRequest" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:complexType name="TransactionLookupRequest">
+ <xs:sequence>
+ <xs:element name="ResponseGroup" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="TransactionId" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="SellerListingSearch">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="MarketplaceDomain" type="xs:string" minOccurs="0"/>
+ <xs:element name="AWSAccessKeyId" type="xs:string" minOccurs="0"/>
+ <xs:element name="SubscriptionId" type="xs:string" minOccurs="0"/>
+ <xs:element name="AssociateTag" type="xs:string" minOccurs="0"/>
+ <xs:element name="Validate" type="xs:string" minOccurs="0"/>
+ <xs:element name="XMLEscaping" type="xs:string" minOccurs="0"/>
+ <xs:element name="Shared" type="tns:SellerListingSearchRequest" minOccurs="0"/>
+ <xs:element name="Request" type="tns:SellerListingSearchRequest" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:complexType name="SellerListingSearchRequest">
+ <xs:sequence>
+ <xs:element name="Keywords" type="xs:string" minOccurs="0"/>
+ <xs:element name="ListingPage" type="xs:positiveInteger" minOccurs="0"/>
+ <xs:element name="OfferStatus" minOccurs="0">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="Open"/>
+ <xs:enumeration value="Closed"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="ResponseGroup" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="SellerId" type="xs:string" minOccurs="1"/>
+ <xs:element name="Sort" type="xs:string" minOccurs="0"/>
+ <xs:element name="Title" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="SellerListingLookup">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="MarketplaceDomain" type="xs:string" minOccurs="0"/>
+ <xs:element name="AWSAccessKeyId" type="xs:string" minOccurs="0"/>
+ <xs:element name="SubscriptionId" type="xs:string" minOccurs="0"/>
+ <xs:element name="AssociateTag" type="xs:string" minOccurs="0"/>
+ <xs:element name="Validate" type="xs:string" minOccurs="0"/>
+ <xs:element name="XMLEscaping" type="xs:string" minOccurs="0"/>
+ <xs:element name="Shared" type="tns:SellerListingLookupRequest" minOccurs="0"/>
+ <xs:element name="Request" type="tns:SellerListingLookupRequest" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:complexType name="SellerListingLookupRequest">
+ <xs:sequence>
+ <xs:element name="Id" type="xs:string"/>
+ <xs:element name="SellerId" type="xs:string" minOccurs="0"/>
+ <xs:element name="IdType">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="Exchange"/>
+ <xs:enumeration value="Listing"/>
+ <xs:enumeration value="ASIN"/>
+ <xs:enumeration value="SKU"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="ResponseGroup" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="BrowseNodeLookup">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="MarketplaceDomain" type="xs:string" minOccurs="0"/>
+ <xs:element name="AWSAccessKeyId" type="xs:string" minOccurs="0"/>
+ <xs:element name="SubscriptionId" type="xs:string" minOccurs="0"/>
+ <xs:element name="AssociateTag" type="xs:string" minOccurs="0"/>
+ <xs:element name="Validate" type="xs:string" minOccurs="0"/>
+ <xs:element name="XMLEscaping" type="xs:string" minOccurs="0"/>
+ <xs:element name="Shared" type="tns:BrowseNodeLookupRequest" minOccurs="0"/>
+ <xs:element name="Request" type="tns:BrowseNodeLookupRequest" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:complexType name="BrowseNodeLookupRequest">
+ <xs:sequence>
+ <xs:element name="BrowseNodeId" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="ResponseGroup" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="Condition">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="All"/>
+ <xs:enumeration value="New"/>
+ <xs:enumeration value="Used"/>
+ <xs:enumeration value="Collectible"/>
+ <xs:enumeration value="Refurbished"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="DeliveryMethod">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="Ship"/>
+ <xs:enumeration value="ISPU"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="AudienceRating">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="G"/>
+ <xs:enumeration value="PG"/>
+ <xs:enumeration value="PG-13"/>
+ <xs:enumeration value="R"/>
+ <xs:enumeration value="NC-17"/>
+ <xs:enumeration value="NR"/>
+ <xs:enumeration value="Unrated"/>
+ <xs:enumeration value="6"/>
+ <xs:enumeration value="12"/>
+ <xs:enumeration value="16"/>
+ <xs:enumeration value="18"/>
+ <xs:enumeration value="FamilyViewing"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="MultiOperation">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:Help" minOccurs="0"/>
+ <xs:element ref="tns:ItemSearch" minOccurs="0"/>
+ <xs:element ref="tns:ItemLookup" minOccurs="0"/>
+ <xs:element ref="tns:ListSearch" minOccurs="0"/>
+ <xs:element ref="tns:ListLookup" minOccurs="0"/>
+ <xs:element ref="tns:CustomerContentSearch" minOccurs="0"/>
+ <xs:element ref="tns:CustomerContentLookup" minOccurs="0"/>
+ <xs:element ref="tns:SimilarityLookup" minOccurs="0"/>
+ <xs:element ref="tns:SellerLookup" minOccurs="0"/>
+ <xs:element ref="tns:CartGet" minOccurs="0"/>
+ <xs:element ref="tns:CartAdd" minOccurs="0"/>
+ <xs:element ref="tns:CartCreate" minOccurs="0"/>
+ <xs:element ref="tns:CartModify" minOccurs="0"/>
+ <xs:element ref="tns:CartClear" minOccurs="0"/>
+ <xs:element ref="tns:TransactionLookup" minOccurs="0"/>
+ <xs:element ref="tns:SellerListingSearch" minOccurs="0"/>
+ <xs:element ref="tns:SellerListingLookup" minOccurs="0"/>
+ <xs:element ref="tns:BrowseNodeLookup" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="HelpResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:OperationRequest" minOccurs="0"/>
+ <xs:element ref="tns:Information" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ItemSearchResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:OperationRequest" minOccurs="0"/>
+ <xs:element ref="tns:Items" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ItemLookupResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:OperationRequest" minOccurs="0"/>
+ <xs:element ref="tns:Items" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ListSearchResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:OperationRequest" minOccurs="0"/>
+ <xs:element ref="tns:Lists" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ListLookupResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:OperationRequest" minOccurs="0"/>
+ <xs:element ref="tns:Lists" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="CustomerContentSearchResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:OperationRequest" minOccurs="0"/>
+ <xs:element ref="tns:Customers" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="CustomerContentLookupResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:OperationRequest" minOccurs="0"/>
+ <xs:element ref="tns:Customers" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="SimilarityLookupResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:OperationRequest" minOccurs="0"/>
+ <xs:element ref="tns:Items" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="SellerLookupResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:OperationRequest" minOccurs="0"/>
+ <xs:element ref="tns:Sellers" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element -->
+ <xs:element name="CartGetResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:OperationRequest" minOccurs="0"/>
+ <xs:element ref="tns:Cart" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="CartAddResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:OperationRequest" minOccurs="0"/>
+ <xs:element ref="tns:Cart" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="CartCreateResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:OperationRequest" minOccurs="0"/>
+ <xs:element ref="tns:Cart" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="CartModifyResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:OperationRequest" minOccurs="0"/>
+ <xs:element ref="tns:Cart" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="CartClearResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:OperationRequest" minOccurs="0"/>
+ <xs:element ref="tns:Cart" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <!-- xs:element name="TransactionLookupResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:OperationRequest" minOccurs="0"/>
+ <xs:element ref="tns:Transactions" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="SellerListingSearchResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:OperationRequest" minOccurs="0"/>
+ <xs:element ref="tns:SellerListings" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="SellerListingLookupResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:OperationRequest" minOccurs="0"/>
+ <xs:element ref="tns:SellerListings" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="BrowseNodeLookupResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:OperationRequest" minOccurs="0"/>
+ <xs:element ref="tns:BrowseNodes" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="MultiOperationResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:OperationRequest" minOccurs="0"/>
+ <xs:element ref="tns:HelpResponse" minOccurs="0"/>
+ <xs:element ref="tns:ItemSearchResponse" minOccurs="0"/>
+ <xs:element ref="tns:ItemLookupResponse" minOccurs="0"/>
+ <xs:element ref="tns:ListSearchResponse" minOccurs="0"/>
+ <xs:element ref="tns:ListLookupResponse" minOccurs="0"/>
+ <xs:element ref="tns:CustomerContentSearchResponse" minOccurs="0"/>
+ <xs:element ref="tns:CustomerContentLookupResponse" minOccurs="0"/>
+ <xs:element ref="tns:SimilarityLookupResponse" minOccurs="0"/>
+ <xs:element ref="tns:SellerLookupResponse" minOccurs="0"/>
+ <xs:element ref="tns:CartGetResponse" minOccurs="0"/>
+ <xs:element ref="tns:CartAddResponse" minOccurs="0"/>
+ <xs:element ref="tns:CartCreateResponse" minOccurs="0"/>
+ <xs:element ref="tns:CartModifyResponse" minOccurs="0"/>
+ <xs:element ref="tns:CartClearResponse" minOccurs="0"/>
+ <xs:element ref="tns:TransactionLookupResponse" minOccurs="0"/>
+ <xs:element ref="tns:SellerListingSearchResponse" minOccurs="0"/>
+ <xs:element ref="tns:SellerListingLookupResponse" minOccurs="0"/>
+ <xs:element ref="tns:BrowseNodeLookupResponse" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="OperationRequest">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:HTTPHeaders" minOccurs="0"/>
+ <xs:element name="RequestId" type="xs:string" minOccurs="0"/>
+ <xs:element ref="tns:Arguments" minOccurs="0"/>
+ <xs:element ref="tns:Errors" minOccurs="0"/>
+ <xs:element name="RequestProcessingTime" type="xs:float" minOccurs="0" maxOccurs="1"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Request">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="IsValid" type="xs:string" minOccurs="0"/>
+ <xs:element name="HelpRequest" type="tns:HelpRequest" minOccurs="0"/>
+ <xs:element name="BrowseNodeLookupRequest" type="tns:BrowseNodeLookupRequest" minOccurs="0"/>
+ <xs:element name="ItemSearchRequest" type="tns:ItemSearchRequest" minOccurs="0"/>
+ <xs:element name="ItemLookupRequest" type="tns:ItemLookupRequest" minOccurs="0"/>
+ <xs:element name="ListSearchRequest" type="tns:ListSearchRequest" minOccurs="0"/>
+ <xs:element name="ListLookupRequest" type="tns:ListLookupRequest" minOccurs="0"/>
+ <xs:element name="CustomerContentSearchRequest" type="tns:CustomerContentSearchRequest" minOccurs="0"/>
+ <xs:element name="CustomerContentLookupRequest" type="tns:CustomerContentLookupRequest" minOccurs="0"/>
+ <xs:element name="SimilarityLookupRequest" type="tns:SimilarityLookupRequest" minOccurs="0"/>
+ <xs:element name="CartGetRequest" type="tns:CartGetRequest" minOccurs="0"/>
+ <xs:element name="CartAddRequest" type="tns:CartAddRequest" minOccurs="0"/>
+ <xs:element name="CartCreateRequest" type="tns:CartCreateRequest" minOccurs="0"/>
+ <xs:element name="CartModifyRequest" type="tns:CartModifyRequest" minOccurs="0"/>
+ <xs:element name="CartClearRequest" type="tns:CartClearRequest" minOccurs="0"/>
+ <xs:element name="TransactionLookupRequest" type="tns:TransactionLookupRequest" minOccurs="0"/>
+ <xs:element name="SellerListingSearchRequest" type="tns:SellerListingSearchRequest" minOccurs="0"/>
+ <xs:element name="SellerListingLookupRequest" type="tns:SellerListingLookupRequest" minOccurs="0"/>
+ <xs:element name="SellerLookupRequest" type="tns:SellerLookupRequest" minOccurs="0"/>
+ <xs:element ref="tns:Errors" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Arguments">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Argument" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:attribute name="Name" type="xs:string" use="required"/>
+ <xs:attribute name="Value" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="HTTPHeaders">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Header" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:attribute name="Name" type="xs:string" use="required"/>
+ <xs:attribute name="Value" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Errors">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Error" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Code" type="xs:string"/>
+ <xs:element name="Message" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Information">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:Request" minOccurs="0"/>
+ <xs:element ref="tns:OperationInformation" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="tns:ResponseGroupInformation" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Items">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:Request" minOccurs="0"/>
+ <xs:element ref="tns:CorrectedQuery" minOccurs="0"/>
+ <xs:element name="Qid" type="xs:string" minOccurs="0"/>
+ <xs:element name="TotalResults" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="TotalPages" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element ref="tns:SearchResultsMap" minOccurs="0"/>
+ <xs:element ref="tns:Item" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="tns:SearchBinSets" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="CorrectedQuery">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Keywords" type="xs:string" minOccurs="0"/>
+ <xs:element name="Message" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Lists">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:Request" minOccurs="0"/>
+ <xs:element name="TotalResults" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="TotalPages" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element ref="tns:List" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Customers">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:Request" minOccurs="0"/>
+ <xs:element name="TotalResults" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="TotalPages" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element ref="tns:Customer" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element -->
+ <xs:element name="Cart">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:Request" minOccurs="0"/>
+ <xs:element name="CartId" type="xs:string"/>
+ <xs:element name="HMAC" type="xs:string"/>
+ <xs:element name="URLEncodedHMAC" type="xs:string"/>
+ <xs:element name="PurchaseURL" type="xs:string" minOccurs="0"/>
+ <xs:element name="SubTotal" type="tns:Price" minOccurs="0"/>
+ <xs:element ref="tns:CartItems" minOccurs="0"/>
+ <xs:element ref="tns:SavedForLaterItems" minOccurs="0"/>
+ <xs:element ref="tns:SimilarProducts" minOccurs="0"/>
+ <xs:element ref="tns:TopSellers" minOccurs="0"/>
+ <xs:element ref="tns:NewReleases" minOccurs="0"/>
+ <xs:element ref="tns:SimilarViewedProducts" minOccurs="0"/>
+ <xs:element ref="tns:OtherCategoriesSimilarProducts" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <!-- xs:element name="Transactions">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:Request" minOccurs="0"/>
+ <xs:element name="TotalResults" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="TotalPages" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element ref="tns:Transaction" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Sellers">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:Request" minOccurs="0"/>
+ <xs:element name="TotalResults" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="TotalPages" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element ref="tns:Seller" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="SellerListings">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:Request" minOccurs="0"/>
+ <xs:element name="TotalResults" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="TotalPages" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element ref="tns:SellerListing" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="OperationInformation">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Name" type="xs:string" minOccurs="0"/>
+ <xs:element name="Description" type="xs:string" minOccurs="0"/>
+ <xs:element name="RequiredParameters" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Parameter" type="xs:string" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="AvailableParameters" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Parameter" type="xs:string" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="DefaultResponseGroups" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="ResponseGroup" type="xs:string" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="AvailableResponseGroups" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="ResponseGroup" type="xs:string" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ResponseGroupInformation">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Name" type="xs:string" minOccurs="0"/>
+ <xs:element name="CreationDate" type="xs:string" minOccurs="0"/>
+ <xs:element name="ValidOperations" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Operation" type="xs:string" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Elements" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Element" type="xs:string" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="List">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="ListId" type="xs:string"/>
+ <xs:element name="ListURL" type="xs:string" minOccurs="0"/>
+ <xs:element name="RegistryNumber" type="xs:string" minOccurs="0"/>
+ <xs:element name="ListName" type="xs:string" minOccurs="0"/>
+ <xs:element name="ListType" minOccurs="0">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="WishList"/>
+ <xs:enumeration value="WeddingRegistry"/>
+ <xs:enumeration value="BabyRegistry"/>
+ <xs:enumeration value="Listmania"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ <xs:element name="TotalItems" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="TotalPages" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="DateCreated" type="xs:string" minOccurs="0"/>
+ <xs:element name="OccasionDate" type="xs:string" minOccurs="0"/>
+ <xs:element name="CustomerName" type="xs:string" minOccurs="0"/>
+ <xs:element name="PartnerName" type="xs:string" minOccurs="0"/>
+ <xs:element name="AdditionalName" type="xs:string" minOccurs="0"/>
+ <xs:element name="Comment" type="xs:string" minOccurs="0"/>
+ <xs:element name="Image" type="tns:Image" minOccurs="0"/>
+ <xs:element name="AverageRating" type="xs:decimal" minOccurs="0"/>
+ <xs:element name="TotalVotes" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="TotalTimesRead" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element ref="tns:ListItem" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ListItem">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="ListItemId" type="xs:string" minOccurs="0"/>
+ <xs:element name="DateAdded" type="xs:string" minOccurs="0"/>
+ <xs:element name="Comment" type="xs:string" minOccurs="0"/>
+ <xs:element name="QuantityDesired" type="xs:string" minOccurs="0"/>
+ <xs:element name="QuantityReceived" type="xs:string" minOccurs="0"/>
+ <xs:element ref="tns:Item" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Customer">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="CustomerId" type="xs:string"/>
+ <xs:element name="Nickname" type="xs:string" minOccurs="0"/>
+ <xs:element name="Birthday" type="xs:string" minOccurs="0"/>
+ <xs:element name="WishListId" type="xs:string" minOccurs="0"/>
+ <xs:element name="Location" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="UserDefinedLocation" type="xs:string" minOccurs="0"/>
+ <xs:element name="City" type="xs:string" minOccurs="0"/>
+ <xs:element name="State" type="xs:string" minOccurs="0"/>
+ <xs:element name="Country" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element ref="tns:CustomerReviews" maxOccurs="unbounded" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="SearchResultsMap">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="SearchIndex" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="IndexName" type="xs:string"/>
+ <xs:element name="Results" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="Pages" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element ref="tns:CorrectedQuery" minOccurs="0"/>
+ <xs:element name="RelevanceRank" type="xs:positiveInteger"/>
+ <xs:element name="ASIN" type="xs:string" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Item">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="ASIN" type="xs:string"/>
+ <xs:element name="ParentASIN" type="xs:string" minOccurs="0"/>
+ <xs:element ref="tns:Errors" minOccurs="0"/>
+ <xs:element name="DetailPageURL" type="xs:string" minOccurs="0"/>
+ <xs:element name="SalesRank" type="xs:string" minOccurs="0"/>
+ <xs:element name="SmallImage" type="tns:Image" minOccurs="0"/>
+ <xs:element name="MediumImage" type="tns:Image" minOccurs="0"/>
+ <xs:element name="LargeImage" type="tns:Image" minOccurs="0"/>
+ <xs:element name="ImageSets" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="MerchantId" type="xs:string" minOccurs="0" maxOccurs="1"/>
+ <xs:element ref="tns:ImageSet" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element ref="tns:ItemAttributes" minOccurs="0"/>
+ <xs:element ref="tns:MerchantItemAttributes" minOccurs="0"/>
+ <xs:element ref="tns:Collections" minOccurs="0"/>
+ <xs:element name="Subjects" minOccurs="0" maxOccurs="1">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Subject" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element ref="tns:OfferSummary" minOccurs="0"/>
+ <xs:element ref="tns:Offers" minOccurs="0"/>
+ <xs:element ref="tns:VariationSummary" minOccurs="0"/>
+ <xs:element ref="tns:Variations" minOccurs="0"/>
+ <xs:element ref="tns:CustomerReviews" minOccurs="0"/>
+ <xs:element ref="tns:EditorialReviews" minOccurs="0"/>
+ <xs:element ref="tns:SimilarProducts" minOccurs="0"/>
+ <xs:element ref="tns:Accessories" minOccurs="0"/>
+ <xs:element ref="tns:Tracks" minOccurs="0"/>
+ <xs:element ref="tns:BrowseNodes" minOccurs="0"/>
+ <xs:element ref="tns:ListmaniaLists" minOccurs="0"/>
+ <xs:element ref="tns:SearchInside" minOccurs="0"/>
+ <xs:element name="AlternateVersions" minOccurs="0" maxOccurs="1">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="AlternateVersion" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="ASIN" type="xs:string"/>
+ <xs:element name="Title" type="xs:string" minOccurs="0"/>
+ <xs:element name="Binding" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="OfferSummary">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="LowestNewPrice" type="tns:Price" minOccurs="0"/>
+ <xs:element name="LowestUsedPrice" type="tns:Price" minOccurs="0"/>
+ <xs:element name="LowestCollectiblePrice" type="tns:Price" minOccurs="0"/>
+ <xs:element name="LowestRefurbishedPrice" type="tns:Price" minOccurs="0"/>
+ <xs:element name="TotalNew" type="xs:string" minOccurs="0"/>
+ <xs:element name="TotalUsed" type="xs:string" minOccurs="0"/>
+ <xs:element name="TotalCollectible" type="xs:string" minOccurs="0"/>
+ <xs:element name="TotalRefurbished" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Offers">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="TotalOffers" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="TotalOfferPages" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element ref="tns:Offer" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Offer">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:Merchant" minOccurs="0"/>
+ <xs:element ref="tns:Seller" minOccurs="0"/>
+ <xs:element ref="tns:OfferAttributes" minOccurs="0"/>
+ <xs:element ref="tns:OfferListing" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element ref="tns:LoyaltyPoints" minOccurs="0"/>
+ <xs:element ref="tns:Promotions" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="OfferAttributes">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Condition" type="xs:string" minOccurs="0"/>
+ <xs:element name="SubCondition" type="xs:string" minOccurs="0"/>
+ <xs:element name="ConditionNote" type="xs:string" minOccurs="0"/>
+ <xs:element name="WillShipExpedited" type="xs:boolean" minOccurs="0"/>
+ <xs:element name="WillShipInternational" type="xs:boolean" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Merchant">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="MerchantId" type="xs:string"/>
+ <xs:element name="Name" type="xs:string" minOccurs="0"/>
+ <xs:element name="GlancePage" type="xs:string" minOccurs="0"/>
+ <xs:element name="AverageFeedbackRating" type="xs:decimal" minOccurs="0"/>
+ <xs:element name="TotalFeedback" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="TotalFeedbackPages" type="xs:nonNegativeInteger" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="OfferListing">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="OfferListingId" type="xs:string" minOccurs="0"/>
+ <xs:element name="ExchangeId" type="xs:string" minOccurs="0"/>
+ <xs:element name="Price" type="tns:Price" minOccurs="0"/>
+ <xs:element name="SalePrice" type="tns:Price" minOccurs="0"/>
+ <xs:element name="AmountSaved" type="tns:Price" minOccurs="0"/>
+ <xs:element name="PercentageSaved" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="Availability" type="xs:string" minOccurs="0"/>
+ <xs:element name="AvailabilityAttributes" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="AvailabilityType" type="xs:string" minOccurs="0"/>
+ <xs:element name="IsPreorder" type="xs:boolean" minOccurs="0"/>
+ <xs:element name="MinimumHours" type="xs:integer" minOccurs="0"/>
+ <xs:element name="MaximumHours" type="xs:integer" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Quantity" type="xs:integer" minOccurs="0"/>
+ <xs:element name="ISPUStoreAddress" type="tns:Address" minOccurs="0"/>
+ <xs:element name="ISPUStoreHours" type="xs:string" minOccurs="0"/>
+ <xs:element name="IsEligibleForSuperSaverShipping" type="xs:boolean" minOccurs="0"/>
+ <xs:element name="SalesRestriction" type="xs:string" minOccurs="0"/>
+ <xs:element name="ShippingCharge" minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:appinfo>
+ <aws-se:restricted xmlns:aws-se="http://webservices.amazon.com/AWS-SchemaExtensions">
+ <aws-se:excludeFrom>public</aws-se:excludeFrom>
+ <aws-se:excludeFrom>partner</aws-se:excludeFrom>
+ </aws-se:restricted>
+ </xs:appinfo>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="ShippingType" type="xs:string"/>
+ <xs:element name="ShippingPrice" type="tns:Price"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="LoyaltyPoints">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Points" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="TypicalRedemptionValue" type="tns:Price" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="VariationSummary">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="LowestPrice" type="tns:Price" minOccurs="0"/>
+ <xs:element name="HighestPrice" type="tns:Price" minOccurs="0"/>
+ <xs:element name="LowestSalePrice" type="tns:Price" minOccurs="0"/>
+ <xs:element name="HighestSalePrice" type="tns:Price" minOccurs="0"/>
+ <xs:element name="SingleMerchantId" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Variations">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="TotalVariations" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="TotalVariationPages" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element ref="tns:VariationDimensions" minOccurs="0"/>
+ <xs:element ref="tns:Item" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="VariationDimensions">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="VariationDimension" type="xs:string" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="EditorialReviews">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:EditorialReview" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Collections">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Collection" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="CollectionSummary" minOccurs="0" maxOccurs="1">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="LowestListPrice" type="tns:Price" minOccurs="0" maxOccurs="1"/>
+ <xs:element name="HighestListPrice" type="tns:Price" minOccurs="0" maxOccurs="1"/>
+ <xs:element name="LowestSalePrice" type="tns:Price" minOccurs="0" maxOccurs="1"/>
+ <xs:element name="HighestSalePrice" type="tns:Price" minOccurs="0" maxOccurs="1"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="CollectionParent" minOccurs="0" maxOccurs="1">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="ASIN" type="xs:string" minOccurs="0" maxOccurs="1"/>
+ <xs:element name="Title" type="xs:string" minOccurs="0" maxOccurs="1"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="CollectionItem" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="ASIN" type="xs:string" minOccurs="0" maxOccurs="1"/>
+ <xs:element name="Title" type="xs:string" minOccurs="0" maxOccurs="1"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="EditorialReview">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Source" type="xs:string" minOccurs="0"/>
+ <xs:element name="Content" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="CustomerReviews">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="AverageRating" type="xs:decimal" minOccurs="0"/>
+ <xs:element name="TotalReviews" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="TotalReviewPages" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element ref="tns:Review" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Review">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="ASIN" type="xs:string" minOccurs="0"/>
+ <xs:element name="Rating" type="xs:decimal" minOccurs="0"/>
+ <xs:element name="HelpfulVotes" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="CustomerId" type="xs:string" minOccurs="0"/>
+ <xs:element ref="tns:Reviewer" minOccurs="0"/>
+ <xs:element name="TotalVotes" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="Date" type="xs:string" minOccurs="0"/>
+ <xs:element name="Summary" type="xs:string" minOccurs="0"/>
+ <xs:element name="Content" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Reviewer">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="CustomerId" type="xs:string" minOccurs="0"/>
+ <xs:element name="Name" type="xs:string" minOccurs="0"/>
+ <xs:element name="Nickname" type="xs:string" minOccurs="0"/>
+ <xs:element name="Location" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Tracks">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Disc" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Track" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Number" type="xs:positiveInteger" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="Number" type="xs:positiveInteger" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="SimilarProducts">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="SimilarProduct" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="ASIN" type="xs:string" minOccurs="0"/>
+ <xs:element name="Title" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="TopSellers">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="TopSeller" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="ASIN" type="xs:string" minOccurs="0"/>
+ <xs:element name="Title" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="NewReleases">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="NewRelease" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="ASIN" type="xs:string" minOccurs="0"/>
+ <xs:element name="Title" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="SimilarViewedProducts">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="SimilarViewedProduct" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="ASIN" type="xs:string" minOccurs="0"/>
+ <xs:element name="Title" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="OtherCategoriesSimilarProducts">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="OtherCategoriesSimilarProduct" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="ASIN" type="xs:string" minOccurs="0"/>
+ <xs:element name="Title" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Accessories">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Accessory" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="ASIN" type="xs:string" minOccurs="0"/>
+ <xs:element name="Title" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Promotions">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:Promotion" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Promotion">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Summary" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="PromotionId" type="xs:string"/>
+ <xs:element name="Category" type="xs:string" minOccurs="0"/>
+ <xs:element name="StartDate" type="xs:string" minOccurs="0"/>
+ <xs:element name="EndDate" type="xs:string" minOccurs="0"/>
+ <xs:element name="EligibilityRequirementDescription" type="xs:string" minOccurs="0"/>
+ <xs:element name="BenefitDescription" type="xs:string" minOccurs="0"/>
+ <xs:element name="TermsAndConditions" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Details" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="MerchantId" type="xs:string"/>
+ <xs:element name="OwningMerchantId" type="xs:string"/>
+ <xs:element name="PromotionId" type="xs:string"/>
+ <xs:element name="PromotionCategory" type="xs:string"/>
+ <xs:element name="MerchantPromotionId" type="xs:string" minOccurs="0"/>
+ <xs:element name="GroupClaimCode" type="xs:string" minOccurs="0"/>
+ <xs:element name="CouponCombinationType" type="xs:string" minOccurs="0"/>
+ <xs:element name="StartDate" type="xs:string" minOccurs="0"/>
+ <xs:element name="EndDate" type="xs:string" minOccurs="0"/>
+ <xs:element name="TermsAndConditions" type="xs:string" minOccurs="0"/>
+ <xs:element name="EligibilityRequirements" type="tns:PromotionEligibilityRequirements" minOccurs="0"/>
+ <xs:element name="Benefits" type="tns:PromotionBenefits" minOccurs="0"/>
+ <xs:element name="ItemApplicability" type="tns:PromotionItemApplicability" minOccurs="0"/>
+ <xs:element name="MerchandisingMessage" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:complexType name="PromotionEligibilityRequirements">
+ <xs:sequence>
+ <xs:element name="EligibilityRequirement" type="tns:PromotionEligibilityRequirement" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="PromotionBenefits">
+ <xs:sequence>
+ <xs:element name="Benefit" type="tns:PromotionBenefit" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="PromotionBenefit">
+ <xs:sequence>
+ <xs:element name="BenefitType" type="xs:string"/>
+ <xs:element name="ComponentType" type="xs:string"/>
+ <xs:element name="Quantity" type="xs:int" minOccurs="0"/>
+ <xs:element name="PercentOff" type="xs:double" minOccurs="0"/>
+ <xs:element name="FixedAmount" type="tns:Price" minOccurs="0"/>
+ <xs:element name="Ceiling" type="tns:Price" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="PromotionEligibilityRequirement">
+ <xs:sequence>
+ <xs:element name="EligibilityRequirementType" type="xs:string"/>
+ <xs:element name="Quantity" type="xs:int" minOccurs="0"/>
+ <xs:element name="CurrencyAmount" type="tns:Price" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="PromotionItemApplicability">
+ <xs:sequence>
+ <xs:element name="ASIN" type="xs:string"/>
+ <xs:element name="IsInBenefitSet" type="xs:boolean"/>
+ <xs:element name="IsInEligibilityRequirementSet" type="xs:boolean"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="BrowseNodes">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:Request" minOccurs="0"/>
+ <xs:element ref="tns:BrowseNode" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="BrowseNode">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="BrowseNodeId" type="xs:string" minOccurs="0"/>
+ <xs:element name="Name" type="xs:string" minOccurs="0"/>
+ <xs:element name="IsCategoryRoot" type="xs:boolean" minOccurs="0"/>
+ <xs:element name="Children" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:BrowseNode" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Ancestors" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:BrowseNode" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element ref="tns:TopSellers" minOccurs="0"/>
+ <xs:element ref="tns:NewReleases" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="ListmaniaLists">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="ListmaniaList" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="ListId" type="xs:string"/>
+ <xs:element name="ListName" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="SearchInside">
+ <xs:annotation>
+ <xs:appinfo>
+ <aws-se:restricted xmlns:aws-se="http://webservices.amazon.com/AWS-SchemaExtensions">
+ <aws-se:excludeFrom>public</aws-se:excludeFrom>
+ <aws-se:excludeFrom>partner</aws-se:excludeFrom>
+ </aws-se:restricted>
+ </xs:appinfo>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="TotalExcerpts" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="Excerpt" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Checksum" type="xs:string" minOccurs="0"/>
+ <xs:element name="PageType" type="xs:string" minOccurs="0"/>
+ <xs:element name="PageNumber" type="xs:string" minOccurs="0"/>
+ <xs:element name="SequenceNumber" type="xs:string" minOccurs="0"/>
+ <xs:element name="Text" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element -->
+ <xs:element name="CartItems">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="SubTotal" type="tns:Price" minOccurs="0"/>
+ <xs:element name="CartItem" type="tns:CartItem" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <!-- xs:element name="SavedForLaterItems">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="SubTotal" type="tns:Price" minOccurs="0"/>
+ <xs:element name="SavedForLaterItem" type="tns:CartItem" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element -->
+ <xs:complexType name="CartItem">
+ <xs:sequence>
+ <xs:element name="CartItemId" type="xs:string"/>
+ <xs:element name="ASIN" type="xs:string" minOccurs="0"/>
+ <xs:element name="ExchangeId" type="xs:string" minOccurs="0"/>
+ <xs:element name="MerchantId" type="xs:string" minOccurs="0"/>
+ <xs:element name="SellerId" type="xs:string" minOccurs="0"/>
+ <xs:element name="SellerNickname" type="xs:string" minOccurs="0"/>
+ <xs:element name="Quantity" type="xs:string"/>
+ <xs:element name="Title" type="xs:string" minOccurs="0"/>
+ <xs:element name="ProductGroup" type="xs:string" minOccurs="0"/>
+ <xs:element name="ListOwner" type="xs:string" minOccurs="0"/>
+ <xs:element name="ListType" type="xs:string" minOccurs="0"/>
+ <xs:element name="Price" type="tns:Price" minOccurs="0"/>
+ <xs:element name="ItemTotal" type="tns:Price" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <!-- xs:element name="Transaction">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="TransactionId" type="xs:string"/>
+ <xs:element name="SellerId" type="xs:string"/>
+ <xs:element name="Condition" type="xs:string"/>
+ <xs:element name="TransactionDate" type="xs:string"/>
+ <xs:element name="TransactionDateEpoch" type="xs:string"/>
+ <xs:element name="SellerName" type="xs:string" minOccurs="0"/>
+ <xs:element name="PayingCustomerId" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:appinfo>
+ <aws-se:restricted xmlns:aws-se="http://webservices.amazon.com/AWS-SchemaExtensions">
+ <aws-se:excludeFrom>public</aws-se:excludeFrom>
+ <aws-se:excludeFrom>partner</aws-se:excludeFrom>
+ </aws-se:restricted>
+ </xs:appinfo>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="OrderingCustomerId" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:appinfo>
+ <aws-se:restricted xmlns:aws-se="http://webservices.amazon.com/AWS-SchemaExtensions">
+ <aws-se:excludeFrom>public</aws-se:excludeFrom>
+ <aws-se:excludeFrom>partner</aws-se:excludeFrom>
+ </aws-se:restricted>
+ </xs:appinfo>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Totals" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Total" type="tns:Price"/>
+ <xs:element name="Subtotal" type="tns:Price"/>
+ <xs:element name="Tax" type="tns:Price"/>
+ <xs:element name="ShippingCharge" type="tns:Price"/>
+ <xs:element name="Promotion" type="tns:Price"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="TransactionItems" minOccurs="0">
+ <xs:annotation>
+ <xs:appinfo>
+ <aws-se:restricted xmlns:aws-se="http://webservices.amazon.com/AWS-SchemaExtensions">
+ <aws-se:excludeFrom>public</aws-se:excludeFrom>
+ </aws-se:restricted>
+ </xs:appinfo>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:TransactionItem" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Shipments" minOccurs="0">
+ <xs:annotation>
+ <xs:appinfo>
+ <aws-se:restricted xmlns:aws-se="http://webservices.amazon.com/AWS-SchemaExtensions">
+ <aws-se:excludeFrom>public</aws-se:excludeFrom>
+ </aws-se:restricted>
+ </xs:appinfo>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Shipment" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Condition" type="xs:string"/>
+ <xs:element name="DeliveryMethod" type="xs:string"/>
+ <xs:element name="ShipmentItems" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="TransactionItemId" type="xs:string" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Packages" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Package" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="TrackingNumber" type="xs:string"/>
+ <xs:element name="CarrierName" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="TransactionItem">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="TransactionItemId" type="xs:string"/>
+ <xs:element name="Quantity" type="xs:string"/>
+ <xs:element name="UnitPrice" type="tns:Price"/>
+ <xs:element name="TotalPrice" type="tns:Price"/>
+ <xs:element name="ASIN" type="xs:string" minOccurs="0"/>
+ <xs:element name="ChildTransactionItems" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="tns:TransactionItem" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Seller">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="SellerId" type="xs:string"/>
+ <xs:element name="SellerName" type="xs:string" minOccurs="0"/>
+ <xs:element name="SellerLegalName" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:appinfo>
+ <aws-se:restricted xmlns:aws-se="http://webservices.amazon.com/AWS-SchemaExtensions">
+ <aws-se:excludeFrom>public</aws-se:excludeFrom>
+ </aws-se:restricted>
+ </xs:appinfo>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="Nickname" type="xs:string" minOccurs="0"/>
+ <xs:element name="GlancePage" type="xs:string" minOccurs="0"/>
+ <xs:element name="About" type="xs:string" minOccurs="0"/>
+ <xs:element name="MoreAbout" type="xs:string" minOccurs="0"/>
+ <xs:element name="Location" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="UserDefinedLocation" type="xs:string" minOccurs="0"/>
+ <xs:element name="City" type="xs:string" minOccurs="0"/>
+ <xs:element name="State" type="xs:string" minOccurs="0"/>
+ <xs:element name="Country" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="AverageFeedbackRating" type="xs:decimal" minOccurs="0"/>
+ <xs:element name="TotalFeedback" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="TotalFeedbackPages" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="SellerFeedbackSummary" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="FeedbackDateRange" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="SellerFeedbackRating" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Count" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="Percentage" type="xs:nonNegativeInteger" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attribute name="Type" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="Period" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element ref="tns:SellerFeedback" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="SellerFeedback">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Feedback" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Rating" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="Comment" type="xs:string" minOccurs="0"/>
+ <xs:element name="Date" type="xs:string" minOccurs="0"/>
+ <xs:element name="RatedBy" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:complexType name="Address">
+ <xs:sequence>
+ <xs:element name="Name" type="xs:string" minOccurs="0"/>
+ <xs:element name="Address1" type="xs:string" minOccurs="0"/>
+ <xs:element name="Address2" type="xs:string" minOccurs="0"/>
+ <xs:element name="Address3" type="xs:string" minOccurs="0"/>
+ <xs:element name="City" type="xs:string" minOccurs="0"/>
+ <xs:element name="State" type="xs:string" minOccurs="0"/>
+ <xs:element name="PostalCode" type="xs:string" minOccurs="0"/>
+ <xs:element name="Country" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="SellerListing">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="ExchangeId" type="xs:string" minOccurs="0"/>
+ <xs:element name="ListingId" type="xs:string" minOccurs="0"/>
+ <xs:element name="ASIN" type="xs:string" minOccurs="0"/>
+ <xs:element name="SKU" type="xs:string" minOccurs="0"/>
+ <xs:element name="UPC" type="xs:string" minOccurs="0"/>
+ <xs:element name="EAN" type="xs:string" minOccurs="0"/>
+ <xs:element name="WillShipExpedited" type="xs:boolean" minOccurs="0"/>
+ <xs:element name="WillShipInternational" type="xs:boolean" minOccurs="0"/>
+ <xs:element name="Title" type="xs:string" minOccurs="0"/>
+ <xs:element name="Price" type="tns:Price" minOccurs="0"/>
+ <xs:element name="StartDate" type="xs:string" minOccurs="0"/>
+ <xs:element name="EndDate" type="xs:string" minOccurs="0"/>
+ <xs:element name="Status" type="xs:string" minOccurs="0"/>
+ <xs:element name="Quantity" type="xs:string" minOccurs="0"/>
+ <xs:element name="Condition" type="xs:string" minOccurs="0"/>
+ <xs:element name="SubCondition" type="xs:string" minOccurs="0"/>
+ <xs:element ref="tns:Seller" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:complexType name="Price">
+ <xs:sequence>
+ <xs:element name="Amount" type="xs:integer" minOccurs="0"/>
+ <xs:element name="CurrencyCode" type="xs:string" minOccurs="0"/>
+ <xs:element name="FormattedPrice" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="ImageSet">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="SwatchImage" type="tns:Image" minOccurs="0"/>
+ <xs:element name="SmallImage" type="tns:Image" minOccurs="0"/>
+ <xs:element name="ThumbnailImage" type="tns:Image" minOccurs="0"/>
+ <xs:element name="TinyImage" type="tns:Image" minOccurs="0"/>
+ <xs:element name="MediumImage" type="tns:Image" minOccurs="0"/>
+ <xs:element name="LargeImage" type="tns:Image" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attribute name="Category" type="xs:string"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:complexType name="Image">
+ <xs:sequence>
+ <xs:element name="URL" type="xs:string"/>
+ <xs:element name="Height" type="tns:DecimalWithUnits"/>
+ <xs:element name="Width" type="tns:DecimalWithUnits"/>
+ <xs:element name="IsVerified" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="ItemAttributes">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Actor" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="Address" type="tns:Address" minOccurs="0"/>
+ <xs:element name="AmazonMaximumAge" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="AmazonMinimumAge" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="AnalogVideoFormat" type="xs:string" minOccurs="0"/>
+ <xs:element name="ApertureModes" type="xs:string" minOccurs="0"/>
+ <xs:element name="Artist" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="AspectRatio" type="xs:string" minOccurs="0"/>
+ <xs:element name="AssemblyInstructions" type="xs:string" minOccurs="0"/>
+ <xs:element name="AssemblyRequired" type="xs:string" minOccurs="0"/>
+ <xs:element name="AudienceRating" type="xs:string" minOccurs="0"/>
+ <xs:element name="AudioFormat" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="Author" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="BackFinding" type="xs:string" minOccurs="0"/>
+ <xs:element name="BandMaterialType" type="xs:string" minOccurs="0"/>
+ <xs:element name="BatteriesIncluded" type="xs:string" minOccurs="0"/>
+ <xs:element name="BatteriesRequired" type="xs:string" minOccurs="0"/>
+ <xs:element name="Batteries" type="tns:NonNegativeIntegerWithUnits" minOccurs="0"/>
+ <xs:element name="BatteryDescription" type="xs:string" minOccurs="0"/>
+ <xs:element name="BatteryType" type="xs:string" minOccurs="0"/>
+ <xs:element name="BezelMaterialType" type="xs:string" minOccurs="0"/>
+ <xs:element name="Binding" type="xs:string" minOccurs="0"/>
+ <xs:element name="Brand" type="xs:string" minOccurs="0"/>
+ <xs:element name="CalendarType" type="xs:string" minOccurs="0"/>
+ <xs:element name="CameraManualFeatures" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="CaseDiameter" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="CaseMaterialType" type="xs:string" minOccurs="0"/>
+ <xs:element name="CaseThickness" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="CaseType" type="xs:string" minOccurs="0"/>
+ <xs:element name="CatalogNumber" type="xs:string" minOccurs="0"/>
+ <xs:element name="CDRWDescription" type="xs:string" minOccurs="0"/>
+ <xs:element name="ChainType" type="xs:string" minOccurs="0"/>
+ <xs:element name="CEROAgeRating" type="xs:string" minOccurs="0"/>
+ <xs:element name="ClaspType" type="xs:string" minOccurs="0"/>
+ <xs:element name="ClothingSize" type="xs:string" minOccurs="0"/>
+ <xs:element name="ClubType" type="xs:string" minOccurs="0"/>
+ <xs:element name="Color" type="xs:string" minOccurs="0"/>
+ <xs:element name="Compatibility" type="xs:string" minOccurs="0"/>
+ <xs:element name="CompatibleDevices" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="ComputerHardwareType" type="xs:string" minOccurs="0"/>
+ <xs:element name="ComputerPlatform" type="xs:string" minOccurs="0"/>
+ <xs:element name="Connectivity" type="xs:string" minOccurs="0"/>
+ <xs:element name="ContinuousShootingSpeed" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="Country" type="xs:string" minOccurs="0"/>
+ <xs:element name="CPUManufacturer" type="xs:string" minOccurs="0"/>
+ <xs:element name="CPUSpeed" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="CPUType" type="xs:string" minOccurs="0"/>
+ <xs:element name="Creator" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Role" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Cuisine" type="xs:string" minOccurs="0"/>
+ <xs:element name="DataLinkProtocol" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="DeliveryOption" type="xs:string" minOccurs="0"/>
+ <xs:element name="DelayBetweenShots" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="Department" type="xs:string" minOccurs="0"/>
+ <xs:element name="DeweyDecimalNumber" type="xs:string" minOccurs="0"/>
+ <xs:element name="DialColor" type="xs:string" minOccurs="0"/>
+ <xs:element name="DialWindowMaterialType" type="xs:string" minOccurs="0"/>
+ <xs:element name="DigitalZoom" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="Director" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="DisplayColorSupport" type="xs:string" minOccurs="0"/>
+ <xs:element name="DisplaySize" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="DrumSetPieceQuantity" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="DVDLayers" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="DVDRWDescription" type="xs:string" minOccurs="0"/>
+ <xs:element name="DVDSides" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="DPCI" type="xs:string" minOccurs="0"/>
+ <xs:element name="EAN" type="xs:string" minOccurs="0"/>
+ <xs:element name="Edition" type="xs:string" minOccurs="0"/>
+ <xs:element name="ESRBAgeRating" type="xs:string" minOccurs="0"/>
+ <xs:element name="ExternalDisplaySupportDescription" type="xs:string" minOccurs="0"/>
+ <xs:element name="FabricType" type="xs:string" minOccurs="0"/>
+ <xs:element name="FaxNumber" type="xs:string" minOccurs="0"/>
+ <xs:element name="Feature" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="FilmColorType" type="xs:string" minOccurs="0"/>
+ <xs:element name="FirstIssueLeadTime" type="tns:StringWithUnits" minOccurs="0"/>
+ <xs:element name="FloppyDiskDriveDescription" type="xs:string" minOccurs="0"/>
+ <xs:element name="Format" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="FormFactor" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="GemType" type="xs:string" minOccurs="0"/>
+ <xs:element name="Genre" type="xs:string" minOccurs="0"/>
+ <xs:element name="GLProductGroup" type="xs:string" minOccurs="0"/>
+ <xs:element name="GraphicsCardInterface" type="xs:string" minOccurs="0"/>
+ <xs:element name="GraphicsDescription" type="xs:string" minOccurs="0"/>
+ <xs:element name="GraphicsMemorySize" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="GuitarAttribute" type="xs:string" minOccurs="0"/>
+ <xs:element name="GuitarBridgeSystem" type="xs:string" minOccurs="0"/>
+ <xs:element name="GuitarPickThickness" type="xs:string" minOccurs="0"/>
+ <xs:element name="GuitarPickupConfiguration" type="xs:string" minOccurs="0"/>
+ <xs:element name="HandOrientation" type="xs:string" minOccurs="0"/>
+ <xs:element name="HardDiskCount" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="HardDiskSize" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="HardDiskInterface" type="xs:string" minOccurs="0"/>
+ <xs:element name="HardwarePlatform" type="xs:string" minOccurs="0"/>
+ <xs:element name="HasAutoFocus" type="xs:boolean" minOccurs="0"/>
+ <xs:element name="HasBurstMode" type="xs:boolean" minOccurs="0"/>
+ <xs:element name="HasInCameraEditing" type="xs:boolean" minOccurs="0"/>
+ <xs:element name="HasRedEyeReduction" type="xs:boolean" minOccurs="0"/>
+ <xs:element name="HasSelfTimer" type="xs:boolean" minOccurs="0"/>
+ <xs:element name="HasTripodMount" type="xs:boolean" minOccurs="0"/>
+ <xs:element name="HasVideoOut" type="xs:boolean" minOccurs="0"/>
+ <xs:element name="HasViewfinder" type="xs:boolean" minOccurs="0"/>
+ <xs:element name="HazardousMaterialType" type="xs:string" minOccurs="0"/>
+ <xs:element name="HoursOfOperation" type="xs:string" minOccurs="0"/>
+ <xs:element name="IncludedSoftware" type="xs:string" minOccurs="0"/>
+ <xs:element name="IncludesMp3Player" type="xs:boolean" minOccurs="0"/>
+ <xs:element name="Ingredients" type="xs:string" minOccurs="0"/>
+ <xs:element name="InstrumentKey" type="xs:string" minOccurs="0"/>
+ <xs:element name="IsAdultProduct" type="xs:boolean" minOccurs="0"/>
+ <xs:element name="IsAutographed" type="xs:boolean" minOccurs="0"/>
+ <xs:element name="ISBN" type="xs:string" minOccurs="0"/>
+ <xs:element name="IsFragile" type="xs:boolean" minOccurs="0"/>
+ <xs:element name="IsLabCreated" type="xs:boolean" minOccurs="0"/>
+ <xs:element name="IsMemorabilia" type="xs:boolean" minOccurs="0"/>
+ <xs:element name="ISOEquivalent" type="tns:NonNegativeIntegerWithUnits" minOccurs="0"/>
+ <xs:element name="IsPreannounce" type="xs:boolean" minOccurs="0"/>
+ <xs:element name="IssuesPerYear" type="xs:string" minOccurs="0"/>
+ <xs:element name="ItemDimensions" minOccurs="0" maxOccurs="1">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Height" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="Length" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="Weight" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="Width" type="tns:DecimalWithUnits" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="KeyboardDescription" type="xs:string" minOccurs="0"/>
+ <xs:element name="Label" type="xs:string" minOccurs="0"/>
+ <xs:element name="Languages" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Language" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Name" type="xs:string"/>
+ <xs:element name="Type" type="xs:string" minOccurs="0"/>
+ <xs:element name="AudioFormat" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="LegalDisclaimer" type="xs:string" minOccurs="0"/>
+ <xs:element name="LensType" type="xs:string" minOccurs="0"/>
+ <xs:element name="LineVoltage" type="xs:string" minOccurs="0"/>
+ <xs:element name="ListPrice" type="tns:Price" minOccurs="0"/>
+ <xs:element name="MacroFocusRange" type="xs:string" minOccurs="0"/>
+ <xs:element name="MagazineType" type="xs:string" minOccurs="0"/>
+ <xs:element name="MalletHardness" type="xs:string" minOccurs="0"/>
+ <xs:element name="Manufacturer" type="xs:string" minOccurs="0"/>
+ <xs:element name="ManufacturerLaborWarrantyDescription" type="xs:string" minOccurs="0"/>
+ <xs:element name="ManufacturerMaximumAge" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="ManufacturerMinimumAge" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="ManufacturerPartsWarrantyDescription" type="xs:string" minOccurs="0"/>
+ <xs:element name="MaterialType" type="xs:string" minOccurs="0"/>
+ <xs:element name="MaximumAperture" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="MaximumColorDepth" type="xs:string" minOccurs="0"/>
+ <xs:element name="MaximumFocalLength" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="MaximumHighResolutionImages" type="tns:NonNegativeIntegerWithUnits" minOccurs="0"/>
+ <xs:element name="MaximumHorizontalResolution" type="tns:NonNegativeIntegerWithUnits" minOccurs="0"/>
+ <xs:element name="MaximumLowResolutionImages" type="xs:string" minOccurs="0"/>
+ <xs:element name="MaximumResolution" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="MaximumShutterSpeed" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="MaximumVerticalResolution" type="tns:NonNegativeIntegerWithUnits" minOccurs="0"/>
+ <xs:element name="MaximumWeightRecommendation" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="MediaType" type="xs:string" minOccurs="0"/>
+ <xs:element name="MemorySlotsAvailable" type="xs:string" minOccurs="0"/>
+ <xs:element name="MetalStamp" type="xs:string" minOccurs="0"/>
+ <xs:element name="MetalType" type="xs:string" minOccurs="0"/>
+ <xs:element name="MiniMovieDescription" type="xs:string" minOccurs="0"/>
+ <xs:element name="MinimumFocalLength" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="MinimumShutterSpeed" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="Model" type="xs:string" minOccurs="0"/>
+ <xs:element name="ModelYear" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="ModemDescription" type="xs:string" minOccurs="0"/>
+ <xs:element name="MonitorSize" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="MonitorViewableDiagonalSize" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="MouseDescription" type="xs:string" minOccurs="0"/>
+ <xs:element name="MPN" type="xs:string" minOccurs="0"/>
+ <xs:element name="MusicalStyle" type="xs:string" minOccurs="0"/>
+ <xs:element name="NativeResolution" type="xs:string" minOccurs="0"/>
+ <xs:element name="Neighborhood" type="xs:string" minOccurs="0"/>
+ <xs:element name="NetworkInterfaceDescription" type="xs:string" minOccurs="0"/>
+ <xs:element name="NotebookDisplayTechnology" type="xs:string" minOccurs="0"/>
+ <xs:element name="NotebookPointingDeviceDescription" type="xs:string" minOccurs="0"/>
+ <xs:element name="NumberOfDiscs" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="NumberOfIssues" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="NumberOfItems" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="NumberOfKeys" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="NumberOfPages" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="NumberOfPearls" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="NumberOfRapidFireShots" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="NumberOfStones" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="NumberOfStrings" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="NumberOfTracks" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="OperatingSystem" type="xs:string" minOccurs="0"/>
+ <xs:element name="OpticalSensorResolution" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="OpticalZoom" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="OriginalReleaseDate" type="xs:string" minOccurs="0"/>
+ <xs:element name="OutputWattage" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="PackageDimensions" minOccurs="0" maxOccurs="1">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Height" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="Length" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="Weight" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="Width" type="tns:DecimalWithUnits" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="PackageQuantity" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="PearlLustre" type="xs:string" minOccurs="0"/>
+ <xs:element name="PearlMinimumColor" type="xs:string" minOccurs="0"/>
+ <xs:element name="PearlShape" type="xs:string" minOccurs="0"/>
+ <xs:element name="PearlStringingMethod" type="xs:string" minOccurs="0"/>
+ <xs:element name="PearlSurfaceBlemishes" type="xs:string" minOccurs="0"/>
+ <xs:element name="PearlType" type="xs:string" minOccurs="0"/>
+ <xs:element name="PearlUniformity" type="xs:string" minOccurs="0"/>
+ <xs:element name="PhoneNumber" type="xs:string" minOccurs="0"/>
+ <xs:element name="PhotoFlashType" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="PictureFormat" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="Platform" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="PriceRating" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="ProcessorCount" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="ProductGroup" type="xs:string" minOccurs="0"/>
+ <xs:element name="ProductSiteLaunchDate" type="xs:string" minOccurs="0"/>
+ <xs:element name="ProductTypeName" type="xs:string" minOccurs="0"/>
+ <xs:element name="ProductTypeSubcategory" type="xs:string" minOccurs="0"/>
+ <xs:element name="PromotionalTag" type="xs:string" minOccurs="0">
+ <xs:annotation>
+ <xs:appinfo>
+ <aws-se:restricted xmlns:aws-se="http://webservices.amazon.com/AWS-SchemaExtensions">
+ <aws-se:excludeFrom>public</aws-se:excludeFrom>
+ <aws-se:excludeFrom>partner</aws-se:excludeFrom>
+ </aws-se:restricted>
+ </xs:appinfo>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="PublicationDate" type="xs:string" minOccurs="0"/>
+ <xs:element name="Publisher" type="xs:string" minOccurs="0"/>
+ <xs:element name="POBoxShippingExcluded" type="xs:string" minOccurs="0"/>
+ <xs:element name="ReadingLevel" type="xs:string" minOccurs="0"/>
+ <xs:element name="ReturnMethod" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="RecorderTrackCount" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="RegionCode" type="xs:string" minOccurs="0"/>
+ <xs:element name="RegionOfOrigin" type="xs:string" minOccurs="0"/>
+ <xs:element name="ReturnPolicy" type="xs:string" minOccurs="0"/>
+ <xs:element name="ReleaseDate" type="xs:string" minOccurs="0"/>
+ <xs:element name="RemovableMemory" type="xs:string" minOccurs="0"/>
+ <xs:element name="RemovableStorage" type="xs:string" minOccurs="0"/>
+ <xs:element name="RequiredVoltageRange" type="xs:string" minOccurs="0"/>
+ <xs:element name="ResolutionModes" type="xs:string" minOccurs="0"/>
+ <xs:element name="RingSize" type="xs:string" minOccurs="0"/>
+ <xs:element name="RunningTime" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="ScentName" type="xs:string" minOccurs="0"/>
+ <xs:element name="SecondaryCacheSize" type="tns:NonNegativeIntegerWithUnits" minOccurs="0"/>
+ <xs:element name="SettingType" type="xs:string" minOccurs="0"/>
+ <xs:element name="ShaftMaterialType" type="xs:string" minOccurs="0"/>
+ <xs:element name="Size" type="xs:string" minOccurs="0"/>
+ <xs:element name="SizePerPearl" type="xs:string" minOccurs="0"/>
+ <xs:element name="SkillLevel" type="xs:string" minOccurs="0"/>
+ <xs:element name="SKU" type="xs:string" minOccurs="0"/>
+ <xs:element name="SoldInStores" type="xs:string" minOccurs="0"/>
+ <xs:element name="SoundCardDescription" type="xs:string" minOccurs="0"/>
+ <xs:element name="SpeakerCount" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="SpeakerDescription" type="xs:string" minOccurs="0"/>
+ <xs:element name="SpecialFeatures" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="StoneClarity" type="xs:string" minOccurs="0"/>
+ <xs:element name="StoneColor" type="xs:string" minOccurs="0"/>
+ <xs:element name="StoneCut" type="xs:string" minOccurs="0"/>
+ <xs:element name="StoneShape" type="xs:string" minOccurs="0"/>
+ <xs:element name="StoneWeight" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="Studio" type="xs:string" minOccurs="0"/>
+ <xs:element name="Style" type="xs:string" minOccurs="0"/>
+ <xs:element name="SubscriptionLength" type="tns:NonNegativeIntegerWithUnits" minOccurs="0"/>
+ <xs:element name="SupportedImageType" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="SupportedMediaSize" type="xs:string" minOccurs="0"/>
+ <xs:element name="SystemBusSpeed" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="SystemMemorySizeMax" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="SystemMemorySize" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="SystemMemoryType" type="xs:string" minOccurs="0"/>
+ <xs:element name="TellingPageIndicator" type="xs:string" minOccurs="0"/>
+ <xs:element name="TheatricalReleaseDate" type="xs:string" minOccurs="0"/>
+ <xs:element name="Title" type="xs:string" minOccurs="0"/>
+ <xs:element name="TotalDiamondWeight" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="TotalExternalBaysFree" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="TotalFirewirePorts" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="TotalGemWeight" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="TotalInternalBaysFree" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="TotalMetalWeight" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="TotalNTSCPALPorts" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="TotalParallelPorts" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="TotalPCCardSlots" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="TotalPCISlotsFree" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="TotalSerialPorts" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="TotalSVideoOutPorts" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="TotalUSB2Ports" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="TotalUSBPorts" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="TotalVGAOutPorts" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="UPC" type="xs:string" minOccurs="0"/>
+ <xs:element name="VariationDenomination" type="xs:string" minOccurs="0"/>
+ <xs:element name="VariationDescription" type="xs:string" minOccurs="0"/>
+ <xs:element name="Warranty" type="xs:string" minOccurs="0"/>
+ <xs:element name="WatchMovementType" type="xs:string" minOccurs="0"/>
+ <xs:element name="WaterResistanceDepth" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="WEEETaxValue" type="tns:Price" minOccurs="0"/>
+ <xs:element name="WirelessMicrophoneFrequency" type="xs:nonNegativeInteger" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="MerchantItemAttributes">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Actor" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="Address" type="tns:Address" minOccurs="0"/>
+ <xs:element name="AmazonMaximumAge" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="AmazonMinimumAge" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="ApertureModes" type="xs:string" minOccurs="0"/>
+ <xs:element name="Artist" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="AspectRatio" type="xs:string" minOccurs="0"/>
+ <xs:element name="AssemblyInstructions" type="xs:string" minOccurs="0"/>
+ <xs:element name="AssemblyRequired" type="xs:string" minOccurs="0"/>
+ <xs:element name="AudienceRating" type="xs:string" minOccurs="0"/>
+ <xs:element name="AudioFormat" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="Author" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="BackFinding" type="xs:string" minOccurs="0"/>
+ <xs:element name="BandMaterialType" type="xs:string" minOccurs="0"/>
+ <xs:element name="BatteriesIncluded" type="xs:string" minOccurs="0"/>
+ <xs:element name="BatteriesRequired" type="xs:string" minOccurs="0"/>
+ <xs:element name="Batteries" type="tns:NonNegativeIntegerWithUnits" minOccurs="0"/>
+ <xs:element name="BatteryDescription" type="xs:string" minOccurs="0"/>
+ <xs:element name="BatteryType" type="xs:string" minOccurs="0"/>
+ <xs:element name="BezelMaterialType" type="xs:string" minOccurs="0"/>
+ <xs:element name="Binding" type="xs:string" minOccurs="0"/>
+ <xs:element name="Brand" type="xs:string" minOccurs="0"/>
+ <xs:element name="CalendarType" type="xs:string" minOccurs="0"/>
+ <xs:element name="CameraManualFeatures" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="CaseDiameter" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="CaseMaterialType" type="xs:string" minOccurs="0"/>
+ <xs:element name="CaseThickness" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="CaseType" type="xs:string" minOccurs="0"/>
+ <xs:element name="CatalogNumber" type="xs:string" minOccurs="0"/>
+ <xs:element name="CDRWDescription" type="xs:string" minOccurs="0"/>
+ <xs:element name="ChainType" type="xs:string" minOccurs="0"/>
+ <xs:element name="ClaspType" type="xs:string" minOccurs="0"/>
+ <xs:element name="ClothingSize" type="xs:string" minOccurs="0"/>
+ <xs:element name="Color" type="xs:string" minOccurs="0"/>
+ <xs:element name="Compatibility" type="xs:string" minOccurs="0"/>
+ <xs:element name="ComputerHardwareType" type="xs:string" minOccurs="0"/>
+ <xs:element name="ComputerPlatform" type="xs:string" minOccurs="0"/>
+ <xs:element name="Connectivity" type="xs:string" minOccurs="0"/>
+ <xs:element name="ContinuousShootingSpeed" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="Country" type="xs:string" minOccurs="0"/>
+ <xs:element name="CountryOfOrigin" type="xs:string" minOccurs="0"/>
+ <xs:element name="CPUManufacturer" type="xs:string" minOccurs="0"/>
+ <xs:element name="CPUSpeed" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="CPUType" type="xs:string" minOccurs="0"/>
+ <xs:element name="Creator" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Role" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Cuisine" type="xs:string" minOccurs="0"/>
+ <xs:element name="Customizable" type="xs:string" minOccurs="0"/>
+ <xs:element name="DelayBetweenShots" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="DeliveryOption" type="xs:string" minOccurs="0"/>
+ <xs:element name="Department" type="xs:string" minOccurs="0"/>
+ <xs:element name="Description" type="xs:string" minOccurs="0"/>
+ <xs:element name="DeweyDecimalNumber" type="xs:string" minOccurs="0"/>
+ <xs:element name="DialColor" type="xs:string" minOccurs="0"/>
+ <xs:element name="DialWindowMaterialType" type="xs:string" minOccurs="0"/>
+ <xs:element name="DigitalZoom" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="Director" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="DisplaySize" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="DrumSetPieceQuantity" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="DVDLayers" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="DVDRWDescription" type="xs:string" minOccurs="0"/>
+ <xs:element name="DVDSides" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="DPCI" type="xs:string" minOccurs="0"/>
+ <xs:element name="EAN" type="xs:string" minOccurs="0"/>
+ <xs:element name="Edition" type="xs:string" minOccurs="0"/>
+ <xs:element name="ESRBAgeRating" type="xs:string" minOccurs="0"/>
+ <xs:element name="ExternalDisplaySupportDescription" type="xs:string" minOccurs="0"/>
+ <xs:element name="FabricType" type="xs:string" minOccurs="0"/>
+ <xs:element name="FaxNumber" type="xs:string" minOccurs="0"/>
+ <xs:element name="Feature" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="FirstIssueLeadTime" type="tns:StringWithUnits" minOccurs="0"/>
+ <xs:element name="FloppyDiskDriveDescription" type="xs:string" minOccurs="0"/>
+ <xs:element name="Format" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="FixedShippingCharge" type="tns:Price" minOccurs="0"/>
+ <xs:element name="GemType" type="xs:string" minOccurs="0"/>
+ <xs:element name="GraphicsCardInterface" type="xs:string" minOccurs="0"/>
+ <xs:element name="GraphicsDescription" type="xs:string" minOccurs="0"/>
+ <xs:element name="GraphicsMemorySize" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="GuitarAttribute" type="xs:string" minOccurs="0"/>
+ <xs:element name="GuitarBridgeSystem" type="xs:string" minOccurs="0"/>
+ <xs:element name="GuitarPickThickness" type="xs:string" minOccurs="0"/>
+ <xs:element name="GuitarPickupConfiguration" type="xs:string" minOccurs="0"/>
+ <xs:element name="HardDiskCount" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="HardDiskSize" type="tns:NonNegativeIntegerWithUnits" minOccurs="0"/>
+ <xs:element name="HasAutoFocus" type="xs:boolean" minOccurs="0"/>
+ <xs:element name="HasBurstMode" type="xs:boolean" minOccurs="0"/>
+ <xs:element name="HasInCameraEditing" type="xs:boolean" minOccurs="0"/>
+ <xs:element name="HasRedEyeReduction" type="xs:boolean" minOccurs="0"/>
+ <xs:element name="HasSelfTimer" type="xs:boolean" minOccurs="0"/>
+ <xs:element name="HasTripodMount" type="xs:boolean" minOccurs="0"/>
+ <xs:element name="HasVideoOut" type="xs:boolean" minOccurs="0"/>
+ <xs:element name="HasViewfinder" type="xs:boolean" minOccurs="0"/>
+ <xs:element name="HazardousMaterialType" type="xs:string" minOccurs="0"/>
+ <xs:element name="HoursOfOperation" type="xs:string" minOccurs="0"/>
+ <xs:element name="IncludedSoftware" type="xs:string" minOccurs="0"/>
+ <xs:element name="IncludesMp3Player" type="xs:boolean" minOccurs="0"/>
+ <xs:element name="Indications" type="xs:string" minOccurs="0"/>
+ <xs:element name="Ingredients" type="xs:string" minOccurs="0"/>
+ <xs:element name="InstrumentKey" type="xs:string" minOccurs="0"/>
+ <xs:element name="IsAutographed" type="xs:boolean" minOccurs="0"/>
+ <xs:element name="ISBN" type="xs:string" minOccurs="0"/>
+ <xs:element name="IsFragile" type="xs:boolean" minOccurs="0"/>
+ <xs:element name="IsLabCreated" type="xs:boolean" minOccurs="0"/>
+ <xs:element name="IsMemorabilia" type="xs:boolean" minOccurs="0"/>
+ <xs:element name="ISOEquivalent" type="tns:NonNegativeIntegerWithUnits" minOccurs="0"/>
+ <xs:element name="IssuesPerYear" type="xs:string" minOccurs="0"/>
+ <xs:element name="ItemDimensions" minOccurs="0" maxOccurs="1">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Height" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="Length" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="Weight" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="Width" type="tns:DecimalWithUnits" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="KeyboardDescription" type="xs:string" minOccurs="0"/>
+ <xs:element name="Label" type="xs:string" minOccurs="0"/>
+ <xs:element name="Languages" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Language" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Name" type="xs:string"/>
+ <xs:element name="Type" type="xs:string"/>
+ <xs:element name="AudioFormat" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="LegalDisclaimer" type="xs:string" minOccurs="0"/>
+ <xs:element name="LineVoltage" type="xs:string" minOccurs="0"/>
+ <xs:element name="ListPrice" type="tns:Price" minOccurs="0"/>
+ <xs:element name="MacroFocusRange" type="xs:string" minOccurs="0"/>
+ <xs:element name="MagazineType" type="xs:string" minOccurs="0"/>
+ <xs:element name="MalletHardness" type="xs:string" minOccurs="0"/>
+ <xs:element name="Manufacturer" type="xs:string" minOccurs="0"/>
+ <xs:element name="ManufacturerLaborWarrantyDescription" type="xs:string" minOccurs="0"/>
+ <xs:element name="ManufacturerMaximumAge" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="ManufacturerMinimumAge" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="ManufacturerPartsWarrantyDescription" type="xs:string" minOccurs="0"/>
+ <xs:element name="MaterialType" type="xs:string" minOccurs="0"/>
+ <xs:element name="MaximumAperture" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="MaximumColorDepth" type="xs:string" minOccurs="0"/>
+ <xs:element name="MaximumFocalLength" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="MaximumHighResolutionImages" type="tns:NonNegativeIntegerWithUnits" minOccurs="0"/>
+ <xs:element name="MaximumHorizontalResolution" type="tns:NonNegativeIntegerWithUnits" minOccurs="0"/>
+ <xs:element name="MaximumLowResolutionImages" type="xs:string" minOccurs="0"/>
+ <xs:element name="MaximumResolution" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="MaximumShutterSpeed" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="MaximumVerticalResolution" type="tns:NonNegativeIntegerWithUnits" minOccurs="0"/>
+ <xs:element name="MaximumWeightRecommendation" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="MemorySlotsAvailable" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="MetalStamp" type="xs:string" minOccurs="0"/>
+ <xs:element name="MetalType" type="xs:string" minOccurs="0"/>
+ <xs:element name="MiniMovieDescription" type="xs:string" minOccurs="0"/>
+ <xs:element name="MinimumFocalLength" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="MinimumShutterSpeed" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="Model" type="xs:string" minOccurs="0"/>
+ <xs:element name="ModelYear" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="ModemDescription" type="xs:string" minOccurs="0"/>
+ <xs:element name="MonitorSize" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="MonitorViewableDiagonalSize" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="MouseDescription" type="xs:string" minOccurs="0"/>
+ <xs:element name="MPN" type="xs:string" minOccurs="0"/>
+ <xs:element name="MusicalStyle" type="xs:string" minOccurs="0"/>
+ <xs:element name="NativeResolution" type="xs:string" minOccurs="0"/>
+ <xs:element name="Neighborhood" type="xs:string" minOccurs="0"/>
+ <xs:element name="NetworkInterfaceDescription" type="xs:string" minOccurs="0"/>
+ <xs:element name="NotebookDisplayTechnology" type="xs:string" minOccurs="0"/>
+ <xs:element name="NotebookPointingDeviceDescription" type="xs:string" minOccurs="0"/>
+ <xs:element name="NumberOfDiscs" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="NumberOfIssues" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="NumberOfItems" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="NumberOfKeys" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="NumberOfPages" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="NumberOfPearls" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="NumberOfRapidFireShots" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="NumberOfStones" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="NumberOfStrings" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="NumberOfTracks" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="OpticalZoom" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="OriginalReleaseDate" type="xs:string" minOccurs="0"/>
+ <xs:element name="OutputWattage" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="PackageDimensions" minOccurs="0" maxOccurs="1">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Height" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="Length" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="Weight" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="Width" type="tns:DecimalWithUnits" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="PearlLustre" type="xs:string" minOccurs="0"/>
+ <xs:element name="PearlMinimumColor" type="xs:string" minOccurs="0"/>
+ <xs:element name="PearlShape" type="xs:string" minOccurs="0"/>
+ <xs:element name="PearlStringingMethod" type="xs:string" minOccurs="0"/>
+ <xs:element name="PearlSurfaceBlemishes" type="xs:string" minOccurs="0"/>
+ <xs:element name="PearlType" type="xs:string" minOccurs="0"/>
+ <xs:element name="PearlUniformity" type="xs:string" minOccurs="0"/>
+ <xs:element name="PhoneNumber" type="xs:string" minOccurs="0"/>
+ <xs:element name="PhotoFlashType" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="PictureFormat" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="Platform" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="PriceRating" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="ProcessorCount" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="ProductGroup" type="xs:string" minOccurs="0"/>
+ <xs:element name="PromotionalTag" type="xs:string" minOccurs="0"/>
+ <xs:element name="POBoxShippingExcluded" type="xs:string" minOccurs="0"/>
+ <xs:element name="PublicationDate" type="xs:string" minOccurs="0"/>
+ <xs:element name="Publisher" type="xs:string" minOccurs="0"/>
+ <xs:element name="PurchasingChannel" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="ReadingLevel" type="xs:string" minOccurs="0"/>
+ <xs:element name="RecorderTrackCount" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="RegionCode" type="xs:string" minOccurs="0"/>
+ <xs:element name="RegionOfOrigin" type="xs:string" minOccurs="0"/>
+ <xs:element name="ReleaseDate" type="xs:string" minOccurs="0"/>
+ <xs:element name="ReturnMethod" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="RemovableMemory" type="xs:string" minOccurs="0"/>
+ <xs:element name="ResolutionModes" type="xs:string" minOccurs="0"/>
+ <xs:element name="ReturnPolicy" type="xs:string" minOccurs="0"/>
+ <xs:element name="RingSize" type="xs:string" minOccurs="0"/>
+ <xs:element name="SafetyWarning" type="xs:string" minOccurs="0"/>
+ <xs:element name="SalesRestriction" type="xs:string" minOccurs="0"/>
+ <xs:element name="SecondaryCacheSize" type="tns:NonNegativeIntegerWithUnits" minOccurs="0"/>
+ <xs:element name="SettingType" type="xs:string" minOccurs="0"/>
+ <xs:element name="Size" type="xs:string" minOccurs="0"/>
+ <xs:element name="SKU" type="xs:string" minOccurs="0"/>
+ <xs:element name="SoldInStores" type="xs:string" minOccurs="0"/>
+ <xs:element name="SizePerPearl" type="xs:string" minOccurs="0"/>
+ <xs:element name="SkillLevel" type="xs:string" minOccurs="0"/>
+ <xs:element name="SoundCardDescription" type="xs:string" minOccurs="0"/>
+ <xs:element name="SpeakerCount" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="SpeakerDescription" type="xs:string" minOccurs="0"/>
+ <xs:element name="SpecialFeatures" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="StoneClarity" type="xs:string" minOccurs="0"/>
+ <xs:element name="StoneColor" type="xs:string" minOccurs="0"/>
+ <xs:element name="StoneCut" type="xs:string" minOccurs="0"/>
+ <xs:element name="StoneShape" type="xs:string" minOccurs="0"/>
+ <xs:element name="StoneWeight" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="Studio" type="xs:string" minOccurs="0"/>
+ <xs:element name="SubscriptionLength" type="tns:NonNegativeIntegerWithUnits" minOccurs="0"/>
+ <xs:element name="SupportedImageType" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+ <xs:element name="SystemBusSpeed" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="SystemMemorySizeMax" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="SystemMemorySize" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="SystemMemoryType" type="xs:string" minOccurs="0"/>
+ <xs:element name="TellingPageIndicator" type="xs:string" minOccurs="0"/>
+ <xs:element name="TheatricalReleaseDate" type="xs:string" minOccurs="0"/>
+ <xs:element name="Title" type="xs:string" minOccurs="0"/>
+ <xs:element name="TotalDiamondWeight" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="TotalExternalBaysFree" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="TotalFirewirePorts" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="TotalGemWeight" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="TotalInternalBaysFree" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="TotalMetalWeight" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="TotalNTSCPALPorts" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="TotalParallelPorts" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="TotalPCCardSlots" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="TotalPCISlotsFree" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="TotalSerialPorts" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="TotalSVideoOutPorts" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="TotalUSB2Ports" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="TotalUSBPorts" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="TotalVGAOutPorts" type="xs:nonNegativeInteger" minOccurs="0"/>
+ <xs:element name="UPC" type="xs:string" minOccurs="0"/>
+ <xs:element name="VariationDenomination" type="xs:string" minOccurs="0"/>
+ <xs:element name="VariationDescription" type="xs:string" minOccurs="0"/>
+ <xs:element name="VendorRebate" minOccurs="0">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="Type" type="xs:string" minOccurs="0"/>
+ <xs:element name="StartDate" type="xs:string" minOccurs="0"/>
+ <xs:element name="EndDate" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Warranty" type="xs:string" minOccurs="0"/>
+ <xs:element name="WatchMovementType" type="xs:string" minOccurs="0"/>
+ <xs:element name="WebsiteBuyability" type="xs:string" minOccurs="0"/>
+ <xs:element name="WaterResistanceDepth" type="tns:DecimalWithUnits" minOccurs="0"/>
+ <xs:element name="WirelessMicrophoneFrequency" type="xs:nonNegativeInteger" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:complexType name="NonNegativeIntegerWithUnits">
+ <xs:simpleContent>
+ <xs:extension base="xs:nonNegativeInteger">
+ <xs:attribute name="Units" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:complexType name="DecimalWithUnits">
+ <xs:simpleContent>
+ <xs:extension base="xs:decimal">
+ <xs:attribute name="Units" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:complexType name="StringWithUnits">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="Units" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:simpleType name="positiveIntegerOrAll">
+ <xs:union>
+ <xs:simpleType>
+ <xs:restriction base="xs:positiveInteger"/>
+ </xs:simpleType>
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="All"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:union>
+ </xs:simpleType -->
+ </xs:schema>
+ </types>
+ <!-- message name="HelpRequestMsg">
+ <part name="body" element="tns:Help"/>
+ </message>
+ <message name="HelpResponseMsg">
+ <part name="body" element="tns:HelpResponse"/>
+ </message>
+ <message name="ItemSearchRequestMsg">
+ <part name="body" element="tns:ItemSearch"/>
+ </message>
+ <message name="ItemSearchResponseMsg">
+ <part name="body" element="tns:ItemSearchResponse"/>
+ </message>
+ <message name="ItemLookupRequestMsg">
+ <part name="body" element="tns:ItemLookup"/>
+ </message>
+ <message name="ItemLookupResponseMsg">
+ <part name="body" element="tns:ItemLookupResponse"/>
+ </message>
+ <message name="BrowseNodeLookupRequestMsg">
+ <part name="body" element="tns:BrowseNodeLookup"/>
+ </message>
+ <message name="BrowseNodeLookupResponseMsg">
+ <part name="body" element="tns:BrowseNodeLookupResponse"/>
+ </message>
+ <message name="ListSearchRequestMsg">
+ <part name="body" element="tns:ListSearch"/>
+ </message>
+ <message name="ListSearchResponseMsg">
+ <part name="body" element="tns:ListSearchResponse"/>
+ </message>
+ <message name="ListLookupRequestMsg">
+ <part name="body" element="tns:ListLookup"/>
+ </message>
+ <message name="ListLookupResponseMsg">
+ <part name="body" element="tns:ListLookupResponse"/>
+ </message>
+ <message name="CustomerContentSearchRequestMsg">
+ <part name="body" element="tns:CustomerContentSearch"/>
+ </message>
+ <message name="CustomerContentSearchResponseMsg">
+ <part name="body" element="tns:CustomerContentSearchResponse"/>
+ </message>
+ <message name="CustomerContentLookupRequestMsg">
+ <part name="body" element="tns:CustomerContentLookup"/>
+ </message>
+ <message name="CustomerContentLookupResponseMsg">
+ <part name="body" element="tns:CustomerContentLookupResponse"/>
+ </message>
+ <message name="SimilarityLookupRequestMsg">
+ <part name="body" element="tns:SimilarityLookup"/>
+ </message>
+ <message name="SimilarityLookupResponseMsg">
+ <part name="body" element="tns:SimilarityLookupResponse"/>
+ </message>
+ <message name="SellerLookupRequestMsg">
+ <part name="body" element="tns:SellerLookup"/>
+ </message>
+ <message name="SellerLookupResponseMsg">
+ <part name="body" element="tns:SellerLookupResponse"/>
+ </message -->
+ <message name="CartGetRequestMsg">
+ <part name="body" element="tns:CartGet"/>
+ </message>
+ <message name="CartGetResponseMsg">
+ <part name="body" element="tns:CartGetResponse"/>
+ </message>
+ <message name="CartAddRequestMsg">
+ <part name="body" element="tns:CartAdd"/>
+ </message>
+ <message name="CartAddResponseMsg">
+ <part name="body" element="tns:CartAddResponse"/>
+ </message>
+ <message name="CartCreateRequestMsg">
+ <part name="body" element="tns:CartCreate"/>
+ </message>
+ <message name="CartCreateResponseMsg">
+ <part name="body" element="tns:CartCreateResponse"/>
+ </message>
+ <message name="CartModifyRequestMsg">
+ <part name="body" element="tns:CartModify"/>
+ </message>
+ <message name="CartModifyResponseMsg">
+ <part name="body" element="tns:CartModifyResponse"/>
+ </message>
+ <message name="CartClearRequestMsg">
+ <part name="body" element="tns:CartClear"/>
+ </message>
+ <message name="CartClearResponseMsg">
+ <part name="body" element="tns:CartClearResponse"/>
+ </message>
+ <!-- message name="TransactionLookupRequestMsg">
+ <part name="body" element="tns:TransactionLookup"/>
+ </message>
+ <message name="TransactionLookupResponseMsg">
+ <part name="body" element="tns:TransactionLookupResponse"/>
+ </message>
+ <message name="SellerListingSearchRequestMsg">
+ <part name="body" element="tns:SellerListingSearch"/>
+ </message>
+ <message name="SellerListingSearchResponseMsg">
+ <part name="body" element="tns:SellerListingSearchResponse"/>
+ </message>
+ <message name="SellerListingLookupRequestMsg">
+ <part name="body" element="tns:SellerListingLookup"/>
+ </message>
+ <message name="SellerListingLookupResponseMsg">
+ <part name="body" element="tns:SellerListingLookupResponse"/>
+ </message>
+ <message name="MultiOperationRequestMsg">
+ <part name="body" element="tns:MultiOperation"/>
+ </message>
+ <message name="MultiOperationResponseMsg">
+ <part name="body" element="tns:MultiOperationResponse"/>
+ </message -->
+ <portType name="AWSECommerceServicePortType">
+ <!-- operation name="Help">
+ <input message="tns:HelpRequestMsg"/>
+ <output message="tns:HelpResponseMsg"/>
+ </operation>
+ <operation name="ItemSearch">
+ <input message="tns:ItemSearchRequestMsg"/>
+ <output message="tns:ItemSearchResponseMsg"/>
+ </operation>
+ <operation name="ItemLookup">
+ <input message="tns:ItemLookupRequestMsg"/>
+ <output message="tns:ItemLookupResponseMsg"/>
+ </operation>
+ <operation name="BrowseNodeLookup">
+ <input message="tns:BrowseNodeLookupRequestMsg"/>
+ <output message="tns:BrowseNodeLookupResponseMsg"/>
+ </operation>
+ <operation name="ListSearch">
+ <input message="tns:ListSearchRequestMsg"/>
+ <output message="tns:ListSearchResponseMsg"/>
+ </operation>
+ <operation name="ListLookup">
+ <input message="tns:ListLookupRequestMsg"/>
+ <output message="tns:ListLookupResponseMsg"/>
+ </operation>
+ <operation name="CustomerContentSearch">
+ <input message="tns:CustomerContentSearchRequestMsg"/>
+ <output message="tns:CustomerContentSearchResponseMsg"/>
+ </operation>
+ <operation name="CustomerContentLookup">
+ <input message="tns:CustomerContentLookupRequestMsg"/>
+ <output message="tns:CustomerContentLookupResponseMsg"/>
+ </operation>
+ <operation name="SimilarityLookup">
+ <input message="tns:SimilarityLookupRequestMsg"/>
+ <output message="tns:SimilarityLookupResponseMsg"/>
+ </operation>
+ <operation name="SellerLookup">
+ <input message="tns:SellerLookupRequestMsg"/>
+ <output message="tns:SellerLookupResponseMsg"/>
+ </operation -->
+ <operation name="CartGet">
+ <input message="tns:CartGetRequestMsg"/>
+ <output message="tns:CartGetResponseMsg"/>
+ </operation>
+ <operation name="CartAdd">
+ <input message="tns:CartAddRequestMsg"/>
+ <output message="tns:CartAddResponseMsg"/>
+ </operation>
+ <operation name="CartCreate">
+ <input message="tns:CartCreateRequestMsg"/>
+ <output message="tns:CartCreateResponseMsg"/>
+ </operation>
+ <operation name="CartModify">
+ <input message="tns:CartModifyRequestMsg"/>
+ <output message="tns:CartModifyResponseMsg"/>
+ </operation>
+ <operation name="CartClear">
+ <input message="tns:CartClearRequestMsg"/>
+ <output message="tns:CartClearResponseMsg"/>
+ </operation>
+ <!-- operation name="TransactionLookup">
+ <input message="tns:TransactionLookupRequestMsg"/>
+ <output message="tns:TransactionLookupResponseMsg"/>
+ </operation>
+ <operation name="SellerListingSearch">
+ <input message="tns:SellerListingSearchRequestMsg"/>
+ <output message="tns:SellerListingSearchResponseMsg"/>
+ </operation>
+ <operation name="SellerListingLookup">
+ <input message="tns:SellerListingLookupRequestMsg"/>
+ <output message="tns:SellerListingLookupResponseMsg"/>
+ </operation>
+ <operation name="MultiOperation">
+ <input message="tns:MultiOperationRequestMsg"/>
+ <output message="tns:MultiOperationResponseMsg"/>
+ </operation -->
+ </portType>
+ <binding name="AWSECommerceServiceBinding" type="tns:AWSECommerceServicePortType">
+ <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
+ <!-- operation name="Help">
+ <soap:operation soapAction="http://soap.amazon.com"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="ItemSearch">
+ <soap:operation soapAction="http://soap.amazon.com"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="ItemLookup">
+ <soap:operation soapAction="http://soap.amazon.com"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="BrowseNodeLookup">
+ <soap:operation soapAction="http://soap.amazon.com"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="ListSearch">
+ <soap:operation soapAction="http://soap.amazon.com"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="ListLookup">
+ <soap:operation soapAction="http://soap.amazon.com"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="CustomerContentSearch">
+ <soap:operation soapAction="http://soap.amazon.com"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="CustomerContentLookup">
+ <soap:operation soapAction="http://soap.amazon.com"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="SimilarityLookup">
+ <soap:operation soapAction="http://soap.amazon.com"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="SellerLookup">
+ <soap:operation soapAction="http://soap.amazon.com"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation -->
+ <operation name="CartGet">
+ <soap:operation soapAction="http://soap.amazon.com"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="CartCreate">
+ <soap:operation soapAction="http://soap.amazon.com"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="CartAdd">
+ <soap:operation soapAction="http://soap.amazon.com"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="CartModify">
+ <soap:operation soapAction="http://soap.amazon.com"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="CartClear">
+ <soap:operation soapAction="http://soap.amazon.com"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <!-- operation name="TransactionLookup">
+ <soap:operation soapAction="http://soap.amazon.com"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="SellerListingSearch">
+ <soap:operation soapAction="http://soap.amazon.com"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="SellerListingLookup">
+ <soap:operation soapAction="http://soap.amazon.com"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation>
+ <operation name="MultiOperation">
+ <soap:operation soapAction="http://soap.amazon.com"/>
+ <input>
+ <soap:body use="literal"/>
+ </input>
+ <output>
+ <soap:body use="literal"/>
+ </output>
+ </operation -->
+ </binding>
+ <service name="ProxyService">
+ <port name="AWSECommerceServicePort" binding="tns:AWSECommerceServiceBinding">
+ <soap:address location="http://localhost:8080/ShoppingStoreServiceComponent"/>
+ </port>
+ </service>
+</definitions>