Avatar billede mr_mudderkode Nybegynder
25. marts 2002 - 14:28 Der er 9 kommentarer og
1 løsning

Version-problemer

Hæj.

Jeg har en waptjeneste som fungerer fint på alle de lidt ældre wap-mobiler, men ikke på de nyeste...? Jeg ved der kommer nye versioner af WAP standarden og vel også på WML standarden, men hvad kan der være sket med versioneringen, som gør at det fungerer fint på ældre versioner, men ikke på nye?
Avatar billede janegil Nybegynder
26. marts 2002 - 09:00 #1
Det lyder jo litt katastrofalt.

Har du en URL å vise oss?

Jeg har hatt kontakt med folk som sa at de kodet feil med vilje for å få det til å fungere med en bestemt (gammel) telefon mot en bestemt GW. Siden var i virkeligheten kodet i ISO-8859-1, men de måtte likevel angi encoding til UTF-8 for at det skulle virke.
Avatar billede janegil Nybegynder
26. marts 2002 - 09:01 #2
Og hvis du kan, så gi oss IP-adressen til den WAP-gateway du tester med.
Avatar billede mr_mudderkode Nybegynder
26. marts 2002 - 12:33 #3
Jeg ved ikke om det er den rigtige kategori jeg har lagt dette spørgsmål. Jeg har fået indsnævret problemstillingen lidt. Det er ikke et problem med ISO eller UTF, for problemet opstår kun når det er en servlet der genererer output. Hvis jeg derimod tager servlettens output, og gemmer som en flad .wml fil, kan jeg sagtens se den med nye wap-telefoner.

Problemet opstår altså KUN når det er en servlet der skal sende wml til en nyere wap-telefon. Ældre modeller klarer det uden problemer, og de flade filer er slet ikke noget problem. Og det er præcis de samme dokumenter jeg prøver at vise i hhv. servletten og i de flade filer...

Hmmmm. :-(
Avatar billede janegil Nybegynder
26. marts 2002 - 13:16 #4
Prøv å bruke http://www.garshol.priv.no/download/HTTPTest.html til å sammenligne det du får fra servletten med det du får fra fila.

Det MÅ jo være en forskjell?
Avatar billede mr_mudderkode Nybegynder
26. marts 2002 - 13:33 #5
Lækker lille ting den der. :-)

Der VAR forskel. Men jeg ved så ikke hvordan jeg får gjort dem ens....

Ved en flad .wml fil:

200 OK HTTP/1.0
server: Netscape-Enterprise/4.1
content-type: text/vnd.wap.wml
accept-ranges: bytes
date: Tue, 26 Mar 2002 12:29:30 GMT
connection: close
content-length: 1538
last-modified: Mon, 25 Mar 2002 09:16:03 GMT


Ved svar fra servlet:

200 OK HTTP/1.0
server: Netscape-Enterprise/4.1
content-type: text/vnd.wap.wml; charset=ISO8859_1
connection: close
date: Tue, 26 Mar 2002 12:30:32 GMT

Nu har jeg da i det mindste noget jeg kan gå videre med....

Smid et svar så du kan få nogle point. :-)
Avatar billede mr_mudderkode Nybegynder
26. marts 2002 - 13:36 #6
Jeg vil gætte på at det kan være et problem at content-length ikke bliver sat. Det vil jeg i hvert fald eksperimentere lidt med.
Avatar billede janegil Nybegynder
26. marts 2002 - 13:55 #7
OK. Når Hr.Garshol likevel ikke er her, så får vel heller jeg ta poengene.
Avatar billede janegil Nybegynder
26. marts 2002 - 14:11 #8
Jeg har sett ett ekspempel på uendelig servlett - den fortsetter i evig løkke med å spytte ut tekst:

http://geb.nta.no:8888/rune/servlet/RekursivtDikt

I så fall kan den jo ikke beregne sin content-length.

Så må da vel HttpServletResponse ha en metode for å vente til den er ferdig å generere output, før den begynner å sende? Så den kan telle btes før den gjør seg ferdig med headeren?
Avatar billede janegil Nybegynder
26. marts 2002 - 14:20 #9
Jo, det ER et encodingsproblem!

"charset=ISO8859_1" er feil! Det heter i hvert fall "ISO-8850-1".

Er ikke sikker på om du behøver i gi den i HTTP-headeren i det hele tatt, men hvis du gjør, skal det nok være
content-type: text/vnd.wap.wml; charset=iso-8859-1

For sikkerhets skyld skal den også være inne i wml-fila:
<?xml version="1.0" encoding="ISO-8859-1"?>
Avatar billede mr_mudderkode Nybegynder
27. marts 2002 - 10:42 #10
Lige for at runde spørgsmålet af, så VAR det et problem med ISO8859_1 , men det kommer lidt bag på mig, for jeg har ikke selv specificeret den streng.

I Java kan jeg sætte content type med en

      response.setContentType("text/vnd.wap.wml");

og så sætter den contenttype til

      text/vnd.wap.wml; charset=ISO8859_1

Den tilføjer altså SELV det sidste. Jeg gør ikke. :-(

Nu sætter jeg den specifikt med en

      response.setHeader("content-type","text/vnd.wap.wml; charset=ISO-8859-1");

Og det fungerer upåklageligt. Både i nye og ældre wap-telefoner. :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester