会社行きたくなかったんです。

自由になりたくて会社辞めました

IT Tips Web API Yahoo!ショッピングWeb API

VB.netでPOSTするときにエラー内容のレスポンスが取得できない問題の解決法

投稿日:

VB.netでWebClientやHTTPWebRequestを使って、POSTする場合、400や401など4で始まるエラーが発生するとレスポンスの内容が取得できません。

スポンサーリンク

単純にURLにパラメータをつけてPOSTするだけの場合は、多分大丈夫です。
WebClientの場合は、Byte配列を使って、UploadValuesを使った場合に発生します。
(例:VB.netでヤフーショッピングのストアカテゴリ編集APIを使う方法

HTTPWebRequestの場合は、ContentLengthにデータを乗せて、レスポンスを取得する場合に発生する問題です。

これは、Try~CatchでWebExceptionを補足し、WebExceptionのレスポンスを読み取ることで問題が解決します。
「VB.netでヤフーショッピングのストアカテゴリ編集APIを使う方法」の場合、

の部分を、次のように書き換えます。

すると、htmlErrorの内容は、次のようになりました。

<?xml version="1.0" encoding="UTF-8" ?>
<Error>
<Message><![CDATA[同じカテゴリ階層に同名のストアカテゴリ名が存在します。]]></Message>
<Detail></Detail>
<Code>sc-01005</Code>
</Error>

-IT, Tips, Web API, Yahoo!ショッピングWeb API

Copyright© 自由になりたくて会社辞めました , 2023 AllRights Reserved Powered by AFFINGER4.