Я создаю клиент для замены некоторого контента на социальном веб-сайте соединений, который у нас есть. Я написал java-клиент, следуя образцу кода из репозитория Github: https://github.com/OpenNTF/SocialSDK/tree/master/sdk/com.ibm.sbt.core.test/src/test/java/com/ibm/sbt/services/client/connections/filesОшибка контекста SBT при использовании вызова Fileservice.updatefile
А также используя этот учебник в качестве ссылки для создания конечных точек, а затем передачи его на другую службу.
Чтобы быть ясным, я размещаю контент в сообществе, поэтому я использую CommunityService для загрузки контента и FileService для обновления файлов сообщества.
Этот метод отлично работает: fileservice.updateCommunityFile (iStream, fileId, title, communityLibraryId, params) Это создает несколько версий на сервере, чего я не хочу.
Однако я хочу использовать этот - fileservice.updateFile (InputStream, файл Params) Если я использую один из приведенных выше в моем коде это вызывает ошибку ниже:
Error updating the file
com.ibm.sbt.services.client.connections.files.FileServiceException: Error updating the file
at com.ibm.sbt.services.client.connections.files.FileService.updateFile(FileService.java:2686)
at sbt.sample.standalone.java.StandaloneDemo.ReplacePhoto(StandaloneDemo.java:332)
at sbt.sample.standalone.java.StandaloneDemo.main(StandaloneDemo.java:239)
Caused by: java.lang.IllegalStateException: SBT context is not initialized for the request
at com.ibm.commons.runtime.Context.get(Context.java:57)
at com.ibm.sbt.services.endpoints.BasicEndpoint.authenticate(BasicEndpoint.java:151)
at com.ibm.sbt.services.client.ClientService.forceAuthentication(ClientService.java:296)
at com.ibm.sbt.services.client.ClientService.processResponse(ClientService.java:1154)
at com.ibm.sbt.services.client.ClientService._xhr(ClientService.java:1072)
at com.ibm.sbt.services.client.ClientService.execRequest(ClientService.java:1037)
at com.ibm.sbt.services.client.ClientService.xhr(ClientService.java:1003)
at com.ibm.sbt.services.client.ClientService.put(ClientService.java:937)
at com.ibm.sbt.services.client.ClientService.put(ClientService.java:933)
at com.ibm.sbt.services.client.base.BaseService.updateData(BaseService.java:439)
at com.ibm.sbt.services.client.connections.files.FileService.updateFile(FileService.java:2683)
Примечание: Пользователь который я использую в программе, является администратором сообщества, где размещается контент. Кроме того, есть ли способ, который я могу указать в sbtsdk api, чтобы заменить файл другим, не создавая другие версии?
Я нашел это похожим - Liferay Portal & IBM SBT SDK: SBT context is not initialized for the request Но я не понимаю, было ли у него какое-либо разрешение.
Спасибо.
Спасибо за ваш ответ. Это решает мою проблему отсутствия нескольких файлов в сообществе. Тем не менее, я не уверен, почему я получаю контекст, не инициализированный для некоторых других методов обработки файлов. Я принял ваш ответ, так как сейчас решает мою проблему. – Pitsteeler
Откуда вы знаете параметр «createVersion»? Это где-то задокументировано? Я хотел бы найти документацию для этого и других параметров, которые могут быть доступны. Благодаря! –
вот документация: http://www.10.lotus.com/ldd/appdevwiki.nsf/xpAPIViewer.xsp?lookupName=API+Reference#action=openDocument&res_title=Updating_a_file_ic50&content=apicontent –