private SoapRequestInfo CreateRequestInfo <TRequest>(TRequest actionRequest) { var requestType = typeof(TRequest); if (requestType.GetCustomAttributes(typeof(SoapRequestAttribute), false) .FirstOrDefault() is not SoapRequestAttribute soapRequestAttribute) { throw new SoapRequestAttributeNotFoundException(requestType); } var requestInfo = new SoapRequestInfo { Url = Url, Credentials = Credentials, Action = actionRequest, ActionName = soapRequestAttribute.Name, ServiceNameSpace = soapRequestAttribute.NameSpace }; var propertyMappings = (from property in requestType.GetProperties() let attribute = property.GetCustomAttribute <SoapRequestFieldAttribute>(false) where attribute != null select new PropertyFieldMapping { FieldName = attribute.Name, Property = property }).ToArray(); requestInfo.PropertyMappings = propertyMappings; return(requestInfo); }
private IHttpWebRequest CreateHttpWebRequest(SoapRequestInfo soapRequestInfo) { var httpWebRequest = SoapHttpWebRequestCreator.Create(soapRequestInfo, _webRequestFactory); OnConfigureHttpWebRequest(httpWebRequest); return(httpWebRequest); }