iPhone上的SOAP消息

时间:2010-03-11 18:08:11

标签: iphone web-services xcode soap

我必须使用多个SOAP消息从Web服务获取数据。我得到了一些例子,但是他们都有XML(http://icodeblog.com/2008/11/03/iphone-programming-tutorial-intro-to-soap-web-services/

    // ----   LOGIN   -----
NSString *soapMessage = [NSString stringWithFormat:                         
@"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"
"<soap12:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap12=\"http://www.w3.org/2003/05/soap-envelope\">\n"
"<soap12:Body>\n"
"<Login xmlns=\"http://tempuri.org/\">\n"
"<sUserID>USER</sUserID>\n"
"<sUserPw>PASSWORD</sUserPw>\n"
"<sDomain>SERVER</sDomain>\n"
"</Login>\n"
"</soap12:Body>\n"
"</soap12:Envelope>\n"
];
NSString *urlToSend  = [[NSString alloc] initWithString:@"http://SERVER/DIRECTORY/WSDL_FILE.ASMX"];
NSString *callTOMake = [[NSString alloc] initWithString:@"http://WEBSERVER/Login"];

两个问题: 1)从类或文件读取SOAP消息到xcode是否有意义?或者我只是通过代码定义它们?

2)我使用了SOAPUI&amp; .NET来查询服务。它工作正常......但是当我从iphone模拟器中执行它时,它会返回以下内容:

2010-03-10 15:13:54.773 Hello_SOAP [91204:207] soap:ClientServer无法识别HTTP标头SOAPAction的值:http://WEBSERVER/DIRECTORY/Login

我怎样才能弄清楚导致模拟器上出现错误的问题是什么?

1 个答案:

答案 0 :(得分:1)

好的......我的问题有一个解决方案......(#2)而不是编写代码并通过反复试验确定事情是否有效,我使用了Todd Ditchendorf SOAP客户端http://code.google.com/p/mac-soapclient/

通过这种方式,您可以更轻松地弄清楚SOAP调用的内容,并将其放在代码上...... BTW:您将获得请求和响应的漂亮格式...这样您就可以格式化行相应的代码......

希望这有帮助