我需要帮助以访问 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>