Voici mon code pour récupérer une image à partir d'un emplacement de serveur dans un dossier de service Web "web content"
.Récupération d'une image à partir du serveur
// imports removed
public class WebService {
public int writeToFileImage(int a) throws IOException{
File file =new File("sdcard/myImage.jpg");
file.createNewFile();
URL u = new URL("http://172.29.26.40:8080/ExampleService/demo.jpg");
URLConnection uc = u.openConnection();
uc.connect();
InputStream in = uc.getInputStream();
FileOutputStream out;
out = new FileOutputStream(file);
final int BUF_SIZE = 1 << 8;
byte[] buffer = new byte[BUF_SIZE];
int bytesRead = -1;
while((bytesRead = in.read(buffer)) > -1) {
out.write(buffer, 0, bytesRead);
}
in.close();
out.close();
return a;
}
}
Mais je reçois une exception:
SOAP Response Envelope
- <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <soapenv:Body>
- <soapenv:Fault>
<faultcode>soapenv:Server.userException</faultcode>
<faultstring>java.net.ConnectException: Connection timed out: connect</faultstring>
- <detail>
<ns1:hostname xmlns:ns1="http://xml.apache.org/axis/">01HW040207</ns1:hostname>
</detail>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>
Quelle pourrait être la cause de l'erreur?
avez-vous essayé d'accéder à cette URL avec votre navigateur web? Peut-être que la ressource n'est tout simplement pas disponible? parce que je ne peux pas l'atteindre d'ici ... – Sephy
J'espère que vous êtes clair dans votre description de ce que vous voulez faire. De votre code, il semble que vous voulez récupérer l'image d'un serveur dans la carte SD de votre appareil. En général, vous ne rendrez pas le port 8080 public. Assurez-vous toutefois qu'il est accessible depuis votre émulateur. Les termes SOAP, WebService ne devraient pas être liés à cette simple tâche de télécharger une image sur un appareil. – dipu