J'ai développé un service Web SharePoint personnalisé et l'ai déployé dans /_vti_bin/myservice.asmx. En tant qu'utilisateur "régulier", la navigation vers cette URL ASMX fonctionne correctement. Lorsque j'essaie de naviguer vers "/_vti_bin/myservice.asmx/js" comme requis pour appeler ce service à partir d'ASP.Net AJAX, je reçois un 403. Si je navigue vers ce dernier, il n'y a pas moins d'un administrateur de ferme (admin de collection de sites) ne fonctionne pas), je reçois un 403. Il est tout à fait possible que le rôle de l'administrateur de la ferme en tant qu'administrateur de serveur local lui permette également de fonctionner.L'appel d'un service Web SharePoint personnalisé à partir d'ASP.Net AJAX génère une erreur 403?
C'est ma classe de service Web:
[WebService(Namespace = "http://sharepointservices.genericnamespace.com/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
[System.Web.Script.Services.ScriptService]
public class ApprovalSvc : System.Web.Services.WebService
{
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Xml)]
public XmlDocument GetInboxItems(string inboxName, string s_Id)
{
// code removed
}
}
C'est l'art de mon code partiel web où je suis brancher le truc ASP.Net AJAX:
ScriptManager scriptMgr = new ScriptManager();
string webUrl = SPContext.Current.Web.Url;
ServiceReference srvRef = new ServiceReference(webUrl + "/_vti_bin/ApprovalSvc.asmx");
scriptMgr.Services.Add(srvRef);
this.Controls.Add(scriptMgr);
Si je suis connecté en tant qu'administrateur de batterie/serveur, cela fonctionne. Sinon, non. L'assembly de service Web figure dans le GAC & répertorié dans SafeControls. Des idées?