Browse.run fails with "Can't transform null or non-string/zero-length body of"
mvysny opened this issue · comments
On some DLNAs I am receiving the following error:
Caused by org.fourthline.cling.model.action.ActionException: Error reading SOAP response message. Can't transform null or non-string/zero-length body of: (IncomingActionResponseMessage) 200 OK
at org.fourthline.cling.protocol.sync.SendingAction.handleResponse(SendingAction.java:145)
at org.fourthline.cling.protocol.sync.SendingAction.invokeRemote(SendingAction.java:91)
at org.fourthline.cling.protocol.sync.SendingAction.executeSync(SendingAction.java:63)
at org.fourthline.cling.protocol.sync.SendingAction.executeSync(SendingAction.java:51)
at org.fourthline.cling.protocol.SendingSync.execute(SendingSync.java:54)
at org.fourthline.cling.protocol.SendingAsync.run(SendingAsync.java:54)
at org.fourthline.cling.controlpoint.ActionCallback.run(ActionCallback.java:151)
at org.fourthline.cling.support.contentdirectory.callback.Browse.run(Browse.java:89)
at sk.baka.photoframe.fsimpl.dlna.DLNA.list(DLNA.kt:151)
I can not reproduce the issue; is it actually according to the DLNA spec, to return an empty string as a response? Or is perhaps cling ignoring an error code by accident? Hard to say.
The program was actually trying to list a really weird-looking dir: Failed to list dir 3$16$1$A$3 of urn:upnp-org:serviceId:ContentDirectory/urn:schemas-upnp-org:service:ContentDirectory:1/Justin Maggard Windows Media Connect compatible (MiniDLNA) 1
Perhaps I should ignore dirs with $
in their name?
The full error message is actually Error: Error reading SOAP response message. Can't transform null or non-string/zero-length body of: (IncomingActionResponseMessage) 200 OK (HTTP response was: 500 Internal Server Error):500 Internal Server Error
, so apparently the server DLNA failed, but cling is producing a really misleading message here.