2010-04-22 13 views
13

¿Alguien sabe de una biblioteca (preferiblemente en C#) que tomará clases y generará archivos XML o planos adecuados para los feeds en Amazon Marketplace Web Services?¿Hay una biblioteca (C#) que creará feeds para los servicios web de Amazon Marketplace?

En otras palabras, me gustaría hacer algo como esto:

 var feed = new AmazonProductFeed(); 
     var list = new AmazonProductList(); 

     var product1 = new AmazonProduct(); 
     product1.Name = "Product 1"; 
     list.Add(product1); 

     var product2 = new AmazonProduct(); 
     product2.Name = "Product 2"; 
     list.Add(product2); 

     feed.Products = list; 
     // spits out XML compliant with Amazon's schema 
     Console.Write(feed.ToXml()); 

Parece que el único código Amazon proporciona son contenedores para el propio servicio web y la utilidad de transporte basado en directorios (amtu) .

Respuesta

7

El .NET XML Schema Definition Tool se puede utilizar para generar clases desde cualquier XSD y se puede utilizar junto con el serializador XML para hacer lo que se describe.

La Guía de XML de Selling On Amazon (SOA-GuideToXML.pdf) no contiene referencias a los XSD correctos. Los enlaces son inconsistentes con los XSD que se reimprimen en el documento. Mi antiguo enlace para corregir XSDs ya no es válido. Mi mejor suposición es que se pueden encontrar here (requiere un inicio de sesión de Seller Central).

Este comando (muy largo) generará todas las clases necesarias hasta donde yo sé. Tenga en cuenta que deberá realizar algunos cambios menores en el archivo generado. No recuerdo de qué manera funcionó, pero o necesitaba cambiar ciertas matrices de 2-D a matrices de 1-D ([] [] a []) o viceversa. Recuerdo los lugares donde tuve que hacer estos cambios siendo bastante obvio:

xsd xsd\amzn-base.xsd xsd\amzn-envelope.xsd xsd\amzn-header.xsd xsd\AttributeGroups.xsd xsd\AutoAccessory.xsd xsd\Beauty.xsd xsd\CameraPhoto.xsd xsd\CatPIL.xsd xsd\CE.xsd xsd\ClothingAccessories.xsd xsd\Customer.xsd xsd\CustomerAddress.xsd xsd\FoodAndBeverages.xsd xsd\FulfillmentCenter.xsd xsd\FulfillmentOrderCancellationRequest.xsd xsd\FulfillmentOrderRequest.xsd xsd\Gourmet.xsd xsd\Health.xsd xsd\Home.xsd xsd\HomeImprovement.xsd xsd\Image.xsd xsd\Inventory.xsd xsd\Item.xsd xsd\Jewelry.xsd xsd\Lighting.xsd xsd\Listings.xsd xsd\ListingSummary.xsd xsd\Loyalty.xsd xsd\MerchantListingsReport.xsd xsd\Miscellaneous.xsd xsd\MultiChannelOrderReport.xsd xsd\Music.xsd xsd\MusicalInstruments.xsd xsd\NavigationReport.xsd xsd\Offer.xsd xsd\Office.xsd xsd\OrderAcknowledgement.xsd xsd\OrderAdjustment.xsd xsd\OrderFulfillment.xsd xsd\OrderNotificationReport.xsd xsd\OrderReport.xsd xsd\Override.xsd xsd\PaymentMethod.xsd xsd\PetSupplies.xsd xsd\Price.xsd xsd\ProcessingReport.xsd xsd\Product.xsd xsd\ProductAttributes.xsd xsd\ProductClothing.xsd xsd\ProductImage.xsd xsd\Relationship.xsd xsd\ReverseFeed.xsd xsd\SettlementReport.xsd xsd\Sports.xsd xsd\Store.xsd xsd\SWVG.xsd xsd\TiresAndWheels.xsd xsd\Tools.xsd xsd\ToysBaby.xsd xsd\TypeDefinitions.xsd xsd\Video.xsd xsd\WebstoreItem.xsd xsd\Wireless.xsd /c /n:WebLinc.Services.Amazon.Marketplace > output.txt 2>&1 
pause 
+0

He estado intentando esto y no puedo conseguir que genere un archivo. Recibo errores como este: Error: Error al generar clases para el esquema ... - El esquema con targetNamespace = '' tiene una sintaxis no válida. El simpleType 'PercentageType' ya ha sido declarado. Línea 4 46, posición 3. - El tipo simple 'PorcentajeTipo' ya ha sido declarado. ¿Alguna idea? –

+0

Josh podría poner el xsd correcto en el enlace externo porque cada vez que intento abrir el enlace después de iniciar sesión el sitio me dice "No tiene permiso para ver esta página" aunque estoy conectado Gracias –

+0

Lo siento por el respuesta demorada. El generador de clases de proxy tiene una gran cantidad de problemas. Por lo que sé, solo tienes que corregir esos errores de forma manual. –

Cuestiones relacionadas