iOSでWebサービスにアクセスするためのヘルプが必要です(以下のWebサービスコード用)。WebサービスにアクセスするためにSOAPWebサービスを実装しようとしましたが、誤った結果が返されます。ユーザー名とパスワードを直接指定してアクセスしようとしますが、このサービスにアクセスするために必要なbase64暗号化文字列(たとえば、ユーザー名はNSString * Username = @ "username:password";のように暗号化されたタイプで指定されます)。このユーザー名は、base64暗号化に変換してから、Webサービスにアクセスできます。以下のWebサービスにアクセスするためのAuthHeaderおよびcredentialsタグのヘッダーを設定する方法がわかりません。だから誰もがiPhoneに以下のWebサービスを実装する方法を教えてくれます。
SOAP 1.1
The following is a sample SOAP 1.1 request and response. The placeholders shown need to be replaced with actual values.
POST /Test_Express/Service.asmx HTTP/1.1
Host: external.test.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://tempuri.org/LoginValidation"
<?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:Header>
<AuthHeader xmlns="http://tempuri.org/">
<credentials>string</credentials>
</AuthHeader>
</soap:Header>
<soap:Body>
<LoginValidation xmlns="http://tempuri.org/">
<username>string</username>
<password>string</password>
</LoginValidation>
</soap:Body>
</soap:Envelope>
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>
<LoginValidationResponse xmlns="http://tempuri.org/">
<LoginValidationResult>string</LoginValidationResult>
</LoginValidationResponse>
</soap:Body>
</soap:Envelope>
SOAP 1.2
The following is a sample SOAP 1.2 request and response. The placeholders shown need to be replaced with actual values.
POST /Test_Express/Service.asmx HTTP/1.1
Host: external.test.com
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<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">
<soap12:Header>
<AuthHeader xmlns="http://tempuri.org/">
<credentials>string</credentials>
</AuthHeader>
</soap12:Header>
<soap12:Body>
<LoginValidation xmlns="http://tempuri.org/">
<username>string</username>
<password>string</password>
</LoginValidation>
</soap12:Body>
</soap12:Envelope>
HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<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">
<soap12:Body>
<LoginValidationResponse xmlns="http://tempuri.org/">
<LoginValidationResult>string</LoginValidationResult>
</LoginValidationResponse>
</soap12:Body>
</soap12:Envelope>
HTTP GET
The following is a sample HTTP GET request and response. The placeholders shown need to be replaced with actual values.
GET /Test_Express/Service.asmx/LoginValidation?username=string&password=string HTTP/1.1
Host: external.test.com
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://tempuri.org/">string</string>
HTTP POST
The following is a sample HTTP POST request and response. The placeholders shown need to be replaced with actual values.
POST /Test_Express/Service.asmx/LoginValidation HTTP/1.1
Host: external.test.com
Content-Type: application/x-www-form-urlencoded
Content-Length: length
username=string&password=string
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://tempuri.org/">string</string>