0

USPS のアドレス Web サービスにアクセスする Web サービス リクエストを作成したいと考えています。要求 URL 文字列を必要な形式で作成する際に問題に直面しています。私がやりたいのは、変数に郵便番号を付けて、動的にできるようにすることです。しかし、USPS の Web サービスは、送信している URL 文字列を受け入れません。形式に誤りがあると思われます。

USPS が期待する形式は次のとおりです。

<CityStateLookupRequest USERID=”xxxxxxxx”&gt;
<ZipCode ID="0">
<Zip5>90210</Zip5>
</ZipCode>
<ZipCode ID="1">
<Zip5>20770</Zip5>
</ZipCode>
</CityStateLookupRequest> 

https://servername/ShippingAPI.dll?API=CityStateLookup&XML=<CityStateLookupRe
quest USERID="username">.......</CityStateLookupRequest> 

これは私がURLを構築しようとしている方法です:

WebRequest USPSReq = String.Format("http://production.shippingapis.com/ShippingAPI.dll?API=CityStateLookup&XML=CityStateLookupRequest&USERID=xxxxxxxx&ZipCode ID=0&Zip5=" + oZip);

このリクエスト URL を作成するにはどうすればよいですか?

4

1 に答える 1

1

お気に入りの XML API を使用してその XML を構築するだけです。例えば:

XDocument requestXml = new XDocument(
    new XElement("CityStateLookupRequest",
        new XAttribute("USERID", userID),
        new XElement("ZipCode",
            new XAttribute("ID", "0"),
            new XElement("ZIP5", zip5)));
var requestUrl = new UriBuilder("http://production.shippingapis.com/ShippingAPITest.dll");
requestUrl.Query = "API=CityStateLookup&XML=" + requestXml.ToString();
var request = WebRequest.Create(requestUrl.Uri);
于 2013-07-20T01:34:01.430 に答える