веб-сервис на Java с использованием (tomcat + AXIS2), где находится корень приложения? - PullRequest
0 голосов
/ 24 мая 2011

Я создаю функцию, которая загружает изображение на мой локальный веб-сервер.Когда я запускаю эту функцию как Java-приложение, оно работает нормально.Но когда я пытаюсь запустить этот метод с помощью веб-службы, созданной AXIS2 (http://localhost:8080/axis2/services/adoroCinemaService2/downloadPhoto), AXIS2 возвращает внутреннюю ошибку сервера.

Это происходит вероятно, потому что я использую «корневой путь»мой кодИтак, что мне нужно сделать, чтобы решить эту проблему?Где корень моего сервиса?Как я могу настроить этот путь?

    public void downloadPhoto() throws IOException{

    URL url = new URL("http://vamosla.mobi/img/bonde.png");
    String target = "vamosla.jpg";  

    HttpURLConnection c = (HttpURLConnection)url.openConnection();
    c.setRequestMethod("GET");
    c.setDoOutput(true);
    c.connect();

    FileOutputStream f = new FileOutputStream(new File(target));

     InputStream in = c.getInputStream();
        byte[] buffer = new byte[1024];
        int len1 = 0;
        while ( (len1 = in.read(buffer)) > 0 ) {
            f.write(buffer,0, len1);
        }

        f.close();
}

1 Ответ

0 голосов
/ 24 мая 2011

Хм, конечно, есть некоторые приемы, позволяющие понять, где код выполняется в данный момент, и установить относительные пути оттуда, но я не думаю, что это будет работать надежно для вас.

Поэтому я предлагаю вамнастроить что-то вроде 'asset.path' либо через системные свойства, либо через какой-либо файл конфигурации, который вы загружаете из вашего classpath.

...