0

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>
4

1 に答える 1

2

ここに行くことから始めることをお勧めします: SOAP iOS ジェネレーターこれにより、SOAP Web サービスとクリーンでシンプルな方法で通信できるようになります。

于 2012-08-17T12:38:26.363 に答える