Я работаю над реализацией устройства UPnP в iOS, и я загрузил исходный код с here. Используя образец, я могу обнаружить UPnP-устройства в сети, но когда я пытаюсь получить описание устройства, я получаю проблему. Я ничего не изменил в коде по умолчанию, но я получаю эту проблему.Ошибка при реализации образца UPnP iOS?
Запрос:
<?xml version="1.0" encoding="utf-8"?>
<s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body><u:GetSortCapabilities xmlns:u="urn:schemas-upnp-org:service:ContentDirectory:1">
</u:GetSortCapabilities></s:Body></s:Envelope>
Ответ:
Ошибка (SOAPAction): Получил не 200 Ответ: 500 данных:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Client</faultcode>
<faultstring>UPnPError</faultstring><detail>
<u:UPnPError xmlns:u="urn:schemas-upnp-org:control-1-0">
<u:errorCode>801</u:errorCode>
<u:errorDescription>Access denied</u:errorDescription>
</u:UPnPError></detail>
</SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
Кто-нибудь может предложить мне, как разрешить это?
Это, вероятно, не проблема программирования: устройство, которое вы пытаетесь использовать, t разрешить доступ от случайных клиентов. Попробуйте прочитать документацию для этого устройства, возможно, например, способ «белого списка» вашего клиента. Кроме того, протестируйте устройство, у которого нет этой «функции». – jku