2014-12-09 6 views
13

Ich versuche PayPal Express Checkout verwendet ich https://www.sandbox.paypal.com/wsdl/PayPalSvc.wsdl. , wenn ich rufe VerwendungEs konnte keine temporäre Klasse generiert werden (Ergebnis = 1). Fehler CS0030:

PayPalAPIAASoapBinding paypal = new PayPalAPIAASoapBinding(); 

Ich erhalte Fehler

Es konnte keine temporäre Klasse generieren (Ergebnis = 1). Fehler CS0030: Kann nicht Typ umwandeln 'exprtesscheckoutdemo.com.paypal.sandbox.TupleType []' zu 'paypal.sandbox.TupleType' Fehler CS0029: Kann nicht implizit Typ 'paypal.sandbox.TupleType' zu

konvertieren

wie diese mich über kommen

Antwort

27

Sie einfach auf diese Option, wenn auf die Version 119. Ihre generierten Web-Service-Datei zu aktualisieren, führen Sie eine Suche für [][] und alle Vorkommen mit [] ersetzen. Der Bösewicht scheint der merchantDataField in der PaymentDetailsType zu sein.

It seems to be a bug in the Microsoft WSDL tools bei der Interaktion mit Diensten, bei denen "geschachtelte Knoten mit dem Attribut maxOccurs auf unbounded gesetzt sind"; Ich habe es schon früher bei der Interaktion mit FedEx SOAP APIs erlebt.

+0

Ich traf dieses Problem auch. Ihre Lösung hat das Problem gelöst. Danke vielmals! Ich wäre neugierig, eine Lösung für vb.net zu finden. Ich habe Ihren Fix im Kontext einer C# -Klassenbibliothek implementiert, die ich dann kompiliert und dann meinem VB-Projekt hinzugefügt habe. – brando

+0

Auch danke. Dies ist der zweite Fix, den ich mit der von PayPal generierten Reference.cs-Datei ausführen musste. Der andere hatte mit einem Deserialize-Trap zu tun - Namespace 'cc' und 'ebl' nicht definiert. Siehe http://stackoverflow.com/questions/10172197/paypal-setexpresscheckout-soap und http://stackoverflow.com/questions/12106242/paypal-soap-api-reponses-require-manual-parsing. – GarDavis

+0

danke, hat funktioniert! auch heute noch vor diesem :) – skorzinetzki

Verwandte Themen