Доступ к файлу из веб-службы - PullRequest
0 голосов
/ 07 января 2012

Я использую NetBeans для создания веб-службы и использую Glassfish в качестве сервера для тестирования его в NetBeans.

У меня есть файл, из которого я хочу, чтобы веб-сервис мог читать данные и, возможно, записывать в них. Но куда мне положить файл? Если «курс» - это мой корень проекта netbeans, я попытался поместить файл в следующие места:

\Course
\Course\xml-resources\jaxb\FlightRequest
\Course\web
\Course\web\WEB-INF
\Course\src\java\org\me\FBooking
\Course\build\web
\Course\build\web\WEB-INF
\Course\build\web\WEB-INF\classes

и попытался получить доступ к нему через веб-службу в моем коде демаршаллинга, используя (в качестве файла, к которому я пытаюсь получить доступ, это документ XML):

un = (AvailableFlights) unmarshaller.unmarshal(new java.io.File("AvailableFlights.xml")); 

Но он не может найти файл

Так, где я должен это разместить?

Ответы [ 2 ]

0 голосов
/ 08 января 2012

Взгляните на

getClass().getResourceAsStream("file")

, который должен быть в состоянии читать из файлов в файле WAR. (Не проверял это прямо сейчас ..) Но это только для чтения из файла.

0 голосов
/ 07 января 2012

Если вам нужно записать в файл, вы должны найти файл за пределами вашего развертываемого кода.

Если вам нужен только доступ только для чтения, размещение файла в Интернете / сделает файл доступным из веб-браузера. Это может быть не то, что вы хотите.

Если вы поместите файл в WEB-INF / classes, он будет доступен для вашего кода, но не доступен для общественности.

Ваш фрагмент кода для доступа к файлу будет работать только для файлов в файловой системе, а не для файлов, которые вы развертываете как часть WAR, поэтому вам нужно искать другие способы загрузки файла, если вы решите упаковать его как часть вашей войны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...