[SOLVED] XML API Failure

General discussions.

Moderator: moderators

[SOLVED] XML API Failure

Postby toxic » Fri Nov 27, 2009 4:07 am

It's in the title...

I have the latest version of Subsonic, I'm running it on ubuntu karmic, with the standalone web server...

[EDIT] Please, don't feel offended, as I re-read my post, i thought you could feel so... So I'm saying it loud once here : I think you've done a great job with Subsonic ! It's the most advanced job I've seen so far in this area ! So, really, I love your job, just the "shiny GUI" is not at my taste... That's why I'd like you to correct some bugs... Well just read the post...
[/EDIT]

The thing is that I really "hate" your way of managing directories ! I'd like to have my entire directories flatten, and sort the music on a iTune-Like way : list the artists or the albums, but not the file-structure...

So I thought I could use your API to make myself my own web-client, avoiding the slow standalone webserver or any other problem regarding tomcat (I really LOVE apache, and php is my world ! And I only had troubles with tomcat and JAVA...)

Notice that frames are VERY UGLY, first they bring with them lots of compatibility issues, but they also are ugly on a screen (set up your firefox to be as if you had a 1024x768 screen... You'll understand...

[EDIT2]Think about it : If you provide me with a functionnal XML API, I may be able to come up with some alternative GUI for Subsonic, and as I'm a great fan of Ubuntu, I might also package it for ubuntu, allowing you jub to spread easily to any Ubuntu-user ! Sure you'd like that !
[/EDIT2]

So I tried out the api, and by the simple command to list a directory :
http://xxx.xxx.xxx.xxx:8080/subsonic/re ... 4e49534544

[EDIT3]The directory I tried to list actually contains LOTS of subdirectories and files, but that should in no way be an Issue... And This directory is perfectly listed on the standalone-webserver (your GUI).
[/EDIT3]

I got an error... So here the result :

Code: Select all
Error

Subsonic encountered an internal error. You can report this error in the Subsonic Forum. Please include the information below. Exception   java.lang.NumberFormatException
Message   For input string: "2f6d656469612f446174612f4d757369632f4f5247414e49534544"
Java version   Sun Microsystems Inc. 1.6.0_15
Operating system   Linux 2.6.31-14-generic
Server   jetty-6.1.x
Memory   Used 37 of 70 MB
Stack trace   java.lang.NumberFormatException: For input string: "2f6d656469612f446174612f4d757369632f4f5247414e49534544"
   at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
   at java.lang.Integer.parseInt(Integer.java:458)
   at java.lang.Integer.parseInt(Integer.java:499)
   at net.sourceforge.subsonic.controller.LeftController.saveSelectedMusicFolder(LeftController.java:160)
   at net.sourceforge.subsonic.controller.LeftController.getLastModified(LeftController.java:77)
   at net.sourceforge.subsonic.controller.RESTController.getIndexes(RESTController.java:147)
   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 org.springframework.web.servlet.mvc.multiaction.MultiActionController.invokeNamedMethod(MultiActionController.java:473)
   at org.springframework.web.servlet.mvc.multiaction.MultiActionController.handleRequestInternal(MultiActionController.java:410)
   at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
   at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
   at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
   at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807)
   at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
   at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
   at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
   at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
   at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265)
   at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
   at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
   at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
   at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166)
   at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
   at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
   at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
   at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
   at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
   at org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:81)
   at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
   at net.sourceforge.subsonic.security.RESTRequestParameterProcessingFilter.doFilter(RESTRequestParameterProcessingFilter.java:108)
   at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
   at org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
   at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
   at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
   at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
   at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149)
   at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
   at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
   at net.sourceforge.subsonic.filter.RequestEncodingFilter.doFilter(RequestEncodingFilter.java:43)
   at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
   at net.sourceforge.subsonic.filter.ParameterDecodingFilter.doFilter(ParameterDecodingFilter.java:54)
   at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
   at net.sourceforge.subsonic.filter.BootstrapVerificationFilter.doFilter(BootstrapVerificationFilter.java:54)
   at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
   at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
   at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
   at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
   at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
   at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
   at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
   at org.mortbay.jetty.Server.handle(Server.java:313)
   at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506)
   at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:830)
   at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
   at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
   at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
   at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396)
   at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)
Last edited by toxic on Fri Jun 01, 2012 10:41 am, edited 1 time in total.
toxic
 
Posts: 7
Joined: Fri Nov 27, 2009 3:49 am

Re: XML API Failure

Postby sindre_mehus » Fri Nov 27, 2009 8:00 am

toxic wrote:So I tried out the api, and by the simple command to list a directory :
http://xxx.xxx.xxx.xxx:8080/subsonic/re ... 4e49534544


Hi,

You're using an invalid value for 'musicFolderId'. To get the list of valid values, use the getMusicFolders.view method.

Cheers,
Sindre
Subsonic developer
User avatar
sindre_mehus
 
Posts: 1955
Joined: Tue Nov 29, 2005 6:19 pm
Location: Oslo, Norway

Postby toxic » Fri Nov 27, 2009 10:47 pm

Well, in fact, it seems you have stragne conceptions about MusicFolder and MusicDirectory or something like that...

Anyway, I finally got to understand how your API's working... seems not to have failures in the end...

Thanks for the help anyway !

I will maybe report in another thread once I got a "suitable" php gui...

Note : It seems that to be able to make a directory-flatten and Album-Based GUI, I'll just be able to use subsonic as a streaming server... I'll need a Database on my own...
toxic
 
Posts: 7
Joined: Fri Nov 27, 2009 3:49 am


Return to General

Who is online

Users browsing this forum: No registered users and 3 guests