Hi Andreas, I tried "MS Word 2007 XML", but that didn't help.
So I'm willing to add extra hints. Though I'm a bit confused as to how I would set the MIME type information. How do I do so? And what should it be set to? Thanks. ps: I wish to use "XinputStream"s so that I may load from memory and avoid going to disk. It is a security requirement of the end-product. I would love to load files from URL and save myself the hassle of XInpuStream (and late XOutputStream). :) - Albert -----Original Message----- From: Andreas Schlüns [mailto:andreas.schlu...@sun.com] Sent: Monday, January 12, 2009 03:07 To: dev@api.openoffice.org Subject: Re: [api-dev] XComponentLoader.ComponentFromURL throws IllegalArgumentException: URL seems to be an unsupported one. Hi Albert, The right FilterName is "MS Word 2007 XML". And no ... you dont have to provide a XComponent. It should work if you use "private:stream" + FilterName + XInputStream. On the other side your example code showed me you have a valid URL ... and I was wondering why you dont used it here .-) Please note: Loading documents into OOo only by using streams (means URL=private:stream) wont have the same detection rate then using real and valid URL's ! As I've already mentioned ... some formats are ambigous. Providing a stream only wont solve that ambigous state. You have to provide MORE informations as e.g. MimeType/Extension/FilterName/TypeName/TargetApplicationName to make sure things will happen right. Regards Andreas > Hi Steffen, > > Okay, that's worth a try... <a few minutes later>. Ya, it didn't work. > Perhaps I'm using the wrong filter name. I've used the > following filter names to no success. > > "Microsoft Word 2007 XML" > "writer_MS_Word_2007" > "MOOX" > > Did I use the proper one? > > > > - > Albert > > > -----Original Message----- > From: steffen.gr...@sun.com [mailto:steffen.gr...@sun.com] > Sent: Friday, January 09, 2009 02:50 > To: dev@api.openoffice.org > Subject: Re: [api-dev] XComponentLoader.ComponentFromURL throws > IllegalArgumentException: URL seems to be an unsupported one. > > Hi Albert, > > your code works fine for me. Of course, I used only a simple odt > document. Perhaps the filter for loading the docx document cannot be > determined. You can add this to the properties for loadComponentFromUrl, > the name of the property is FilterName, the value the name of the filter > you'd like to use. > > Regards, Steffen > > > Albert Law wrote: >> Hi, >> >> Me, again. :) >> >> I'm having problems with XComponentLoader.ComponentFromURL where it is >> loading from an XinputStream. I'm a bit paranoid and don't >> want this to be a reoccurance of bug 75191 ( >> http://www.openoffice.org/issues/show_bug.cgi?id=75191 ). Can anyone see >> what I > could >> have possibly done wrong in the following code? Thanks! >> >> ps: The ultimate goal is to load from a byte[]. This seemed to be a good >> first step. >> >> pps: Nothing is null and the file does exist. In fact, I have successfully >> loaded from a URL via "XComponent xComponent = >> xComponentLoader.loadComponentFromURL("file:///c:/test.docx", "_blank", 0, >> loadProps);" where "loadProps" is empty. >> >> ppps: I'm using the most recent version of everything. >> >> >> [begin] >> XComponentContext xContext = Bootstrap.bootstrap(); >> XMultiComponentFactory xServiceManager = xContext.getServiceManager(); >> Object desktop = >> xServiceManager.createInstanceWithContext("com.sun.star.frame.Desktop", >> xContext); >> XComponentLoader xComponentLoader = >> (XComponentLoader)UnoRuntime.queryInterface(XComponentLoader.class, desktop); >> XSimpleFileAccess xSimpleFileAccess = >> (XSimpleFileAccess)UnoRuntime.queryInterface(XSimpleFileAccess.class, >> xServiceManager.createInstanceWithContext("com.sun.star.ucb.SimpleFileAccess", >> xContext)); >> XInputStream xInputStream = >> xSimpleFileAccess.openFileRead("file:///c:/test.docx"); >> PropertyValue[] loadProps = new PropertyValue[1]; >> loadProps[0] = new PropertyValue(); >> loadProps[0].Name = "InputStream"; >> loadProps[0].Value = xInputStream; >> XComponent xComponent = >> xComponentLoader.loadComponentFromURL("private:stream", "_blank", 0, >> loadProps); >> [end] >> >> >> leads to (line numbers are off, of course): >> com.sun.star.lang.IllegalArgumentException: URL seems to be an unsupported >> one. >> at >> com.sun.star.lib.uno.environments.remote.Job.remoteUnoRequestRaisedException(Job.java:182) >> at com.sun.star.lib.uno.environments.remote.Job.execute(Job.java:148) >> at >> com.sun.star.lib.uno.environments.remote.JobQueue.enter(JobQueue.java:344) >> at >> com.sun.star.lib.uno.environments.remote.JobQueue.enter(JobQueue.java:313) >> at >> com.sun.star.lib.uno.environments.remote.JavaThreadPool.enter(JavaThreadPool.java:101) >> at >> com.sun.star.lib.uno.bridges.java_remote.java_remote_bridge.sendRequest(java_remote_bridge.java:652) >> at >> com.sun.star.lib.uno.bridges.java_remote.ProxyFactory$Handler.request(ProxyFactory.java:154) >> at >> com.sun.star.lib.uno.bridges.java_remote.ProxyFactory$Handler.invoke(ProxyFactory.java:136) >> at $Proxy3.loadComponentFromURL(Unknown Source) >> at com.snowbound.testOOUno.main(testOOUno.java:223) >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) >> at >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >> at java.lang.reflect.Method.invoke(Method.java:597) >> at com.sun.star.lib.loader.Loader.main(Loader.java:144) >> >> >> >> >> >> - >> Albert >> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: dev-unsubscr...@api.openoffice.org >> For additional commands, e-mail: dev-h...@api.openoffice.org >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@api.openoffice.org > For additional commands, e-mail: dev-h...@api.openoffice.org > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@api.openoffice.org > For additional commands, e-mail: dev-h...@api.openoffice.org > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@api.openoffice.org For additional commands, e-mail: dev-h...@api.openoffice.org --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@api.openoffice.org For additional commands, e-mail: dev-h...@api.openoffice.org