Hi Maxim,

I made many test, this is an example of what I tried to do:

----------------------------------
$restService = new OmRestService();
$path = "http://www.mysite.com/myfile.jpg";;
$data = array("ownerId" => 2,
"externalId" => 1000,
"externalType" => "moodle",
"roomId" => 12,
"parentId" => 0,
"name" => "myfile.jpg"
);

$streamData = new CurlFile($path, 'image/jpg');

$params = array("file" => json_encode($data),
"stream" => $streamData
);
// Chiama la funzione per importare i file
$result = $restService->call($this->getRestUrl("file"),
RestMethod::POST,
$this->sessionId,
$params,
null,
"fileExplorerItemDTO");
----------------------------------

If I use
$streamData = '@'.$path

or

new CurlFile($path, 'image/jpg');

the result does not change. Service return this error: "*Request
OpenMeetings! OpenMeetings Service failed and no response was returned.
Additioanl info:*"
but Additional info is empty.

No duobt there is an error in the SOAP parameters, but digging in the Java
source code of OM, in the class FileExplorerItemDTO there is'nt method
fromString, which has been present in the RoomDTO class or ExternalUserDTO.

Where is the mistake?

Thank you, and please let me know.


Alessio



2016-09-20 20:18 GMT+02:00 Maxim Solodovnik <solomax...@gmail.com>:

> Current version of the Gateway is unable to work with files
> But there are lots of examples (for ex. here http://blog.derakkilgo.
> com/2009/06/07/send-a-file-via-post-with-curl-and-php/) how this can be
> implemented
> I can add it to the api https://github.com/openmeetings/openmeetings-api-
> plugin
> but unfortunately not right now :(
>
> On Tue, Sep 20, 2016 at 11:56 PM, Alessio Falsetti <
> alessio.false...@eng.it> wrote:
>
>> Hello Hemant,
>>
>> thank you for your help! I had already seen this documentation, but there
>> is still the problem of inserting files into the room. With the previous
>> version of OM Gateway & APIs, I call this:
>>
>> $result = $restService->call($this->getRestUrl("FileService") .
>> "importFile?SID=" . $this->session_id
>> . "&externalUserId=" . urlencode($userId)
>> . "&externalFileId=" . $externalFileId
>> . "&externalType=" . urlencode($externalType)
>> . "&room_id=" . urlencode($room_id)
>> . "&isOwner=" . $isOwner
>> . "&path=" . urlencode($path)
>> . "&parentFolderId=" . $parentFolderId
>> . "&fileSystemName=" . urlencode($fileSystemName));
>>
>> and everything works smoothly, OM takes the files directly from the URL 
>> specified
>> in "*path*".
>>
>> With the new version, this no longer works, and the funcion "*add*" is
>> described in the documentation as follows:
>> ------------------------------------------------------------------
>> add
>>
>> @POST
>> @Consumes(value="multipart/form-data")
>> @Path(value="/")
>> public FileExplorerItemDTO 
>> <http://openmeetings.apache.org/openmeetings-db/apidocs/org/apache/openmeetings/db/dto/file/FileExplorerItemDTO.html?is-external=true>
>>  add(@QueryParam(value="sid")
>>                                String 
>> <http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true>
>>  sid,
>>                                FileExplorerItemDTO 
>> <http://openmeetings.apache.org/openmeetings-db/apidocs/org/apache/openmeetings/db/dto/file/FileExplorerItemDTO.html?is-external=true>
>>  file,
>>                               InputStream 
>> <http://docs.oracle.com/javase/7/docs/api/java/io/InputStream.html?is-external=true>
>>  stream)
>>           throws org.apache.openmeetings.webservice.error.ServiceException 
>> <http://openmeetings.apache.org/openmeetings-db/apidocs/org/apache/openmeetings/webservice.error.ServiceException.html?is-external=true>
>>
>> to add a folder to the private drive, set parentFileExplorerItemId = 0
>> and isOwner to 1/true and externalUserId/externalUserType to a valid user
>> Parameters:sid - The SID of the User. This SID must be marked as logged
>> infile - the The file to be addedstream - the The file to be added
>> Returns:- Object created
>> ------------------------------------------------------------------
>>
>> How do I pass the FileExplorerItemDTO and, above all, the InputStream
>> through OmGateway.php or OmRestService,php??
>>
>> Thank you and let me know!
>>
>> Alessio
>>
>>
>>
>>
>> 2016-09-19 19:13 GMT+02:00 Coscend@OM <om.insig...@coscend.com>:
>>
>>> Hello Alessio,
>>>
>>> Guide and snippets:  https://github.com/openmeeting
>>> s/openmeetings-api-plugin/wiki
>>> Moodle plugin:  http://openmeetings.apache.org/MoodlePlugin.html
>>>
>>> Thank you.
>>>
>>> Sincerely,
>>>
>>> Hemant K. Sabat
>>>
>>> Coscend Communications Solutions
>>> Web site: www.Coscend.com
>>> ------------------------------------------------------------------
>>> CONFIDENTIALITY NOTICE: See 'Confidentiality Notice Regarding E-mail
>>> Messages from Coscend Communications Solutions' posted at:
>>> http://www.Coscend.com/Terms_and_Conditions.html
>>>
>>>
>>>
>>> -----Original Message-----
>>> From: Alessio Falsetti [mailto:alessio.false...@eng.it]
>>> Sent: Monday, September 19, 2016 12:08 PM
>>> To: user@openmeetings.apache.org
>>> Subject: REST API
>>>
>>> Hi,
>>>
>>> through the REST API of OpenMeetings (3.1.1), I'm trying to upload files
>>> into a room.
>>>
>>> I'm trying to use the FileWebService API to add the files. Reading the
>>> documentation I seem to have understood that the function to be used is
>>> ADD, but until now I have not been successful use it, because I have not
>>> clear what and how parameters needs to pass to the function.
>>>
>>> Where can I find a *working* example in PHP?
>>> Thanks a lot!
>>>
>>> Alessio
>>>
>>>
>>>
>>>
>>> -----
>>> No virus found in this message.
>>> Checked by AVG - www.avg.com
>>> Version: 2016.0.7797 / Virus Database: 4656/13044 - Release Date:
>>> 09/19/16
>>>
>>>
>>
>
>
> --
> WBR
> Maxim aka solomax
>

Reply via email to