1 public void sendMessage() throwsException {2 System.out.println("调用servlet开始=================");3 StringBuffer sendStr = newStringBuffer();4 sendStr.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");5 sendStr.append("");6 sendStr.append("953943547334");7 sendStr.append("2012040211394324");8 sendStr.append("");9 sendStr.append("201203");10 sendStr.append("");11 sendStr.append("");12
13 BufferedReader reader = null;14
15 try{16 String strMessage = "";17 StringBuffer buffer = newStringBuffer();18
19 //接报文的地址
20 URL uploadServlet = newURL(21 "http://localhost:9090/TestTransfers");22
23 HttpURLConnection servletConnection =(HttpURLConnection) uploadServlet24 .openConnection();25 //设置连接参数
26 servletConnection.setRequestMethod("POST");27 servletConnection.setDoOutput(true);28 servletConnection.setDoInput(true);29 servletConnection.setAllowUserInteraction(true);30
31 //开启流,写入XML数据
32 OutputStream output =servletConnection.getOutputStream();33 System.out.println("发送的报文:");34 System.out.println(sendStr.toString());35
36 output.write(sendStr.toString().getBytes());37 output.flush();38 output.close();39
40 //获取返回的数据
41 InputStream inputStream =servletConnection.getInputStream();42 reader = new BufferedReader(newInputStreamReader(inputStream));43 while ((strMessage = reader.readLine()) != null) {44 buffer.append(strMessage);45 }46
47 System.out.println("接收返回值:" +buffer);48
49 } catch(java.net.ConnectException e) {50 throw newException();51 } finally{52 if (reader != null) {53 reader.close();54 }55
56 }57 }58 1
59 2
60 3
61 4
62 5
63 6
64 7
65 8
66 9
67 10
68 11
69 12
70 13
71 14
72 15
73 16
74 17
75 18
76 19
77 20
78 21
79 22
80 23
81 24
82 25
83 26
84 27
85 28
86 29
87 30
88 31
89 32
90 33
91 34
92 35
93 36
94 37
95 38
96 39
97 40
98 41
99 42
100 43
101 44
102 45
103 46
104 47
105 48
106 49
107 50
108 51
109 52
110 53
111 54
112 55
113 56
114 57
115 58
116 59
117 60
118 61
119 62
120 63
121 64
122 65
123 66
124 67
125 public class TestTransfers extendsHttpServlet {126
127 private static final long serialVersionUID = 1L;128
129 protected voiddoGet(HttpServletRequest request,130 HttpServletResponse response) throwsServletException, IOException {131 }132
133 protected voiddoPost(HttpServletRequest request,134 HttpServletResponse response) throwsServletException, IOException {135
136 //判断请求报文是否来自代维系统的ip地址
137 String ip =request.getRemoteHost();138
139 //获取收到的报文
140 BufferedReader reader =request.getReader();141 String line = "";142 StringBuffer inputString = newStringBuffer();143 while ((line = reader.readLine()) != null) {144 inputString.append(line);145 }146
147 //如有必要,可以在报文中增加其他验证和加密的参数148 //解析获取到的报文,根据ip地址、其他验证、加密等等来判断请求报文的服务器是否有权限149
150 //如果请求验证合格,则根据请求的参数装配返回的报文151
152 //要返回的报文
153 StringBuffer resultBuffer = newStringBuffer();154 resultBuffer.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");155 resultBuffer.append("");156 resultBuffer.append("953947334");157 resultBuffer.append("20120402113943");158 resultBuffer.append("");159 resultBuffer.append("0000");160 resultBuffer.append("成功");161 resultBuffer.append("");162 resultBuffer.append("");163 resultBuffer.append("");164 resultBuffer.append("长治县");165 resultBuffer.append("铁通");166 resultBuffer.append("线路");167 resultBuffer.append("王加和");168 resultBuffer.append("20120301000000");169 resultBuffer.append("20120331235959");170 resultBuffer.append("50");171 resultBuffer.append("40");172 resultBuffer.append("0.80");173 resultBuffer.append("");174 //......175 //......176 //......177 //循环组装响应的报文
178
179 resultBuffer.append("");180 resultBuffer.append("");181
182 //设置发送报文的格式
183 response.setContentType("text/xml");184 response.setCharacterEncoding("UTF-8");185
186 PrintWriter out =response.getWriter();187 out.println(resultBuffer.toString());188 out.flush();189 out.close();190 }191 }