1

NetBeans の「新しい Web サービス クライアント」ウィザードとここにある WSDL を使用して、eBay API 用の最初の Web サービス クライアントを作成しようとしています。私の理解では、これは JAX-WS を使用してクラス ファイルを生成しており、私の要求はすべて SOAP です。

リクエストを実行しようとすると、eBay は 404 で応答します。これは、呼び出しが意味をなさない場合の標準的な応答のようです。

Wireshark は私のリクエストを次のように表示します。

<?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>

しかし、eBay API テスト ツールによると、次のようになります。

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

そのため、NetBeans は、標準的な SOAP 構造であるとしか思えないもので私の要求をラップし、呼び出しの名前に「Request」を追加します。

この「エンベロープ」名前空間はどこから取得し、なぜ eBay はそれを使用しないのですか? また、NetBeans に本当にやりたいことをどのように伝えることができますか?

また、この方法よりも eBay SDK にどのような利点があるのか​​ も疑問に思っています(機能した場合)。

4

1 に答える 1

0

私はそれを理解することができました.いつものように、私はAPIドキュメントを徹底的に読まなかったために自分自身を蹴っています.

eBay API は、404 以外を返す前に、特定の HTTP ヘッダーが設定されていることを想定しています。

その後、NetBeans が思いついた SOAP 要求は eBay によって正しく解釈され、期待される結果が返されました。

eBay ショッピング API HTTP ヘッダー値

JAX-WS ユーザーガイド - HTTP ヘッダーの設定

于 2009-01-03T15:34:16.920 に答える