2009-02-25 6 views
5

Sto cercando di chiamare un metodo di servizio Web da javascript:Utilizzare ajax per chiamare un servizio Web quando l'autenticazione di Windows è attivata?

function Search() { 

     var context = new Object; 
     context.Filter = "Test"; 

     SearchService.GetSearch(context, onSuccess, onFailed); 
    } 

    function onSuccess(result) { 
     // userContext contains symbol passed into method 
     var res = document.getElementById("resultsDiv"); 
     res.innerHTML = result; 
    } 

    function onFailed(result) { 
     var res = document.getElementById("resultsDiv"); 
     res.innerHTML = result.get_message(); 
    } 

Ecco la firma servizio web:

[WebMethod] 
    public SearchComboBoxItemData[] GetSearch(object context) 
    { 

Quando uso l'autenticazione di form e consentire l'accesso anonimo al servizio Web, tutto funziona bene.

Tuttavia, quando uso l'autenticazione di Windows per l'applicazione, ma consentono solo l'accesso anonimo al webservice, chiamando il servizio web da JavaScript getta il seguente errore:

valido chiamata di servizio web, valore mancante per il parametro: ' contesto'.

Un'altra cosa che ho notato è che funziona perfettamente in entrambi i modi in Firefox. Sto vedendo l'errore su IE7.

Qualche idea su una possibile soluzione?

+0

Funziona da IE quando si abilita l'accesso anonimo e autenticato al servizio? –

+0

Hai trovato una soluzione a questo problema, sto riscontrando lo stesso problema. Grazie. – Picflight

risposta

0

Suppongo che tu stia utilizzando Ajax di ASP.NET.

Si potrebbe provare ad aggiungere:

preCondition="integratedMode" 

attributo alla sezione Moduli del file web.config.

Spero che questo aiuti

0

Sembra che si sta utilizzando l'autenticazione integrata, e IE ha effettuato l'accesso, ma Firefox non ha. Potresti voler controllare il nome utente con cui IE è registrato sotto.

Inoltre, qualcosa sulla falsariga di:

var temp = ""; 
for(prop in context){ 
    temp +=prop+"= "+context[prop]+"\n"; 
} 
alert(temp); 

di vedere solo quale contesto contiene.

Problemi correlati