Reputation: 19507
I am having issues connecting to this webservice, any ideas what I am doing wrong?
- (void)startRetrievingHotels
{
//Create the web service URL
NSURL *url = [NSURL URLWithString:@"https://www.stratexlive.com/tenants/commercialbank/_vti_bin/stratexws.asmx"];
//Create the web service request
ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
NSString *requestString = [self buildHotelListRequest];
NSLog(@"%@", requestString );
[request setDelegate:self];
[request setUsername:@"[email protected]"];
[request setPassword:@"asdfasdfasdfasdf$"];
[request appendPostData:[[self buildHotelListRequest] dataUsingEncoding:NSUTF8StringEncoding]]; //Set the xml request
[request startAsynchronous];
}
- (NSString *)buildHotelListRequest
{
NSString *result = [NSString stringWithFormat: @"<?xml version=\"1.0\"?>"
@"<GetUserName xmlns=\"https://www.sdf.com/\" />"];
NSLog(@"HOTEL LIST REQUEST: %@", result);
return result;
}
This is the response I get:
> <?xml version="1.0" encoding="utf-8"?><soap:Envelope
> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Header><soap12:Upgrade
> xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"><soap12:SupportedEnvelope
> qname="soap:Envelope"
> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" />
>
> <soap12:SupportedEnvelope qname="soap12:Envelope"
> xmlns:soap12="http://www.w3.org/2003/05/soap-envelope" />
>
> </soap12:Upgrade></soap:Header><soap:Body><soap:Fault>
>
> <faultcode>soap:VersionMismatch</faultcode><faultstring>Possible SOAP
> version mismatch: Envelope namespace https://www.stratexsystems.com/
> was unexpected. Expecting
> http://schemas.xmlsoap.org/soap/envelope/.</faultstring>
>
> <detail /></soap:Fault></soap:Body>
>
> </soap:Envelope>
Upvotes: 0
Views: 318
Reputation: 39978
I read about soap and found that you are missing something.
Here is some of info but I'm not sure where to put the username and password.
Hope you will figure it out.
NSString *soapMessage = @"<?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>\
<GetUserName xmlns=\"https://www.stratexsystems.com/\" />\
</soap:Body>\
</soap:Envelope>";
NSURL *url = [NSURL URLWithString:@"https://www.stratexlive.com/tenants/commercialbank/_vti_bin/stratexws.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: @"https://www.stratexsystems.com/GetUserName" forHTTPHeaderField:@"SOAPAction"];
[theRequest addValue: msgLength forHTTPHeaderField:@"Content-Length"];
[theRequest setHTTPMethod:@"POST"];
[theRequest setHTTPBody: [soapMessage dataUsingEncoding:NSUTF8StringEncoding]];
NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self];
Upvotes: 1