0

我需要帮助以访问 iOS 中的 Web 服务(以下 Web 服务代码)。我尝试实现肥皂网络服务来访问网络服务,但它返回错误的结果。我直接给出用户名和密码并尝试访问,但访问此服务所需的 base64 加密字符串(例如,用户名将以加密类型给出,如 NSString *Username=@"username:password"; )。此用户名可以转换为base64 加密,然后访问Web 服务。我不知道如何设置 AuthHeader 的标头和用于访问以下 Web 服务的凭据标签。所以任何人都可以帮助我如何在 iPhone 上实现波纹管网络服务。

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 generator这将允许您以一种干净简单的方式与您的 SOAP Web 服务进行通信。

于 2012-08-17T12:38:26.363 回答