iOS 응용 프로그램에서 .NET ASMX 서비스를 호출하려고합니다.iOS 응용 프로그램에서 SOAP ASMX 서비스에 매개 변수 보내기
-(IBAction)submitButtonClicked:(id)sender
{
NSURL *url = [NSURL URLWithString:@"http://127.0.0.1:8080/NotificationService.asmx"];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setRequestMethod:@"POST"];
[request addRequestHeader:@"Content-Type" value:@"text/xml; charset=utf-8"];
[request addRequestHeader:@"SOAPAction" value:@"http://tempuri.org/HelloWorld"];
NSString *soapMessage = [NSString stringWithFormat:
@"<?xml version=\"1.0\" encoding=\"utf-8\"?>"
"<soap:Envelope
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"
xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">"
"<soap:Body>"
"<Greet xmlns=\"http://tempuri.org/\">"
"<deviceToken>some device token</deviceToken>"
"<userName>azamsharp</userName>"
"</Greet>"
"</soap:Body>"
"</soap:Envelope>"];
NSString *messageLength = [NSString stringWithFormat:@"%d",[soapMessage length]];
[request addRequestHeader:@"Content-Length" value:messageLength];
[request appendPostData:[soapMessage dataUsingEncoding:NSUTF8StringEncoding]];
[request setDelegate:self];
[request startAsynchronous];
}
위의 코드는 작동하지만 볼 수 있듯이 SOAP 메시지를 수동으로 만들어야합니다. 매개 변수와 메서드 이름을 전달하는 방법이 없으며 비누 본문/메시지가 자동으로 만들어집니다. 동일한 정확한 시나리오에 대한 StackOverFlow에 대한 예제가 있지만 찾을 수 없습니다.
행운이 있나요? – zaitsman
@zaitsman, 내가 방금 게시 한 답변을 살펴보십시오 ... 조금 날짜가 있지만 이것이 당신을 도울 수 있습니까? – Purpletoucan