java代码如下:
//此responseXml是调用返回的字符串,传入所调用的webservice所需要的参数。
responseXml = getResponseAlarmTerminal(
askWork.getAlarmid(),askWork.getOcname());
public String getResponseAlarmTerminal(String alarmId,String ocName)
{
//这是你所调用接口的地址,注意后面不要加上?wsdl
String url = "http://133.37.234.33:8008/AlarmTerminal/AlarmTerminal";
String body = WebServiceUtil.getReqbodyAlarmTerminal(alarmId, ocName);
String responseXml = "";
try
{
responseXml = WebServiceUtil.httpReqResp(url, body);
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
//返回响应的字符串
//System.out.println("\n\n=== 调用返回结果 responseXML :\n" + responseXml);
return responseXml;
}
//如上的String body = WebServiceUtil.getReqbodyAlarmTerminal(alarmId, ocName);
//此方法是一个类静态调用的拼接字符串的方法
//注意方法名。
//这是参数 。对应的节点名称也要改变。
public static String getReqbodyAlarmTerminal(String alarmId, String ocName)
{
String body = "";
body = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:alar=\"com.ffcs.oss.service/AlarmTerminal\">"
+ "<soapenv:Header/>"
+ "<soapenv:Body>"
+ "<alar:terminalAlarm>"
+ "<alar:ocname>"
+ ocName
+ "</alar:ocname>"
+ "<alar:alarmid>"
+ alarmId
+ "</alar:alarmid>"
+ "</alar:terminalAlarm>"
+ "</soapenv:Body>" + "</soapenv:Envelope>";
return body;
}
//调用的http协议的方法
public static String httpReqResp(String url, String body)
throws IOException
{
StringBuffer response = new StringBuffer();
HttpClient client = new HttpClient();
client.getHttpConnectionManager().getParams().setConnectionTimeout(20000);
client.getHttpConnectionManager().getParams().setSoTimeout(20000);
client.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET,"UTF-8");
PostMethod method = new PostMethod(url);
method.setRequestHeader("Content-Type", "text/xml");
method.setRequestHeader("Connection", "close");
method.setRequestBody(body);
// NameValuePair[] nameValuePair = {new NameValuePair("postData",
// body)};
// method.setRequestBody(nameValuePair);
String rsp = "";
try
{
client.executeMethod(method);
if (method.getStatusCode() == HttpStatus.SC_OK)
{
// System.out.println("111 is " +
// method.getResponseBodyAsString());
rsp = method.getResponseBodyAsString();
}
else
{
rsp="";
System.out.println("访问出错:HttpStatus is "
+ method.getStatusCode() + ",and text is "
+ method.getStatusText());
}
}
catch (IOException e)
{
rsp="";
e.printStackTrace();
}
finally
{
// rsp=method.getResponseBodyAsString();
method.releaseConnection();
}
return rsp;
}