public Message ProcessMessage(Message request) { try { string req = SoapMessageHelper.DumpWCFMessage(request); if (req == null || req.Length < 1) { return(null); } string rsp = null; if (!_server.NotifyMessageReceived(req, out rsp) || string.IsNullOrEmpty(rsp)) { _server._log.Write("Preparing SOAP error message from file: " + _server._soapErrFile); rsp = _server._soapErrEnvelope; } Message msg = SoapMessageHelper.CreateWCFMessageWithEnvelope( SoapEnvelopeVersion.Soap11, WSAddressingVersion.None, "*", rsp); return(msg); } catch (Exception e) { _server._log.Write(e); return(null); } }
public bool SendMessage(string uri, string action, string requestSOAPEnvelope, out string responseSOAPEnvelope) { bool res = false; responseSOAPEnvelope = null; if (action == null) { return(res); } if (uri == null || uri.Length < 1) { return(res); } if (requestSOAPEnvelope == null || requestSOAPEnvelope.Length < 1) { return(res); } string soapInfo = string.Format("sending SOAP message to uri: {0} with action: {1}", uri, action); _log.Write("Begin " + soapInfo); try { //using (ChannelFactory<IAbstractClientContract> factory = new ChannelFactory<IAbstractClientContract>("ABSTRACT_CLIENT_ENDPOINT")) using (ConfigurableChannelFactory <IAbstractClientContract> factory = new ConfigurableChannelFactory <IAbstractClientContract>(_configFile)) { IAbstractClientContract proxy = factory.CreateChannel(new EndpointAddress(uri)); using (proxy as IDisposable) { using (OperationContextScope sc = new OperationContextScope(proxy as IContextChannel)) { using (Message wcfRequest = SoapMessageHelper.CreateEmptyWCFMessage( SoapEnvelopeVersion.Soap11, WSAddressingVersion.None, action)) { OperationContext.Current.OutgoingMessageProperties.Add(SwaEncoderConstants.SoapEnvelopeProperty, requestSOAPEnvelope); using (Message wcfResponse = proxy.SendMessage(wcfRequest)) { responseSOAPEnvelope = SoapMessageHelper.DumpWCFMessage(wcfResponse); res = true; } } } } } } catch (Exception err) { if (_log != null) { _log.Write(err); } res = false; } _log.Write(string.Format("End {0}. Result: {1}", soapInfo, res)); return(res); }
private void buttonMsgCall_Click(object sender, EventArgs e) { string uri = this.textBoxMsgURI.Text.Trim(); string action = this.textBoxMsgAction.Text.Trim(); string request = this.textBoxMsgSnd.Text.Trim(); System.ServiceModel.Channels.Message wcfRequest = null; System.ServiceModel.Channels.Message wcfResponse = null; try { ChannelFactory <IAbstractContract> factory = new ChannelFactory <IAbstractContract>("ABSTRACT_CLIENT_ENDPOINT"); IAbstractContract proxy = factory.CreateChannel(new EndpointAddress(uri)); using (proxy as IDisposable) { using (OperationContextScope sc = new OperationContextScope(proxy as IContextChannel)) { using (wcfRequest = SoapMessageHelper.CreateEmptyWCFMessage( SoapEnvelopeVersion.Soap11, WSAddressingVersion.None, action)) { //List<SwaAttachment> attachmentList = new List<SwaAttachment>(); //OperationContext.Current.OutgoingMessageProperties.Add(SwaEncoderConstants.AttachmentProperty, attachmentList); OperationContext.Current.OutgoingMessageProperties.Add(SwaEncoderConstants.SoapEnvelopeProperty, request); wcfResponse = proxy.SendMessage(wcfRequest); } } } if (wcfResponse != null) { string response = SoapMessageHelper.DumpWCFMessage(wcfResponse); wcfResponse.Close(); this.textBoxMsgRcv.Text = response; } } catch (Exception err) { MessageBox.Show(this, err.ToString(), this.Text); } }
public Message ProcessMessage(Message request) { string req = SoapMessageHelper.DumpWCFMessage(request); _server.DisplayRequestMessage(req); //Message msg = SoapMessageHelper.CreateEmptyWCFMessage( // SoapEnvelopeVersion.Soap11, // WSAddressingVersion.None, // "SomeReplyAction"); string response = _server._response; Message msg = SoapMessageHelper.CreateWCFMessageWithEnvelope( SoapEnvelopeVersion.Soap11, WSAddressingVersion.None, "*", response); return(msg); }
public Message ProcessMessage(Message request) { try { string req = SoapMessageHelper.DumpWCFMessage(request); if (req == null || req.Length < 1) { return(null); } SOAPReceiverSession session = new SOAPReceiverSession(req, _receiver._enableSessionStatusLog); _receiver._log.Write("Begin processing " + session.ToString()); string rsp = ""; if (_receiver.NotifyMessageReceived(session)) { rsp = session.OutgoingSOAPEnvelope; } else { _receiver._log.Write("Preparing SOAP error message from file: " + _receiver._cfg.GetSOAPErrorMessageFileFullPath()); rsp = _receiver._cfg.GetSOAPErrorMessageContent(); } Message msg = SoapMessageHelper.CreateWCFMessageWithEnvelope( SoapEnvelopeVersion.Soap11, WSAddressingVersion.None, "*", rsp); if (_receiver._enableSessionStatusLog) { _receiver._log.Write("Session status history: " + session.GetStatusLog()); } _receiver._log.Write("End processing " + session.ToString()); _receiver._log.Write(""); return(msg); } catch (Exception e) { _receiver._log.Write(e); return(null); } }