Ich habe einen benutzerdefinierten WCF-Dienst in SharePoint 2010 erstellt, die ich versuche, über eine JQuery Ajax-Anforderung aufrufen. Meine benutzerdefinierte WCF-Dienst ist auf dem Beispiel hier gegeben modelliert:
Link: http://blog.sharepointbits.com/2010/04/custom-wcf-services-in-sharepoint-2010_17.html
Die obige Methode gab mir einen WCF-Dienst, auf den ich von C#-Server-seitigem Code zugreifen konnte, und ein benutzerdefiniertes InfoPath-Formular, jedoch war ich nicht in der Lage, eine Antwort mit JQuery Ajax zu erhalten.
Ich habe an anderer Stelle auf Stack Overflow gelesen, dass man MultipleBaseAddressWebServiceHostFactory
anstelle einer MultipleBaseAddressBasicHttpBindingServiceHostFactory
wie der ursprüngliche Artikel nahelegt.
Link: Sharepoint 2010 wcf service. call method mit jquery
Dies funktionierte und erlaubte mir, den Dienst über JQuery Ajax zu kontaktieren (aber nicht zu authentifizieren),
a) Ich bin nicht mehr in der Lage zu navigieren zu http://[Servername]/_vti_bin/Service.svc/mex und sehen Sie eine WSDL. Dieses Problem bedeutet, dass meine InfoPath-Formulare auch keine Verbindung zum Dienst herstellen können, da sie nach einer WSDL suchen.
b) Obwohl die JQuery-Ajax-Anfrage auf den benutzerdefinierten WCF-Dienst trifft, fordert mich der Browser jedes Mal zur Authentifizierung auf, obwohl die Anfrage vom Browser eines bei SharePoint angemeldeten Benutzers stammt.
Wenn jemand weiß, wie man die Probleme a) und b) beheben kann, wäre ich sehr dankbar dafür. Es sollte wirklich nicht so schwierig sein, einen Dienst zu erstellen, der von jeder Anwendung aus genutzt werden kann.