bryger ha scritto:
Come da oggetto devo richiamare un servizo web pubblicato da una pagina silverlight per acquisire dei dati, questo il codice :
Dim wbsProva As New prova.Service1SoapClient
wbsProva.wmCheckLoginAsync(txtUtente.Text, txtPassword.Password)
quando però lancio la chiamata viene generato l'errore di crossdomain :
'Errore durante il tentativo di effettuare una richiesta all'URI 'http://x.x.x.x/prova/Main.asmx'. Ciò può essere dovuto al tentativo di accesso a un servizio in modalità di interdominio senza disporre di criteri di interdominio appropriati o con criteri non adatti ai servizi SOAP. Potrebbe essere necessario contattare il proprietario del servizio per pubblicare un file di criteri di interdominio e verificare che consenta l'invio di intestazioni HTTP correlate a SOAP. Questo errore potrebbe essere anche dovuto all'utilizzo di tipi interni nel proxy del servizio web senza utilizzare l'attributo InternalsVisibleToAttribute. Per ulteriori informazioni, vedere l'eccezione interna.'
a parte il fatto che non ne capisco il motivo dato che sto eseguendo il sito dall'ambiente VS2010 ma nella stessa macchina dove è pubblicato il servizio, ho letto che per risolvere bisogna inserire un file chiamato 'clientaccesspolicy.xml' dove è presente il servizio (root) contenente :
<?xml version="1.0" encoding="utf-8"?>
<access-policy>
<cross-domain-access>
<policy>
<allow-from http-request-headers="*">
<domain uri="*"/>
</allow-from>
<grant-to>
<resource path="/" include-subpaths="true"/>
</grant-to>
</policy>
</cross-domain-access>
</access-policy>
ma non funziona....
Grazie a tutti,
Ciao,
prova ad attaccare Fiddler, così capisci quali risorse vengono effettivamente chiamate e chi risponde "male" :)