Hvorfor erklære innhold som en streng føre WinHTTP å ikke sende HTTP-innhold i Excel VBA?

stemmer
0

Jeg har en Excel VBA-makro som gjør tilsvarende følgende HTTP POST som fungerer vellykket:

Set WebClient = CreateObject(WinHttp.WinHttpRequest.5.1)
' ... Configure WebClient for a POST request
RequestBody = <request>
WebClient.send RequestBody

Tidligere hadde jeg eksplisitt angi hvilken type RequestBody som en String som i følgende:

Set WebClient = CreateObject(WinHttp.WinHttpRequest.5.1)
' ... Configure WebClient for a POST request
Dim RequestBody As String
RequestBody = <request>
WebClient.send RequestBody

Dette så ut til å fungere riktig, bortsett fra at serveren fikk ingen forespørsel innhold.

På debugging gjennom begge versjonene en klokke på RequestBody beskrevet sin type som 'Variant / String' og innholdet var korrekt.

Hvorfor tillegg av en type forårsake dette problemet?

Publisert på 10/10/2008 klokken 14:53
kilden bruker
På andre språk...                            


1 svar

stemmer
2

Hmm ...

Prøv å legge referansen til WinHTTP bibliotek (Verktøy - Referanser). Uten åpenbar grunn noen ganger er det som teller.

Men Send metoden er deklarert som bruker en variant parameter uansett, så gjør det String gir ikke mening.

Svarte 10/10/2008 kl. 16:08
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more