2010-03-11 16 views
0

Мне нужно использовать несколько сообщений SOAP для получения данных из веб-службы. Я получил несколько примеров, как это сделать, но все они имеют XML (http://icodeblog.com/2008/11/03/iphone-programming-tutorial-intro-to-soap-web-services/)SOAP Сообщения на iPhone

// ---- 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 & .NET для запроса сервиса. Он отлично работает ... но когда я делаю это с помощью симулятора iphone, он возвращает следующее:

2010-03-10 15: 13: 54.773 Мыло Hello_SOAP [91204: 207]: ClientServer не распознал значение HTTP Заголовок SOAPAction: http://WEBSERVER/DIRECTORY/Login

Как я могу выяснить, в чем проблема, вызвавшая указанную ошибку на симуляторе?

ответ

1

ОК ... У меня есть одно решение для моих проблем ... (# 2), вместо того, чтобы писать код и выяснить, если все будет работать методом проб и ошибок, я использовал Тодд Дитчендорф SOAP Client http://code.google.com/p/mac-soapclient/

Это вы можете понять, что вызов SOAP намного проще, и просто отбросить его на код ... BTW: вы получите симпатичный формат запроса и ответа ... таким образом вы можете отформатировать ваши строки кода соответственно ...

Надеюсь, что это поможет

Смежные вопросы