public static void ParseSoapExceptionSuksess(TestContext context) { try { _exception = new SoapException(Feilmelding()); } catch { Assert.Fail(); } }
private OppslagstjenesteValidator SendEnvelope(AbstractEnvelope envelope) { var request = (HttpWebRequest)WebRequest.Create(_konfigurasjon.ServiceUri); request.ContentType = "text/xml;charset=UTF-8"; request.Headers.Add("SOAPAction", "\"\""); request.Method = "POST"; request.KeepAlive = true; request.ServicePoint.Expect100Continue = false; request.Timeout = _konfigurasjon.TimeoutIMillisekunder; string netVersion = Assembly .GetExecutingAssembly() .GetReferencedAssemblies() .Where(x => x.Name == "System.Core").First().Version.ToString(); var assemblyVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version; request.UserAgent = string.Format("DifiOppslagstjeneste/{1} .NET/{0},", netVersion, assemblyVersion); if (_konfigurasjon.BrukProxy) request.Proxy = new WebProxy(new UriBuilder(_konfigurasjon.ProxyScheme, _konfigurasjon.ProxyHost, _konfigurasjon.ProxyPort).Uri); var xml = envelope.ToXml(); var bytes = Encoding.UTF8.GetBytes(xml.OuterXml); var xmlValidator = new OppslagstjenesteXmlvalidator(); var xmlValidert = xmlValidator.ValiderDokumentMotXsd(xml.OuterXml); if (!xmlValidert) { throw new XmlException(xmlValidator.ValideringsVarsler); } Logging.Log(TraceEventType.Verbose, xml.OuterXml); try { var requestStream = request.GetRequestStream(); requestStream.Write(bytes, 0, bytes.Length); } catch { throw new SendException("Får ikke kontakt med Oppslagstjenesten. Sjekk tilkoblingsdetaljer og prøv på nytt."); } try { var response = request.GetResponse(); var validator = new OppslagstjenesteValidator(response.GetResponseStream(), xml, (OppslagstjenesteInstillinger)envelope.Settings); return validator; } catch (WebException we) { using (var stream = we.Response.GetResponseStream()) using (var reader = new StreamReader(stream)) { var error = reader.ReadToEnd(); var exception = new SoapException(error); Logging.Log(TraceEventType.Critical, string.Format("> Feil ved sending (Skyldig: {0})", exception.Skyldig)); Logging.Log(TraceEventType.Critical, String.Format(" - {0}", exception.Beskrivelse)); throw exception; } } }