2015-05-22 41 views
0

從Excel VBA中,我將POST發送到將XML作爲參數之一的API。包含XML的POST需要哪些請求標頭?

它工作正常,除非在XML中有和號(&)。 我已將他們轉移到&,但我仍然從API中收到錯誤,告訴我存在不允許的字符。

我使用的標題如下:

setRequestHeader( 「Content-Type的」, 「應用程序/ x-WWW的形式,進行了urlencoded」)

的XML我張貼如下所示:

<?xml version="1.0" encoding="UTF-8"?> 
<xml> 
    <row> 
     <column id="747">ALROS TRAVEL &amp; HOLIDAY CO.</column> 
     <column id="748">73318</column> 
     <column id="749"/> 
     <column id="750"/> 
    </row> 
</xml> 

看來,&導致根據我的測試問題。

我已經通過他們的測試工具測試了XML,它工作正常,所以我認爲請求頭是問題。

我已經要求API開發人員檢查他們從我的POST中收到了什麼,並且一旦出現&(即使它已被轉義),它似乎立即被切斷。

我可以得出的唯一結論是我使用了錯誤的請求標題,或者我應該以不同的方式發佈XML。

他們的測試工具是一個HTML表單,它使用「multipart/form-data」,但我似乎無法使用VBA中的數據,或者我收到「No authentication information is detected」消息。

有誰知道我可能做錯了什麼?

感謝

+0

你有沒有試過用CDATA標籤包裝節點? <![CDATA [data goes here]]> – Lance

+0

試試建議的解決方案[here](http://stackoverflow.com/questions/1328538/how-do-i-escape-ampersands-in-xml) – dePatinkin

+0

謝謝你們,信不信由於@dePatinkin鏈接上最後的評論給了我答案。我不得不使用%26amp%3B – LanceM

回答

0

謝謝你們,相信與否頁面@dePatinkin鏈路上的最後留言給我的回答。我不得不使用%26amp%3B