Post XML Data To a URL and Get response XML Data

      办公室 2004-12-7 17:36
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="java.lang.*,
java.util.*,
java.io.*,
java.net.*,
javax.xml.parsers.*,
org.w3c.dom.*,
org.xml.sax.*"
%>

<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"
+request.getServerName()+":"
+request.getServerPort()+path+"/";

String securecode = request.getParameter("securecode");
String battmodel = request.getParameter("battmodel");
String urlapi = request.getParameter("urlapi");


String mess = "";
if(securecode == null || securecode.equalsIgnoreCase("")){
    mess = "Please Input Field : securecode !";
}
if(battmodel == null || battmodel.equalsIgnoreCase("")){
    mess = "Please Input Field : battmodel !";
}

if(!mess.equals("")){
    out.print("<b>Parameter Error:</b> <br><hr>" + mess);
}else{

//out.println("ok");

    
     int post_result = 0;

String test_str1 = securecode;
String test_str2 = battmodel;

String endpoint = urlapi;
if (endpoint == null){
endpoint = "http://britney.ext.nokia.com/britney/api";
}

String val = "<?xml version='1.0'?><britney-request version='1'><channel>web</channel><securitycode>"
+ test_str1
+ "</securitycode><country>CN</country><model>"
+ test_str2 + "</model><source></source></britney-request>";
    
                String requestXml = val;
                String responseXml = "";
//out.println("ok2");

try
{
URL url = new URL(endpoint);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();


// Set the appropriate HTTP parameters.
conn.setRequestProperty("Accept", "text/xml, application/xml");
conn.setRequestProperty("Content-Type", "text/xml; charset=utf-8");
conn.setRequestMethod("POST");
conn.setDoOutput(true);
conn.setDoInput(true);


// Send the String that was read into postByte.
OutputStreamWriter outsw = new OutputStreamWriter(conn.getOutputStream(),"UTF-8");
outsw.write(requestXml);
outsw.close();


// Read the response and write it to standard out.
InputStreamReader isr = new InputStreamReader(conn.getInputStream());
BufferedReader br = new BufferedReader(isr);
StringBuffer responsesb = new StringBuffer(256);

String temp;
while ((temp = br.readLine()) != null)
{
responsesb.append(temp);
}
responseXml = responsesb.toString();
br.close();
isr.close();

}
catch (MalformedURLException e)
{
e.printStackTrace();
}
catch (ProtocolException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}

    String xmlDoc = responseXml;
                
//out.println(xmlDoc);

    String result = "";

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = null;

try {
db = dbf.newDocumentBuilder();
} catch (ParserConfigurationException pce) {
System.err.println(pce);
System.exit(1);
}

Document doc = null;
StringReader sr = new StringReader(xmlDoc);
InputSource isource = new InputSource(sr);
try {
doc = db.parse(isource);
Element root = doc.getDocumentElement();

NodeList results = root.getElementsByTagName("result");
if (results.getLength() == 1) {
Element e = (Element) results.item(0);
Text t = (Text) e.getFirstChild();
result = t.getNodevalue();
}

} catch (SAXException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


    post_result = Integer.parseInt(result);
    
//out.println("post_result:"+post_result);

    switch(post_result)
    {
         case 0:         
response.sendRedirect("/cn/support/phones/services/battery/result_0.shtml");
     break;
         case 1:
response.sendRedirect("/cn/support/phones/services/battery/result_1.shtml");
     break ;
         case 2:
response.sendRedirect("/cn/support/phones/services/battery/result_2.shtml");
     break ;
     case 3:
response.sendRedirect("/cn/support/phones/services/battery/result_3.shtml");
     break ;
        default:
response.sendRedirect("/cn/support/phones/services/battery/result_0.shtml");
     break ;
    }

}
%>

标签集:TAGS:
回复Comments() 点击Count()

回复Comments

{commentauthor}
{commentauthor}
{commenttime}
{commentnum}
{commentcontent}
作者:
{commentrecontent}