不带参数的方法按预期给出正确的结果。虽然需要很少参数的webservice方法返回没有相关结果,而是显示 消息 。
我使用以下代码:
NSString *post =[[NSString alloc] initWithFormat:@"param1=%@¶m2=%@¶m3=%@¶m4=%@&pageSize=%@&pageNo=%@",@"",@"81",@"1",@"",@"40",@"1"];
NSURL *url = [NSURL URLWithString:@"www.someurlxyz.com"];
NSMutableURLRequest *req = [NSMutableURLRequest requestWithURL:url];
soapMsg = [soapMsg stringByAppendingString:post];
NSLog(@"value of soap is %@",soapMsg);
NSString *msgLength = [NSString stringWithFormat:@"%d", [soapMsg length]];
//postData =[postData stringByAppendingString:];
[req addValue:@"text/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
[req addValue:@"http://www.someurlxyz.com/Search/Methodname?" forHTTPHeaderField:@"SOAPAction"];
[req addValue:msgLength forHTTPHeaderField:@"Content-Length"];
[req setHTTPMethod:@"POST"];
[req setHTTPBody: [soapMsg dataUsingEncoding:NSUTF8StringEncoding]];
[post release];
消息 (返回的内容如下)。 服务器无法识别HTTP标头SOAPAction的值:http://www.someurlxyz.com/Search/Methodname?
答案 0 :(得分:1)
可能是命名空间的问题,或者您可能正在调用错误的方法。 使用像SoapUI这样的第三方客户端检查您的网络服务,并检查您是否在iPhone应用程序中的请求中创建了完整的字符串。
答案 1 :(得分:0)
服务器在这里期待什么?
您好像正在发送param1=¶m2=81¶m3=1¶m4=&pageSize=40&pageNo=1
这看起来不像是真正的肥皂消息,甚至不是XML。
您没有指定soapMsg
最初的内容,但您要将上面的字符串附加到其中。
也许您打算格式化原始的soapMgs
字符串?