Frage

Ich versuche, mein erstes Web-Service-Client für den eBay-API mit Hilfe der NetBeans neuen Web-Service-Client 'Assistenten und die WSDL gefunden hier . Mein Verständnis ist, dass dieser JAX-WS wird unter Verwendung von Klassendateien zu erzeugen, und meine Wünsche sind alle SOAP.

Alles in Ordnung, außer zu arbeiten scheint, wenn ich versuche, eine Anfrage auszuführen, eBay antwortet mit einem 404, der seine Standardantwort, wenn der Anruf keinen Sinn, es gemacht zu sein scheint.

Wireshark zeigt meine Anfrage wie:

<?xml version="1.0" ?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<FindItemsRequest xmlns="urn:ebay:apis:eBLBaseComponents">
<QueryKeywords>dvd players</QueryKeywords>
</FindItemsRequest></S:Body></S:Envelope>

Aber das eBay-API-Test-Tool sagen, dass es aussehen sollte:

<?xml version="1.0" encoding="utf-8"?>
<FindItems xmlns="urn:ebay:apis:eBLBaseComponents">
<QueryKeywords>dvd players</QueryKeywords>
</FindItems>

So NetBeans gewickelt hat meine Anfrage mit dem, was ich kann nur davon ausgehen, einig Standard-SOAP-Struktur, und Appends ‚Antrag‘ auf den Namen des Anrufs.

Woher hat er diese ‚Umschlag‘ Namespace aus und warum eBay es nicht benutzen? Und wie kann ich NetBeans sagen, was ich will es wirklich tun?

Ich frage mich auch, was der Nutzen für den eBay SDK über diese Methode ist (wenn es funktioniert).

War es hilfreich?

Lösung

Ich schaffte es, um herauszufinden, und wie immer ich mich selbst treten, nicht gründlich die API-Dokumentation zu lesen.

Der eBay-API erwartet bestimmte HTTP-Header gesetzt werden, bevor sie etwas anderes als ein 404 gibt.

Danach kam der SOAP-Anforderung NetBeans mit war richtig von eBay interpretiert und die erwarteten Ergebnisse zurückgegeben.

eBay einkaufen API HTTP-Header-Werte

JAX-WS Bedienungsanleitung - Einstellung HTTP-Header

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top