初学web services,报错`````````
干部接访 2007-11-09 02:06:57 这是在myeclipse5.5中写的代码,运行后报了一个Server did not recognize the value of HTTP Header SOAPAction: .import javax.xml.namespace.QName;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
public class MyServices {
public static void main(String[] args) {
// TODO Auto-generated method stub
String username = "admin";//用户名
String userial = "88399181";//密码
String SMTargetList="1231231231232131,353534534553453";//手机号码
String SMContent="随碟附送东方时代方式";//短信内容
String Serial="SSESMSCLIENT";//序号
String result = "ok";//返回
try { // 远程方法名地址
String endpoint = "http://localhost/SMSWebService/SMSService.asmx";
Service service = new Service();
//创建一个呼叫实例
Call call = (Call) service.createCall();
// 调用远程方法的路径
call.setTargetEndpointAddress(new java.net.URL(endpoint));
// 设置你要调用的远程方法名
call.setOperationName(new QName("SendSM"));
//设置一个入参
call.addParameter(username, org.apache.axis.encoding.XMLType.XSD_DATE,
javax.xml.rpc.ParameterMode.IN);
call.addParameter(userial, org.apache.axis.encoding.XMLType.XSD_DATE,
javax.xml.rpc.ParameterMode.IN);
call.addParameter(Serial, org.apache.axis.encoding.XMLType.XSD_DATE,
javax.xml.rpc.ParameterMode.IN);
call.addParameter(SMContent, org.apache.axis.encoding.XMLType.XSD_DATE,
javax.xml.rpc.ParameterMode.IN);
call.addParameter("2", org.apache.axis.encoding.XMLType.XSD_DATE,
javax.xml.rpc.ParameterMode.IN);
call.addParameter(result, org.apache.axis.encoding.XMLType.XSD_DATE,
javax.xml.rpc.ParameterMode.IN);
//设置一个返回类型
call.setReturnType(org.apache.axis.encoding.XMLType.XSD_BOOLEAN);
call.setUseSOAPAction(true);
/*call
.setSOAPActionURI("http://192.168.250.230/SMSWebService/SMSService.asmx");*/
//Invokes a specific operation using a synchronous request-response interaction mode.
//invoke是一个同步的请求-响应交互模式
//object里面的参数为入参
Boolean k = (Boolean) call
.invoke(new Object[] { username, userial,Serial,SMContent,"2",result });
System.out.println("result is " + k.toString() + ".");
} catch (Exception e) {
System.err.println(e.toString());
}
}
}