Zitat
Original von visiomr2008
Wenn man "getallservices" nicht jedesmal aufrufen soll, was wäre denn da eine sinnvolle alternative?
Das kommt darauf an, wie Du die Liste weiterverarbeiten willst. Da Du sicher nicht im Minutentakt die Bouquets änderst, könntest Du das Ergebnis zwischenspeichern und nur von Zeit zu Zeit die Liste abrufen. Ansonsten kannst Du, wie am Beginn dieses Threads geschrieben, mit getservice zuerst die Bouquets und dann deren Inhalt abfragen. Ein
http://dm7025/web/getservices
liefert als Ergebnis
<?xml version="1.0" encoding="UTF-8"?>
<e2servicelist>
<e2service>
<e2servicereference>1:7:1:0:0:0:0:0:0:0:FROM BOUQUET "userbouquet.favourites.tv" ORDER BY bouquet</e2servicereference>
<e2servicename>Favourites (TV)</e2servicename>
</e2service>
<e2service>
<e2servicereference>1:7:1:0:0:0:0:0:0:0:(type == 1) FROM BOUQUET "userbouquet.test___tv_.tv" ORDER BY bouquet</e2servicereference>
<e2servicename>Test (TV)</e2servicename>
</e2service>
</e2servicelist>
Alles anzeigen
und den Inhalt der Bouquets bekomme ich per Browser anschließend mit
http://dm7025/web/getservices?sRef=1:7:1:0:0:0:0:0:0:0:FROM%20BOUQUET%20"userbouquet.favourites.tv"%20ORDER%20BY%20bouquet
http://dm7025/web/getservices?sRef=1:7:1:0:0:0:0:0:0:0:(type%20==%201)%20FROM%20BOUQUET%20"userbouquet.test___tv_.tv"%20ORDER%20BY%20bouquet
Wenn Du wget benutzt, gibt es wahrscheinlich irgendwelche unerwarteten Seiteneffekte mit der Interpretation von einigen Zeichen der URL. In der CMD-Konsole von XP sendet der Befehl (das " zusätzlich noch zu %22 geändert)
wget http://dm7025/web/getservices?sRef=1:7:1:0:0:0:0:0:0:0:(type%20==%201)%20FROM%20BOUQUET%20%22userbouquet.test___tv_.tv%22%20ORDER%20BY%20bouquet -O-
folgendes an die Box:
GET /web/getservices?sRef=1:7:1:0:0:0:0:0:0:0:(type%20==%201)%20FROM%20BOUQUET%20%22userbouquet.test___tv_.tv%22%20ORDER%20BY%20bouquet HTTP/1.0
User-Agent: Wget/1.9.1
Host: dm7025
Accept: */*
Connection: Keep-Alive
und bekommt als Antwort die korrekte Senderliste. Der selbe Befehl über die 4NT-Konsole abgesetzt wird zu
GET /web/getservices?sRef=1:7:1:0:0:0:0:0:0:0:(type==)20BOUQUET22userbouquet.test___tv_.tv20ORDER20bouquet HTTP/1.0
User-Agent: Wget/1.9.1
Host: dm7025
Accept: */*
Connection: Keep-Alive
was natürlich die falsche Syntax ist und als Ergebnis eine leere Senderliste wie aus Deiner Eröffnungsfrage ergibt. Du könntest zur Fehlersuche einen Sniffer auf das wget ansetzen, ich vermute, daß es bei Dir ein ähnliches Problem ist und Du einige Zeichen (das % ist für mich der erste Kandidat) für die Kommandozeile zusätzlich noch maskieren mußt.
Zitat
Was ist denn der Unterschied zwischen:
http://dm7025/web/getservices?ServiceListBrowse
http://dm7025/web/getservices?sRef=
Der erste Befehl funktioniert nur in älteren Versionen des WebIf, der zweite nur in neueren. Da ich nicht weiß, welches Image Du benutzt, habe ich lieber beide angegeben.
HeiRos