服务器未能识别HTTP 的SOAPAction

当服务器无法识别HTTP的SOAPAction时,可以通过在.NET客户端添加命名空间来解决参数接收为null的问题。以下是基本的WebService访问代码示例。

添加以下解决:

call.setUseSOAPAction(true); 
call.setSOAPActionURI("http://tempuri.org/GetStudent"); 

 

 

 


.net服务端怎么都接不到传送的参数,接到的都是null,可以在添加参数的地方添加上命名空间

call.setOperationName(new QName(namespace, methodName));   
/*这里如果设置成call.addParameter(new QName(namespace,"参数"), XMLType.XSD_STRING,   
  ParameterMode.IN);就是调用document风格的.net服务端  
  如果设反了,.net服务端就接不到参数,接到的是null  
*/  
call.addParameter("参数", XMLType.XSD_STRING, ParameterMode.IN);   

 

 附:基本访问webserices代码

String url = "http://192.168.21.154/yzwzyzWS/Service.asmx?wsdl";
String namespace = "http://tempuri.org/";
String methodName = "GetStudent";
String soapActionURI = "http://tempuri.org/GetStudent";

Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(url);
call.setUseSOAPAction(true);
call.setSOAPActionURI(soapActionURI);
call.setOperationName(new QName(namespace, methodName));

call.addParameter(new QName(namespace, "loginName"), XMLType.XSD_STRING,ParameterMode.IN);
call.addParameter(new QName(namespace, "passWord"), XMLType.XSD_STRING,ParameterMode.IN);
call.setReturnType(XMLType.XSD_STRING);

String[] str = new String[2];
str[0] = "test010";
str[1] = "";

Object obj = call.invoke(str);
System.out.println("obj + " + obj);

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值