4thline / cling

UPnP/DLNA library for Java and Android

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.