public IncomingMessage SendRequest(OutgoingMessage requestMessage) { var httpRequest = (HttpWebRequest)WebRequest.Create(_serverUrl); httpRequest.Method = "POST"; httpRequest.MediaType = "application/soap+xml; charset=utf-8"; requestMessage.AddHeader(new ToHeader(_serverUrl), true); if (requestMessage.GetHeader <MessageIdHeader>() == null) { requestMessage.AddHeader(MessageIdHeader.CreateRandom(), false); } SerializeRequestBody(httpRequest, requestMessage); var response = (HttpWebResponse)httpRequest.GetResponse(); if (response.StatusCode == HttpStatusCode.OK) { var responseStream = response.GetResponseStream(); if (responseStream != null) { return(new IncomingMessage(XmlReader.Create(responseStream))); } throw new SOAPException("Missing response body."); } var exceptionMessage = GetExceptionMessage(response.StatusCode); throw new SOAPException(exceptionMessage); }
public OutgoingMessage CreateMessage(string action) { var respose = new OutgoingMessage(); respose.AddHeader(new ActionHeader(action), true); return(respose); }
public IncomingMessage SendRequest(OutgoingMessage requestMessage) { requestMessage.AddHeader(new ToHeader("http://example.com"), true); var serverReceivedMessage = Receive(requestMessage); var serverResponse = Handle(serverReceivedMessage); var clientReceivedMessage = Receive(serverResponse); return clientReceivedMessage; }
public IncomingMessage SendRequest(OutgoingMessage requestMessage) { requestMessage.AddHeader(new ToHeader("http://example.com"), true); var serverReceivedMessage = Receive(requestMessage); var serverResponse = Handle(serverReceivedMessage); var clientReceivedMessage = Receive(serverResponse); return(clientReceivedMessage); }
public static OutgoingMessage Create(string action, string reason, XmlQualifiedName code, IEnumerable<XmlQualifiedName> subcodes) { var message = new OutgoingMessage(); message.AddHeader(new ActionHeader(action), false); var fault = new Fault { Code = CreateCode(code, subcodes), Detail = new FaultDetail(), Reason = CreateReason(reason) }; message.SetBody(new SerializerBodyWriter(fault)); return message; }
public IncomingMessage SendRequest(OutgoingMessage requestMessage) { var httpRequest = (HttpWebRequest)WebRequest.Create(_serverUrl); httpRequest.Method = "POST"; httpRequest.MediaType = "application/soap+xml; charset=utf-8"; requestMessage.AddHeader(new ToHeader(_serverUrl), true); if (requestMessage.GetHeader<MessageIdHeader>() == null) { requestMessage.AddHeader(MessageIdHeader.CreateRandom(), false); } SerializeRequestBody(httpRequest, requestMessage); var response = (HttpWebResponse)httpRequest.GetResponse(); if (response.StatusCode == HttpStatusCode.OK) { var responseStream = response.GetResponseStream(); if (responseStream != null) { return new IncomingMessage(XmlReader.Create(responseStream)); } throw new SOAPException("Missing response body."); } var exceptionMessage = GetExceptionMessage(response.StatusCode); throw new SOAPException(exceptionMessage); }
public void It_writes_headers() { var message = new OutgoingMessage(); var headerName = XName.Get("someHeader","someNamespace"); var header = new MessageHeader( headerName, new XNode[] {new XText("someText")}, false); message.AddHeader(header); var envelope = XElementExtensions.ParseGeneratedXml(message.Write); Assert.AreEqual(SOAP.Constants.Envelope, envelope.Name); var headerSectionElement = envelope.Element(SOAP.Constants.Header); var headerElement = headerSectionElement.Element(headerName); var headerContent = (XText)headerElement.FirstNode; Assert.AreEqual("someText", headerContent.Value); }
public void It_writes_headers() { var message = new OutgoingMessage(); var headerName = XName.Get("someHeader", "someNamespace"); var header = new MessageHeader( headerName, new XNode[] { new XText("someText") }, false); message.AddHeader(header); var envelope = XElementExtensions.ParseGeneratedXml(message.Write); Assert.AreEqual(SOAP.Constants.Envelope, envelope.Name); var headerSectionElement = envelope.Element(SOAP.Constants.Header); var headerElement = headerSectionElement.Element(headerName); var headerContent = (XText)headerElement.FirstNode; Assert.AreEqual("someText", headerContent.Value); }
public IMessageBuilder AddHeader(IMessageHeader header, bool mustUnderstand) { _outgoingMessage.AddHeader(header, mustUnderstand); return(this); }
public void AddHeader(IMessageHeader header, bool mustUnderstand) { _outgoingMessage.AddHeader(header, mustUnderstand); }
public OutgoingMessage CreateMessage(string action) { var respose = new OutgoingMessage(); respose.AddHeader(new ActionHeader(action), true); return respose; }