Autor Beitrag
Schafschaf
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 63
Erhaltene Danke: 2

Windows 10
C# (VS 2015)
BeitragVerfasst: Mo 23.02.15 15:59 
Hallo alle miteinander,

ich bin neu hier und weiss absolut nicht mehr weiter.
Es geht darum, Daten von Amazon auszulesen. Dafür verwende ich die MWS Api von Amazon.
Ich wollte meinen Preis von amazon für ein bestimmtes Produkt auslesen.
Dafür verwende ich die "GetMyPriceForASIN" Methode.

Der Client muss mit dem AccessKey und SecretKey instanziert werden und benötigt eine GetMyPriceForASIN, welche die MarketplaceID, SellerID und eine ASIN Liste mit dem abzufragenden ASINS enthält.
(In meinem Beispiel nur eine)
Die GetMyPriceForAsin Methode sollte ein GetMyPriceForAsinResponse Objekt zurückgeben. An der Stelle knallts weil angeblich der Parameter Request null ist, das ist er aber nicht! :(

Hier mal ein Quellcodeausschnitt:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
            try
            {               
                MarketplaceWebServiceProductsClient client = new MarketplaceWebServiceProductsClient(accessKey,secretKey);
                
                GetMyPriceForASINRequest request = new GetMyPriceForASINRequest();

                                               
                ASINListType list = new ASINListType();
                list.ASIN.Add(asin);                    //asin ist ein string

                request.WithASINList(list);
                request.WithMarketplaceId(marketplaceID);
                request.WithSellerId(sellerId);                            
                                    
                GetMyPriceForASINResponse response = new GetMyPriceForASINResponse();
            
                response = client.GetMyPriceForASIN(request);    //Hier sagt er "reqest wäre nicht auf eine Objektinstanz festgelegt...
                                                 
            }
            catch(MwsException ex)
            {
                MessageBox.Show(ex.ToString());
            }

Ich hoffe jemand hat ein bisschen Erfahrung mit MWS und kann mir hier helfen.

LG Schafschaf

Moderiert von user profile iconTh69: C#-Tags hinzugefügt
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mo 23.02.15 16:09 
Benutzt du das hier als Clientbibliothek?
Wenn ja zeig uns doch mal den StackTrace zur Exception. Auch wenn wir damit keine Erfahrung haben können wir uns sicher aus dem Stacktrace und dem Source einen Reim draus machen.

Für diesen Beitrag haben gedankt: Schafschaf
Schafschaf Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 63
Erhaltene Danke: 2

Windows 10
C# (VS 2015)
BeitragVerfasst: Mo 23.02.15 16:29 
@Ralf Jansen

Ja, unter anderem nehme ich die. Davon gabs nur die Sourcedateien, die habe ich kompiliert und die dll als Verweis in mein Projekt eingebunden.
Außerdem nehme ich die "Produkte" Bibliothek von der Seite die du verlinkt hast. (Links im Menü)

Stacktrace habe ich noch nie benutzt, grad mal geschaut wie das geht. So sieht das Exception.StackTrace aus, was ich mir habe ausgeben lassen, ich hoffe das ist das was du gemeint hast:
Zitat:
bei MWSClientCsRuntime.MwsConnection.Call[T](IMwsRequestType`1 type, IMwsObject requestData)
bei MarketplaceWebServiceProducts.MarketplaceWebServiceProductsClient.GetMyPriceForASIN(GetMyPriceForASINRequest request)
bei WindowsFormsApplication7.Form1.button1_Click(Object sender, EventArgs e) in c:\Users\ich\Documents\Visual Studio 2013\Projects\WindowsFormsApplication7\WindowsFormsApplication7\Form1.cs:Zeile 64.


Moderiert von user profile iconTh69: Quote-Tags hinzugefügt.
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mo 23.02.15 16:48 
Das meinte ich. Soweit ich das übersehen kann hilft uns das aber noch nicht. An dieser Exception hängt noch eine InnerException dran dessen StackTrace wäre vermutlich Aussagekräftiger (nicht nur der Stack sondern auch dessen Exception Message).

Bevor wir uns da durch schlagen hast du das Sample das auch im Downloadpaket enthalten ist ausprobiert? In dem Ordner wo auch der MarketplaceWebServiceProductsClient liegt auch eine MarketplaceWebServiceProductsSample Datei mit dem typischen Aufruf. Dort kann ich ersehen das da noch eine Configurationklasse in den Client geschoben wird unter anderem mit der url wohin der Aufruf gehen soll. Möglicherweise fehlt dir also nur das Übergeben einer Configurationklasse an die MarketplaceWebServiceProductsClient Klasse.

Für diesen Beitrag haben gedankt: Schafschaf
Schafschaf Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 63
Erhaltene Danke: 2

Windows 10
C# (VS 2015)
BeitragVerfasst: Mo 23.02.15 17:01 
Oh, dieses Sample habe ich noch gar nicht gefunden. Bevor wir uns da durchschlagen werde ich das mal erstmal ausprobieren.
Ich melde mich wieder wenn ich es versucht habe und sage schonmal vielen Dank fürs Helfen und das Angebot dich damit mit mir durchzuschlagen falls es nicht klappt :)
Schafschaf Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 63
Erhaltene Danke: 2

Windows 10
C# (VS 2015)
BeitragVerfasst: Mo 23.02.15 18:00 
It works!
Mit dem config Objekt und der Url aus dem Entwicklerleitfaden hat es super geklappt.
Vielen Dank an @Ralf Jansen :)