Accept XML from third-party post. If Content-Type: Application/X-WWW-form-urlencoded is not set. You can use the stream to parse
The Code is as follows:
Java code
- Bufferedreader in = new bufferedreader (New inputstreamreader (httpservletrequest. getinputstream ()));
- String S = "";
- Stringbuffer sb = new stringbuffer ();
- While (S = in. Readline ())! = NULL ){
- SB. append (s );
- }
- // Parse XML using dom
- Documentbuilderfactory buildfactory = documentbuilderfactory. newinstance ();
- Documentbuilder build = buildfactory. newdocumentbuilder ();
- Document document = build. parse (httpservletrequest. getinputstream (), "UTF-8 ");
- Nodelist = Document. getelementsbytagname ("Mo ");
- For (INT I = 0; I <nodelist. getlength (); I ++ ){
- Longcodearray. Add (document. getelementsbytagname ("longcode"). Item (I). getfirstchild (). getnodevalue (). substring (1 ));
- Messagearray. Add (document. getelementsbytagname ("message"). Item (I). getfirstchild (). getnodevalue ());
- }
If you have set Content-Type: Application/X-WWW-form-urlencoded, you need to go to parmmetermap to get it.
Java code
- List <string> longcodearray = new arraylist <string> ();
- List <string> messagearray = new arraylist <string> ();
- Try {
- Createlog log = new createlog ();
- Httpservletrequest = This. gethttpservletrequest ();
- String keyandvalue = "";
- String key = "";
- String value = "";
- Iterator <string> it = httpservletrequest. getparametermap (). keyset (). iterator ();
- While (it. hasnext ()){
- Key = it. Next ();
- Value = (object []) (httpservletrequest. getparametermap (). Get (key) [0]. tostring ();
- Keyandvalue = Key + "=" + value;
- System. Out. println (Key + "=" + value );
- }
- If (keyandvalue! = NULL ){
- // Dom4j to parse XML strings
- Document document = incluenthelper. parsetext (keyandvalue. tostring ());
- Element root = Document. getrootelement ();
- List mo = root. Elements ("Mo ");
- For (INT I = 0; I <Mo. Size (); I ++ ){
- Element longcode = (element) Mo. Get (I). element ("longcode ");
- Element message = (element) Mo. Get (I). element ("message ");
- Longcodearray. Add (longcode. gettext ());
- Messagearray. Add (message. gettext ());
- }
- }