Moin!
Ich habe folgendes Problem:
Ich habe ein Programm geschrieben, dass ein PHP Skript auf einem Server ausführt, welches mir Daten zurückliefert. Wenn ich das einfach als Programm laufen lasse, funktioniert alles tadellos. Lass ich das ganze jedoch per JWS ausführen (Zertifikat vorhanden, Zugriffsrechte sollten eigentlich da sein...) bleibt mein Programm bei
irgendwann hängen und ich bekomme einen 504 Fehler.
Liegt das an den JWS Netzwerkrechten? Eigentlich sollte das ganze nicht in einer Sandbox ausgeführt werden (und wird auch nicht, da gültiges Zertifikat), da müßte ich doch die Rechte haben, oder? Und an dem Server liegt es nicht, wenn ich es, wie gesagt, als normale App laufen lasse geht alles.
Jemand ne Idee?
peace
Edit:
Hier mal die methoden:
für den Verbindungsaufbau:
um die Informationen abzuholen:
Ich habe folgendes Problem:
Ich habe ein Programm geschrieben, dass ein PHP Skript auf einem Server ausführt, welches mir Daten zurückliefert. Wenn ich das einfach als Programm laufen lasse, funktioniert alles tadellos. Lass ich das ganze jedoch per JWS ausführen (Zertifikat vorhanden, Zugriffsrechte sollten eigentlich da sein...) bleibt mein Programm bei
Code:
dataIn = new DataInputStream(targetURL.openStream());
irgendwann hängen und ich bekomme einen 504 Fehler.
Liegt das an den JWS Netzwerkrechten? Eigentlich sollte das ganze nicht in einer Sandbox ausgeführt werden (und wird auch nicht, da gültiges Zertifikat), da müßte ich doch die Rechte haben, oder? Und an dem Server liegt es nicht, wenn ich es, wie gesagt, als normale App laufen lasse geht alles.
Jemand ne Idee?
peace
Edit:
Hier mal die methoden:
für den Verbindungsaufbau:
Code:
protected void setUpConnection(){
try{
//Connection wird geöffnet, Einstellungen werden getätigt
System.out.println("open connection");
urlConnec = (HttpURLConnection)targetURL.openConnection();
System.out.println("trying to connect...");
//settings
urlConnec.setAllowUserInteraction(true);
urlConnec.setDoInput(true);
urlConnec.setDoOutput(true);
urlConnec.setUseCaches(true);
//connect
urlConnec.connect();
System.out.println("connected");
}//try
catch(IOException e1){
JOptionPane.showMessageDialog(null, "Es konnte keine Verbindung zum Server aufgebaut werden. \n" +
"Bitte versuchen Sie es zu einem späteren Zeitpunkt nochmal.");
System.exit(1);
//System.err.println(e1.toString());
}//catch
}//method setUpConnection
um die Informationen abzuholen:
Code:
protected String getInformation(){
System.out.println("trying to read...");
DataInputStream dataIn;
try {
System.out.println("creating new DataInputStream...");
//ein Datastream vom Server wird erstellt
dataIn = new DataInputStream(targetURL.openStream());
System.out.println("finished reading.");
//Zwischenlager für die Zeichen
Vector tmp = new Vector();
//liest die Zeichen einzeln ein
for (;;){
int data;
data = dataIn.read();
// Check for EOF
if (data == -1)
break;
else{
//fügt die Zeichen im Zeichenzwischenlager ein
tmp.add(new Character((char)data));
}//else
}//for
// ende der Verbindung
dataIn.close();
String tmpString = "";
//Umwandlung der Zeichen aus dem Zeichenzwischenlager in einen String
for(int i = 0; i< tmp.size(); i++){
tmpString = tmpString+((Character)tmp.get(i)).toString();
}//for
//gibt den eingelesenen String zurück
return tmpString;
}catch (IOException e1) {
System.out.println(e1);
e1.printStackTrace();
JOptionPane.showMessageDialog(null, "Es ist ein Fehler bei der Verbindung zum Server aufgetreten. \n " +
"Bitte versuchen Sie es erneut.");
//System.exit(1);
return null;
}//catch
}//method getInformation