我正在使用 POST 方法向我的服务器发送一些数据。代码如下:
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"<myServer ip>"]];
[request setValue:@"application/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
[request setHTTPMethod:@"POST"];
NSString *stringData = @"Hello";
NSData *requestBodyData = [stringData dataUsingEncoding:NSUTF8StringEncoding];
request.HTTPBody = requestBodyData;
NSURLConnection *conn = [[NSURLConnection alloc] initWithRequest:request delegate:self];
[conn start];
我没有从服务器接收到正确的数据。
接收代码为:
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
NSLog(@"didFinishLoading Called");
NSString* newStr = [[NSString alloc] initWithData:responseData
encoding:NSUTF8StringEncoding];
NSLog(@"data received is = %@",newStr);
}
我收到的回复是:
<soapenv:Body>
<soapenv:Fault>
<faultcode xmlns:ns1="xml.apache.org/axis/">ns1:Client.NoSOAPAction</…;
<faultstring>no SOAPAction header!</faultstring>
<detail>
最佳答案
您不能只通过发送任意字符串来测试 SOAP 服务。您所证明的只是 URL 指向期望接收 SOAP 消息的服务器。您需要查看服务器规范并创建要发送的适当 SOAP 负载。这应该替换 stringData
中的当前内容。
关于ios - 从服务器获取数据时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21478728/