Help page: https://pcmiler.alk.com/apis/soap/v1.0/help/
The SOAP Header element contains application-specific information(like authentication) about the SOAP message. If the Header element is present, it must be the first element in the Envelope element.
Note: All immediate Child elements of the header element must be namespace-qualified
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Header> <Action s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">http://pcmiler.alk.com/APIs/v1.0/IService/GetReports</Action> <h:AuthHeader xmlns="http://www.alk.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:h="http://www.alk.com"> <Authorization>APIKeyHere</Authorization> <Date>Tue, 12 Aug 2014 14:18:50 GMT</Date> </h:AuthHeader> </s:Header> <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <GetReports xmlns="http://pcmiler.alk.com/APIs/v1.0">
The SOAP mustUnderstand attribute can be used to indicate whether a header entry is mandatory or optional for the recipient to process. It is mandatory to send a SOAPHeader to the WCF service.
If you add mustUnderstand="1" to a child element of the Header element, it indicates that the receiver processing the Header must recognize the element. If the receiver does not recognize the element, it will fail when processing the Header.
soap:mustUnderstand="0|1"
The AuthHeader is required to authenticate the login to the WCF web server. It is contained in the SoapHeader element for every request.
AuthHeader Schema<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.alk.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" elementFormDefault="qualified" targetNamespace="http://www.alk.com"> <xs:element name="AuthHeader"> <xs:complexType> <xs:sequence> <xs:element name="Authorization" type="xs:string"/> <xs:element name="Date" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
Element | Definition | Required |
---|---|---|
Authorization |
Y | |
Date |
Y |
public AuthHeader AuthHeader { get { AuthHeader header = null; if (!string.IsNullOrEmpty(APIKey)) { header = new AuthHeader(); header.Date = DateTime.UtcNow.ToString(HEADER_TIMESTAMP_FORMAT); header.Authorization = APIKey; } else { throw new PCMilerException("Could not generate AuthHeader. Not all values have been defined."); } return header; } }
Represents header information that is part of every web service request.
Schema<xs:complexType name="RequestHeader"> <xs:sequence> <xs:element minOccurs="0" name="DataVersion" nillable="true" type="xs:string"/> <xs:element minOccurs="0" name="RequestType" nillable="true" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:element name="RequestHeader" nillable="true" type="tns:RequestHeader"/>
Element | Definition | Required |
---|---|---|
DataVersion |
String value. The data version can be any version number ranging from 18 through 32. Use "LastQuarter" for last quarter data, "current for current quarter data and baseline for releasequarter data." | N |
RequestType |
String value. The AboutService API requires this to be "AboutMapService". All other API's do not validate this and can be any string. | N |
Element | Definition |
---|---|
DataVersion |
A string. Gets or sets the data version used in the request operation. |
Errors |
A list of Errors object<>. Gets or sets a collection of errors that may have occurred during the request operation. |
Success |
A boolean value. Gets or sets the response type which is the same value that the user passed in for the request. |
Type |
A string. Gets or sets the response type which is the same value that the user passed in for the request type. |
Element | Definition |
---|---|
Code |
An enumeration of PcmwsExceptionCode.
Gets or sets the data version used in the request operation.Usage: var errCode = new ServiceReference.PcmwsExceptionCode(); errorCode = response.Header.Errors[0].Code; |
Description |
A string. Gets or sets the detailed error description.
Usage: var description = response.Header.Errors[0].Description;. |
LegacyErrorCode |
An Integer. Gets or sets the legacy error code which is an integer valued code that would have been returned in PCMiler Web Services V25 and earlier.
Usage: int Xresponse.Header.Errors[0].legacyErrorCode; |
Type |
Gets or sets whether the error is an exception or a warning.
Usage: string type = response.Header.Errors[0].type; |