手机端IOS应用程序调用WebService(JAVA)代码如下:
NSString *soapMessage = [NSString stringWithFormat:
@"<v:Envelope xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:d=\"http://www.w3.org/2001/XMLSchema\" xmlns:c=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:v=\"http://schemas.xmlsoap.org/soap/envelope/\"><v:Header /><v:Body><getUserInfo xmlns=\"http://IP:端口/MobileInfo/services/Info/\" id=\"o0\" c:root=\"1\"><mobile i:type=\"d:string\">%@</mobile><coNumber i:null=\"true\" /><type i:type=\"d:string\">%@</type><vCode i:type=\"d:string\">%@</vCode><isComplete i:type=\"d:string\">%@</isComplete></getUserInfo></v:Body></v:Envelope>",txtPhone.text,@"0",txtVerificationCode.text,@"0"
];
NSURL *url = [NSURL URLWithString:@"http://域名:端口/MobileInfo/services/Info?wsdl"];
//请求发送到的路径
ASIHTTPRequest *theRequest = [ASIHTTPRequest requestWithURL:url];
NSString *msgLength = [NSString stringWithFormat:@"%d", [soapMessage length]];
[theRequest addRequestHeader:@"Content-Type" value:@"text/xml; charset=utf-8"];
[theRequest addRequestHeader: @"SOAPAction" value:@"http://域名:端口/MobileInfo/services/Info?wsdl"];
[theRequest addRequestHeader:@"Content-Length" value:msgLength];
[theRequest setRequestMethod:@"POST"];
[theRequest appendPostData: [soapMessage dataUsingEncoding:NSUTF8StringEncoding]];
[theRequest setDefaultResponseEncoding:NSUTF8StringEncoding];
[theRequest startSynchronous];
NSError *error = [theRequest error];
if (!error) {
NSData *data = [theRequest responseData];//WebService接口返回的数据
NSString *theXML = [[NSString alloc] initWithBytes: [data mutableBytes] length:[data length] encoding:NSUTF8StringEncoding];//将返回数据转换为字符串,进行解析(本文中返回的数据为XML数据)
NSLog(@"%@",theXML);
}
ASIHTTPRequest 为ASIHTTPRequest开源项目提供的类,开源源码可网上下载,也可在本文中下载。zip 是在Mac下生成的压缩包,rar是在windows xp下生成的压缩包,选择一个适合你电脑操作系统的下载,解压缩后加入项目中即可使用。