SOAPAction Header!


最近的一個SharePoint項目要求不能使用后台代碼,所以為了與SharePoint內容進行交互,就得使用AJAX通過內置的web service去訪問和修改SharePoint數據。

對於我這種學SharePoint比學asp.net早的人來說,用javascript去調用web service並不是一件容易的事,雖然在asmx頁面中有關於發送和接收包的結構,但是很多地方都語焉不詳,而且平時即使用web service,也是直接在vs里直接添加,用面向對象的方式去調用,頂多操作一些xml,對其內部的通訊結構和內容並不了解。

為了應對這種需求,特意在服務器裝了sniffer pro去偵聽web service數據的內容,前面都很順利,讀取用戶配置文件、讀取列表內容一切正常,但是到修改的時候就碰到了問題,包的數據內容與sniffer截獲到的完全一致,但就是調用不成功。鼓搗了半天發現是在http header中漏掉了SOAPAction這個屬性,加上之后就一切正常了。

其實這個SOAPAction在asmx的頁面中也寫到了,不過之前一直只注意數據,沒有注意header;在sniffer中也截獲到了,不過也沒有注意到http header……看起來要通過web service向sharepoint里寫內容的話,SOAPAction這個header是必不可少的,有點像FormDigest控件對於普通web page的意義。

等項目搞完了考慮把操作sharepoint數據的這個javascript庫公開出來,嗯嗯。

ps. jQuery真是好啊真是好,解決了很多頭疼的跨瀏覽器問題。

ps & ps. Aptana真是好啊真是好,見過的最好用的javascript編輯器。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM