Request IP/serviceControl returns 500 Internal Server Error
I'm facing a "500 Internal Server Error" when POST request to the "http://ip:port/serviceControl".
HEADERS:
BODY:
- Code:
<?xml version="1.0"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body>
<u:Browse xmlns:u="urn:schemas-upnp-org:service:ContentDirectory:1">
<ObjectID>0</ObjectID>
<BrowseFlag>BrowseDirectChildren</BrowseFlag>
<Filter></Filter>
<StartingIndex>0</StartingIndex>
<RequestedCount>0</RequestedCount>
<SortCriteria></SortCriteria>
</u:Browse>
</s:Body>
</s:Envelope>
I'm getting this endpoint via the server XML description . Below the service descriptor response:
- Code:
<?xml version="1.0"?>
<root xmlns="urn:schemas-upnp-org:device-1-0" xmlns:dlna="urn:schemas-dlna-org:device-1-0" xmlns:sec="http://www.sec.co.kr/dlna">
<!-- ... -->
<device>
<!-- ... -->
<dlna:X_DLNADOC>DMS-1.50</dlna:X_DLNADOC>
<dlna:X_DLNADOC>M-DMS-1.50</dlna:X_DLNADOC>
<UDN>uuid:9b3c6f7e-0fa6-3dc5-8e0a-98a61dc339b7</UDN>
<friendlyName>Serviio (Unknown)</friendlyName>
<deviceType>urn:schemas-upnp-org:device:MediaServer:1</deviceType>
<manufacturer>Petr Nejedly</manufacturer>
<manufacturerURL>http://www.serviio.org</manufacturerURL>
<modelName>Serviio Media Server</modelName>
<modelDescription>Serviio, a DLNA media server</modelDescription>
<modelNumber>1.10.1</modelNumber>
<modelURL>http://www.serviio.org</modelURL>
<!-- ... -->
<serviceList>
<!-- ... -->
<service>
<serviceType>urn:schemas-upnp-org:service:ContentDirectory:1</serviceType>
<serviceId>urn:upnp-org:serviceId:ContentDirectory</serviceId>
<SCPDURL>/serviceDescription/ContentDirectory</SCPDURL>
<controlURL>/serviceControl</controlURL><!-- <<<<< I'm using this route! -->
<eventSubURL>/serviceEventing/ContentDirectory</eventSubURL>
</service>
<!-- ... -->
</serviceList>
</device>
</root>
Any clue how to recover it properly? Thanks.
UPDATE 1:
I've just saw in logs this:
- Code:
2019-04-04 17:06:51,003 ERROR [ServiceControlRequestHandler] Cannot process control request: SOAPACTION specifies a different operation than the SOAP body
org.serviio.upnp.protocol.soap.ServiceInvocationException: SOAPACTION specifies a different operation than the SOAP body
at org.serviio.upnp.protocol.soap.ServiceInvoker.invokeService(ServiceInvoker.java:78)
at org.serviio.upnp.webserver.ServiceControlRequestHandler.handleRequest(ServiceControlRequestHandler.java:65)
at org.serviio.upnp.webserver.AbstractRequestHandler.handle(AbstractRequestHandler.java:66)
at org.apache.http.protocol.HttpService.doService(HttpService.java:423)
at org.serviio.upnp.webserver.ServiioHttpService.doService(ServiioHttpService.java:78)
at org.apache.http.protocol.HttpService.handleRequest(HttpService.java:341)
at org.serviio.upnp.webserver.WebServer$WorkerThread.run(WebServer.java:204)
But this same request is used over other DLNA server as Plex and works just fine!