iOS - how to make SOAP-Anfrage & erhalten die Besorgnis Antwort
Ich weiß htere ist viel Zeug auf den Internetseiten für "so verwenden Sie die SEIFE in iOS", aber ich konnte in der Arbeit für die folgenden SAOP-Anfrage & response. Hilfe ist sehr Geschätzt.
Ich benutze die einfache NSURLConnection
für Anfrage & Antwort
SEIFE Requst
POST ???.asmx HTTP/1.1
Host: ???
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://tempuri.org/GetMessages"
<?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>
<GetMessages xmlns="http://tempuri.org/">
<GroupName>string</GroupName>
<Date>dateTime</Date>
</GetMessages>
</soap:Body>
</soap:Envelope>
SOAP-Antwort
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?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>
<GetMessagesResponse xmlns="http://tempuri.org/">
<GetMessagesResult>xml</GetMessagesResult>
</GetMessagesResponse>
</soap:Body>
</soap:Envelope>
Hier ist der code, den ich schrieb für das senden der Anfrage..
NSString *soapMessage = [NSString stringWithFormat:
@"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"
"<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/\">\n"
"<soap:Body>\n"
"<GetMessages xmlns=\"http://tempuri.org/\">\n"
"<GroupName>%@</GroupName>\n"
"<Date>%@</Date>\n"
"</GetMessages>\n"
"</soap:Body>\n"
"</soap:Envelope>\n"
, txtfield1.text
, textfield2.text
];
NSLog(@"soapMessage: \n%@",soapMessage);
NSURL *url = [NSURL URLWithString:@"???.asmx"];
NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url];
NSString *msgLength = [NSString stringWithFormat:@"%d", [soapMessage length]];
[theRequest addValue: @"text/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"];
[theRequest addValue: @"http://tempuri.org/GetMessages" forHTTPHeaderField:@"SOAPAction"];
[theRequest addValue: msgLength forHTTPHeaderField:@"Content-Length"];
[theRequest setHTTPMethod:@"POST"];
[theRequest setHTTPBody: [soapMessage dataUsingEncoding:NSUTF8StringEncoding]];
NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self];
if(theConnection )
webData = [[NSMutableData data] retain];
else
NSLog(@"theConnection is NULL");
Ich bin immer diese Fehler in connectionDidFinishLoading
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>Server was unable to process request. ---> SqlDateTime overflow. Must be between 1/1/1753 12:00:00 AM and 12/31/9999 11:59:59 PM.</faultstring>
<detail />
</soap:Fault>
Bezog ich mich auf dieser link
& verwendet der code in diesem link & modifiziert nach meiner Zufriedenheit zu machen, es funktionierte
Meine Frage ist, wie um die Anfrage zu senden & empfangen der Besorgnis Antwort
Vielen Dank im Voraus
InformationsquelleAutor hp iOS Coder | 2013-01-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
scheint das problem nicht im Zusammenhang mit dem senden/empfangen von soap-Nachrichten, die an alle, ABER der Wert, den Sie senden als
dateTime
-- es hat nicht das richtige format.=> Server konnte die Anforderung nicht verarbeiten. ---> SqlDateTime-überlauf. Muss zwischen 1/1/1753 12:00:00 UHR und 12/31/9999 11:59:59 Uhr.
verwenden Sie ein NSDateFormatter zu schreiben, der Datum-string im gewünschten format
InformationsquelleAutor Daij-Djan