Newsgroup: it.comp.java
Titolo: Aiuto applet...

Salve a tutti...
ho un piccolo problema con un'applet.
Dato che non sono molto pratico di Applet (di solito faccio delle
servlet) speravo che qualcuno di voi potesse aiutarmi...
Questo è il problema...
L'applet che sto realizzando (che è situata sul serverX) una volta
avviata deve leggere un file presente su un altro server (serverY).
Questo file è un volgarissimo file di testo che contiene delle
informazioni che ogni tanto vengono aggiornate...
Ora, se il file di testo lo metto nel serverX, tutto ok...
se invece lo metto nel serverY ecco quello che succede :
com.ms.security.SecurityExceptionEx[infoApplet.GetMessages]: cannot
access "cosmo":80
	at com/ms/security/permissions/NetIOPermission.check
	at com/ms/security/PolicyEngine.deepCheck
	at com/ms/security/PolicyEngine.checkPermission
	at com/ms/net/wininet/WininetURLConnection.checkSecurity
	at com/ms/net/wininet/WininetURLConnection.connect
	at com/ms/net/wininet/WininetURLConnection.getInputStream
	at sText2.GetMessages
	at sText2.run
	at java/lang/Thread.run
premetto che sia il serverX che il serverY per le prove appartengono
alla stessa rete interna (quindi non è un problema di proxy)...
Di seguito posto anche la parte relativa alla lettura del file esterno :
    public void GetMessages(String s)
            throws MalformedURLException, IOException, SecurityException
{
        try {
            s = MakeURL(s);
            URL url1 = new URL(s);
            URLConnection urlconnection = url1.openConnection();
            urlconnection.setUseCaches(false);
            BufferedReader datainputstream =
                new BufferedReader(new
InputStreamReader(urlconnection.getInputStream()));
            do {
                String s1;
                if ((s1 = datainputstream.readLine()) == null) {
                    break;
                }
	......
	......
Mi date una mano?!?!?!
Grazie 1000!
A.


non si puň fare che io sappia. uno dei limiti delle applet č proprio che non
puoi leggere da server diversi da quello che contiene l'applet. almeno mi
sembra sia cosě
ciao

 se invece lo metto nel serverY ecco quello che succede :
E' perchč le applet non si possono connettere ad un sito che non sia quello
da cui sono state scaricate.
Soluzioni possibili:
1) se il tutto gira in una intranet potresti abbassare il livello di
sicurezza della sandbox
2) potresti creare una condivisione via NFS, SAMBA, o quel che ti pare per
far sě che il file sembri presente anche sul server X e scaricarlo da lě,
3) firmare l'applet, cosě questa puň pure formattarti il disco rigido, se ci
tieni.
Ciao,
 Stefano
----------
"X WindowSSS, teSSSoro mio... lo odieremo per SSSempre"
Bill Gollum
----------

 
4) metti sul serverX una'applicazione, una servlet, un qualcosa
   che faccia da "proxy" fra l'applet e il serverY: l'applet fa
   la richiesta al serverX (l'unico che puo` contattare), che
   il quale interroga serverY, riceve il file, e lo rispedisce
   all'applet. Ti conviene usare una servlet.
-- 
Ciao,   |     /"\
 Matteo |     \ /     ASCII RIBBON CAMPAIGN
        |      X        AGAINST HTML MAIL
        |     / \

 
ehm... scusate l'ortografia: ho scritto un po` di corsa... ;-)
-- 
Ciao,  |  I play Russian roulette everyday, a man's sport,
Matteo |  With a bullet called life, yeah called life, (SUGAR)