jQuery技术:在Sharepoint 2010中对自定义WCF服务进行身份validation

我在SharePoint 2010中创建了一个自定义WCF服务,我试图通过JQuery Ajax请求调用它。 我的自定义WCF服务是根据此处给出的示例建模的:

链接: http : //blog.sharepointbits.com/2010/04/custom-wcf-services-in-sharepoint-2010_17.html

上面的方法给了我一个可以从C#服务器端代码访问的WCF服务,以及一个自定义的InfoPath表单,但是,我无法使用JQuery Ajax获得响应。

我在Stack Overflow上的其他地方读到了使用MultipleBaseAddressWebServiceHostFactory而不是像原始文章所建议的MultipleBaseAddressBasicHttpBindingServiceHostFactory

链接: Sharepoint 2010 wcf服务。 用jquery调用方法

这工作,允许我通过JQuery Ajax联系(但不validation)服务,但是,

a)我无法再导航到http:// [servername] /_vti_bin/Service.svc/mex并查看WSDL。 此问题意味着我的InfoPath表单也无法连接到服务,因为它们寻找WSDL。

b)即使JQuery Ajax请求命中自定义WCF服务,浏览器也会每次都要求我进行身份validation,即使请求来自登录SharePoint的用户的浏览器。

如果有人知道如何解决问题a)和b)我会非常感激。 制作可以在任何应用程序中使用的服务确实不应该那么困难。

    经过一番捣乱,我坚持使用MultipleBaseAddressBasicHttpBindingServiceHostFactory 。 我没有尝试通过JSON联系WCF服务,而是创建了一个SOAP消息,将其发送到WCF服务,然后解析结果。

    有趣的是,这似乎也解决了我的身份validation问题,虽然我不清楚为什么。

    现在,该服务可以从InfoPath和JavaScript中使用。

    作为参考,从JavaScript到WCF的SOAP消息应如下所示:

        Value Value    

    和JQuery发送它:

     $.ajax({ type: "POST", url: url, data: soapEnvelope, timeout: timeOut, contentType: "text/xml", dataType: "xml", beforeSend: function (xhr) { xhr.setRequestHeader("SOAPAction", 'https://tempuri.org/' + methodPath); }, success: onSuccess, error: onFailure }); 

    注意:找出methodPath值应该是什么的最简单方法是查看服务的WSDL。

    需要了解更多jQuery教程分享在Sharepoint 2010中对自定义WCF服务进行身份validation,都可以关注jQuery技术分享栏目—计算机技术网(www.ctvol.com)!

      以上就是jQuery教程分享在Sharepoint 2010中对自定义WCF服务进行身份validation相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/jquerytutorial/981963.html

      (0)
      上一篇 2021年12月13日
      下一篇 2021年12月13日

      精彩推荐