由于项目需要,一个其他公司的java程序要访问我们,
他通过以下的程序发送加密后的string值,然后我这边返回一个处理过的string值给它。
我想用MS的web服务(用到SOAP协议),但java那边不支持,且必须按照上面的方式来做交互。
所以想用http get post方式来和它通讯,
不知道怎么写C#代码来响应,请高手指导.
以下是的发送请求java代码:
public class HttpClientMessageSender {
private HttpConnectionManager connectionManager;
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
// TODO 根据自己需要填写reqXml,这里的reqXml不是文件名,而是文件的内容。
String reqXml = "FOR TEST";
//Init.init();
HttpClientMessageSender messageSender = new HttpClientMessageSender();
String resultXml = messageSender.send(reqXml,
"http://121.0.26.34/message/gateway.do");
System.out.println("收到的报文是:"+resultXml);
System.out.println("校验签名的结果是:" + SignUtil.check(resultXml, KeyUtil.getAlipayPubKey()));
}
public String send(String reqXml, String postUrl) {
// 发送报文
HttpClient httpClient = new HttpClient(connectionManager);
PostMethod method = new PostMethod(postUrl);
method.addRequestHeader("Content-Type", "text/xml; charset=utf-8");
try {
method.setRequestEntity(new StringRequestEntity(reqXml, null, "utf-8"));
httpClient.executeMethod(method);
// 获得返回报文
String resXml = method.getResponseBodyAsString();
return resXml;
} catch (Exception e) {
// TODO 根据需要自行处理日志
e.printStackTrace();
} finally {
method.releaseConnection();
}
return null;
}
------解决方案--------------------------------------------------------
顶~~~~~~~~~
------解决方案--------------------------------------------------------
get Request.QueryString["参数名"]
post Request.Form["参数名"]