iOS-Webservice:适用于iOS客户端的Web服务

时间:2013-11-02 18:54:19

标签: ios eclipse web-services tomcat7

我正在开发一个iOS应用程序,它必须将一些信息(例如学生姓名,地址,卷号,学期类型)发送到Web服务。 Web服务将接收这些信息,并且需要简单地“成功接收”到iOS客户端。 我不太熟悉创建这样的Web服务支持,虽然我非常了解java。

我已经在iOS部分上完成了程序,除了需要指向url web服务。 我在Eclipse中添加了Eclipse和Tomcat 7.0服务器。我现在需要创建Web服务项目,并能够从iOS客户端接收此类学生的详细信息,并在localhost环境中进行响应以进行测试。 我的问题是,有人可以分享我在Eclipse + Tomcat环境中创建此类Web服务项目的教程/帮助以及我的项目目的吗?

请注意,我只是要求测试目的,而不是公开发布。我正在运行我的mac机器作为服务器机器,eclipse和tomcat已经捆绑在一起。 我要求学习像这样的教程 - > http://www.youtube.com/watch?v=zn8vLBOEhic

谢谢!

-Martin

3 个答案:

答案 0 :(得分:1)

以下是流程:Eclipse->动态Web项目 - >添加您的Web服务代码 - >创建为wsdl服务。在客户端项目中使用此wsdl服务文件并访问Web服务API。

答案 1 :(得分:0)

如果这是一个小项目并且在后端相当简单(如上所述),我建议您查看后端即服务解决方案,例如ParseFirebase < / p>

答案 2 :(得分:0)

我也是网络服务的新手。对于我的应用程序,我使用了这个代码,我认为它可以在你的情况下采用:

-(IBAction)addData:(id)sender{

[self displayActivityIndicator];

NSString *studentName = self.studentNameTextField.text;
NSString *studentAddress = self.studentAddressTextField.text;
NSString *rollNumber = self.rollNumberTextField.text;
NSString *semesterType = self.semesterTypeTextField.text;

NSString *rawStr = [NSString stringWithFormat:@"name=%@&address=%@&&rollNumber=%@&semester=%@", studentName,
                    studentAddress,
                    rollNumber,
                    semesterType];

NSData *data = [rawStr dataUsingEncoding:NSUTF8StringEncoding];

NSURL *url = [NSURL URLWithString:@"http://www.mywebsite.com/savedata.php"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];

[request setHTTPMethod:@"POST"];
[request setHTTPBody:data];
NSURLResponse *response;
NSError *err;
NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&err];

NSString *responseString = [NSString stringWithUTF8String:[responseData bytes]];
NSLog(@"%@", responseString);

NSString *success = @"success";
[success dataUsingEncoding:NSUTF8StringEncoding];

NSLog(@"%lu", (unsigned long)responseString.length);
NSLog(@"%lu", (unsigned long)success.length);



[self dismissViewControllerAnimated:YES completion:nil]; // Dismiss the viewController upon success

}

savedata.php

<?php 
header('Content-type: text/plain; charset=utf-8');


$db_conn = new  PDO('mysql:host=localhost;dbname=mydatabase','admin','password');
$db_conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$message = "";
$name = ($_POST['name']); 
$address = ($_POST['address']);
$rollNumber = ($_POST['rollNumber']);
$semester = ($_POST['semester']);


$qry = $db_conn->prepare('INSERT INTO  myTable(`name`,`address`,`rollNumber`,`semester`) VALUES (:name,:address,:rollNumber,:semester)');
$qry->bindParam(':name', $name);
$qry->bindParam(':address', $address);
$qry->bindParam(':rollNumber', $rollNumber);
$qry->bindParam(':semester', $semester);

$qry->execute();

if ($qry) { $message = "success"; }
else { $message = "failed"; }

echo utf8_encode($message);
?>