1.iOS访问java的webService时出现特别多的问题
//构造一个Json类型。 这个类型很重要。一开始的时候不能带参数。安卓的可以,后来用的是截取发送的数据包进行解析,
NSString *soapMessage = [NSString stringWithFormat:
@"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"
"<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">"
"<soap:Body>\n"
"<ns1:%@ xmlns:ns1=\"http://abc.webService.bs.xx/\">" //借口
"<jsonStr>%@</jsonStr>" //属性参数
"</ns1:%@>"
"</soap:Body>\n"
"</soap:Envelope>",method,jsonString,method];
//请求发送到的路径
NSString *msgLength = [NSString stringWithFormat:@"%lu", (unsigned long)[soapMessage length]];
NSURL *url = [NSURL URLWithString:BaiduWebserviceURL]; //定义一个命名空间 BaiduWebserviceURL 宏定义
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:url];
//以下对请求信息添加属性前四句是必有的,
[urlRequest addValue: @"text/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
[urlRequest addValue: BaiduNamespaceURL forHTTPHeaderField:@"SOAPAction"];
[urlRequest addValue: msgLength forHTTPHeaderField:@"Content-Length"];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setHTTPBody: [soapMessage dataUsingEncoding:NSUTF8StringEncoding]];
//异步请求
NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:urlRequest delegate:self] ;
if (theConnection) {
self.receivedData=[NSMutableData data];
} else {
}
2.iOS访问.net的webService时
这个可以根据code4app.com 上有一个手机号码的例子可以。就是asp的工程。