java 调用c#wsdl报错Server did not recognize the value of HTTP Header SOAPAction:
第三方给我一个WSDL文件,我也可以访问本地部署的wsdl文件路径为:http://192.168.100.188/ws/Smcexternal2.asmx?WSDL,但是总是报错:Server did not recognize the value of HTTP Header SOAPAction: http://192.168.100.188/LoginRequest.,第一次接触,不知道哪里的问题,望大神门给个方法,代码如下
try {
String endpoint = "http://192.168.100.188/ws/Smcexternal2.asmx?WSDL";
// 直接引用远程的wsdl文件
// 以下都是套路
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(endpoint);
call.setOperationName("LoginRequest");// WSDL里面描述的接口名称
call.setSOAPActionURI("http://192.168.100.188/LoginRequest");
call.addParameter("userName", XMLType.XSD_STRING, ParameterMode.IN);// 接口的参数
call.addParameter("clientType", XMLType.XSD_STRING, ParameterMode.IN);// 接口的参数
call.addParameter("version", XMLType.XSD_INT, ParameterMode.IN);// 接口的参数
call.setReturnType(XMLType.XSD_STRING);// 设置返回类型
String userName = "admin";
String clientType = "API";
int version =2;
String result = (String) call.invoke(new Object[] { userName, clientType, version});
System.out.println("result is " + result);
} catch (Exception e) {
System.err.println(e.toString());
}