Avatar billede mathiase Nybegynder
03. september 2009 - 10:44 Der er 3 kommentarer

Parameter null fra SMS gateway

Hej..

Fra en SMS gateway ønsker jeg at modtage et http request til min applikation.

kaldet har URL encoding med iso-8859-1 og ser således ud:

http://localhost:5599/web/recievesms.action?message=næstved&phone=12345678

Dette kalder en sevlet på min maskine, problemet er at når jeg har æøå i URL'en modtager jeg ikke parameteren, og af en eller anden grund er den bare null..

bruger request.getParameter(message);

Fra min log står der følgende:

recievesms.action?phone=41601616&message=subscribe%20pizza%20n%E6stved

Håber i kan hjælpe

MVH Mathias
Avatar billede arne_v Ekspert
03. september 2009 - 15:10 #1
Der er normalt ikke raa danske bogstaver i URL's. De bliver URL encoded med %nn hvor nn er hex  vaerdi. %E6 ser OK ud.

request.getParameter("message") burde returnere "subscribe pizza næstved"

(og ditto hvis dit MVC framework kalder request.getParameter for dig)

Hvis den ikke goer det saa er der problemer med tegnsaet.

Hmm. Eller maaske er der problemer med hvad recievesms.action er mappet til. Gaar den direkte til servlet ??
Avatar billede mathiase Nybegynder
03. september 2009 - 15:42 #2
Jeg har delvist løst problemet jeg har implementeret et charset filter som jeg opretter i web.xml filen. Nu er problemet så at jeg gerne vil ha' struts2 til også at anvende filteret.

<filter>
        <filter-name>CharsetFilter</filter-name>
        <filter-class>com.mobilepeople.lad.uss.filters.CharsetFilter</filter-class>
        <init-param>
            <param-name>requestEncoding</param-name>
            <param-value>ISO-8859-1</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>CharsetFilter</filter-name>
        <url-pattern>/recievesms.action</url-pattern>
    </filter-mapping>

Ved ikke hvorfor det ikke virker men parameter message er stadig null når jeg prøver at tilgå den..
Avatar billede mathiase Nybegynder
03. september 2009 - 16:01 #3
ja altså det er jo en struts action.. Så jeg siger bare getMessage(); så er den mapped i struts2
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

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