我意识到还有其他帖子提出了类似的问题,但并没有完全回答我的问题。如果这不是足够的信息,格式化关闭,或者诸如此类,我道歉。这是我第一次发帖。
基本上我的小组正在做一个需要与我们的sql server数据库连接的iPhone应用程序。但是因为他们无法直接与对方交谈,我们正在实现一个接受XML的asp.net媒体,显然需要输出JSOD。目前我有一个.asmx用“工作”代码编写(代码中的测试字符串)。现在我只想尝试从iPhone接受XML。我觉得我们在他的结尾(iPhone)或我的结尾(.asmx)上都缺少某些东西。希望你聪明的头脑可以填补我,因为我们的综合研究....我觉得有些东西缺失了。也许我错了,我已经把我们的东西放在一起,这将是非常棒的。
显然,为了连接和传递信息,这就是他需要的(根据他的研究)。显然它不是.asmx但延伸权无关紧要?NSURL *url = [NSURL URLWithString:@"http://myurl.com/RequestHandler.ashx"];
以下是我的.asmx代码(注意函数是肉的所在位置)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Xml.Linq;
namespace Outbreak_Mobile
{
[WebService(Namespace = "http://OutbreakMobile.net/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line.
// [System.Web.Script.Services.ScriptService]
public class Service1 : System.Web.Services.WebService
{
[WebMethod (Description="To intake an xml package from iPhone and store it")]
public string iPhoneLocation(string xml)
{
//test string to output to screen
string location = null;
//test string of xml to be parsed
//will be converting next line to parse input xml
//string xml = @"<Player>
// <Latitude>42.13245465</Latitude>
// <Longitude>11.11111111</Longitude>
// </Player>";
//line to parse document
//xdocument doc = xdocument.parse(incoming xml)
XDocument doc = XDocument.Parse(xml);
//grabs the information inside <player> tags
XElement loc = doc.Elements("Player").SingleOrDefault();
if (loc != null)
{
var lat = (double)loc.Element("Latitude");
var lng = (double)loc.Element("Longitude");
location = "Lat: " + lat + '\n' + "Long: " + lng;
}
//this is what puts out to the screen
return location;
}
}
}
当前字符串'location'的输出仅用于功能测试,并且当我知道我正在接收包时将会更改。为了相互联系,我们缺少什么?
提前谢谢大家!
答案 0 :(得分:0)
您创建了一个NSURL对象。现在,您需要创建一个NSURLConnection来从该URL下载数据。
要传输从连接获得的NSData对象,只需使用NSString -initWithData:encoding:method。