Hi Paolo,
> sUrl = "file:///home/paolo/Library1.uno.pkg"
>
> 'This one DOES NOT WORK!
> sUrl = _
> "vnd.sun.star.pkg://" & Join(Split(sUrl, "/"), "%2F")
> & "/META-INF/manifest.xml"
Using "vnd.sun.star.zip://" instead of "vnd.sun.star.pkg://" should do
the trick.
"vnd.sun.star.pkg" URL addresses an OO.o package, not a plain zip file.
OO.o package does not allow access to all content of the zip file it
actually resides in. The fact that an OO.o package is a zip file is
actually an implementation detail.
- Kai.
Paolo Mantovani wrote:
> Hi,
>
> I'm trying to read the manifest.xml content into a zipped package using the
> UniversalContentBroker service, but without any success.
>
> When I execute the "open" command I get the following error:
> Type: com.sun.star.ucb.InteractiveAugmentedIOException
> Message: "Got no data stream!"
> What am I doing worng?
> (See my testing code below)
>
> Thanks for any help
> Paolo M
>
>
> --------------------------------------------------
> REM ***** BASIC *****
>
> Sub ReadManifestTest
>
> oSM = GetProcessServiceManager()
> oUCB = oSM.createInstanceWithArguments( _
> "com.sun.star.ucb.UniversalContentBroker",
> Array("Local","Office"))
>
> sUrl = "file:///home/paolo/Library1.uno.pkg"
>
> 'This one DOES NOT WORK!
> sUrl = _
> "vnd.sun.star.pkg://" & Join(Split(sUrl, "/"), "%2F")
> & "/META-INF/manifest.xml"
>
> ' sUrl = "file:///home/paolo/manifest.xml" '<-- This WORKS!
>
> oID = oUCB.createContentIdentifier(sUrl)
> oProvider = oUCB.queryContentProvider(sUrl)
> oContent = oProvider.queryContent(oID)
>
> oPropSet = UcbExecuteCommand(oContent, "getPropertySetInfo", Null)
> oResult = UcbExecuteCommand(oContent, "getPropertyValues",
> oPropSet.getProperties())
> print oResult.getString(1) ' OK! "application/vnd.sun.star.pkg-stream
>
> Dim aArg As New com.sun.star.ucb.OpenCommandArgument2
> aArg.Mode = com.sun.star.ucb.OpenMode.DOCUMENT
> aArg.Priority = 32768
>
> oMySinc = CreateUnoService("com.sun.star.io.DataInputStream")
> aArg.Sink = oMySinc
>
> aRes = UcbExecuteCommand(oContent, "open", aArg) '**** ERROR HERE
>
> oReader =
> CreateUnoService("com.sun.star.packages.manifest.ManifestReader")
> mManifestProps() = oReader.readManifestSequence(oMySinc)
>
> End Sub
>
>
> Function UcbExecuteCommand(oContent As Object, _
> sCommandName As String, aArgument As Variant) As Variant
>
> ' Assemble command to execute.
> Dim aCommand As New com.sun.star.ucb.Command
> aCommand.Name = sCommandName
> aCommand.Handle = -1 ' not available
> aCommand.Argument = aArgument
>
> ' Note: throws CommandAbortedException and Exception since
> ' we pass null for the XCommandEnvironment parameter
> UcbExecuteCommand = oContent.execute(aCommand, 0, Null)
>
> End Function
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]