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编辑器。

posted on 2008-10-08 17:01  Erucy  阅读(7122)  评论(0编辑  收藏  举报

导航