public string GetIncomingMessageHeadersMessage(string customHeaderName, string customHeaderNS) { MessageHeaders headers = OperationContext.Current.IncomingMessageHeaders; MesssageHeaderCreateHeaderWithXmlSerializerTestType header = headers.GetHeader <MesssageHeaderCreateHeaderWithXmlSerializerTestType>(customHeaderName, customHeaderNS); if (header != null) { return(header.Message); } return(string.Empty); }
public static void OperationContextScope_HttpRequestCustomMessageHeader_RoundTrip_Verify() { // *** SETUP *** \\ BasicHttpBinding binding = new BasicHttpBinding(); MyClientBase <IWcfServiceXml_OperationContext> client = new MyClientBase <IWcfServiceXml_OperationContext>(binding, new EndpointAddress(Endpoints.HttpBaseAddress_Basic_Text)); IWcfServiceXml_OperationContext serviceProxy = client.ChannelFactory.CreateChannel(); string customHeaderName = "TestSessionHeader"; string customHeaderNS = "xmlns=urn:TestWebServices/MyWebService/"; var customHeaderValue = new MesssageHeaderCreateHeaderWithXmlSerializerTestType { Message = "secret" }; try { using (OperationContextScope scope = new OperationContextScope((IContextChannel)serviceProxy)) { // *** EXECUTE *** \\ MessageHeader header = MessageHeader.CreateHeader( customHeaderName, customHeaderNS, customHeaderValue ); OperationContext.Current.OutgoingMessageHeaders.Add(header); string result = serviceProxy.GetIncomingMessageHeadersMessage(customHeaderName, customHeaderNS); // *** VALIDATE *** \\ Assert.Equal(customHeaderValue.Message, result); } // *** CLEANUP *** \\ ((ICommunicationObject)serviceProxy).Close(); } finally { // *** ENSURE CLEANUP *** \\ ScenarioTestHelpers.CloseCommunicationObjects((ICommunicationObject)serviceProxy, client); } }
public static void OperationContextScope_HttpRequestCustomMessageHeader_RoundTrip_Verify() { // *** SETUP *** \\ BasicHttpBinding binding = new BasicHttpBinding(); MyClientBase<IWcfServiceXml_OperationContext> client = new MyClientBase<IWcfServiceXml_OperationContext>(binding, new EndpointAddress(Endpoints.HttpBaseAddress_Basic)); IWcfServiceXml_OperationContext serviceProxy = client.ChannelFactory.CreateChannel(); string customHeaderName = "TestSessionHeader"; string customHeaderNS = "xmlns=urn:TestWebServices/MyWebService/"; var customHeaderValue = new MesssageHeaderCreateHeaderWithXmlSerializerTestType { Message = "secret" }; try { using (OperationContextScope scope = new OperationContextScope((IContextChannel)serviceProxy)) { // *** EXECUTE *** \\ MessageHeader header = MessageHeader.CreateHeader( customHeaderName, customHeaderNS, customHeaderValue ); OperationContext.Current.OutgoingMessageHeaders.Add(header); string result = serviceProxy.GetIncomingMessageHeadersMessage(customHeaderName, customHeaderNS); // *** VALIDATE *** \\ Assert.Equal(customHeaderValue.Message, result); } // *** CLEANUP *** \\ ((ICommunicationObject)serviceProxy).Close(); } finally { // *** ENSURE CLEANUP *** \\ ScenarioTestHelpers.CloseCommunicationObjects((ICommunicationObject)serviceProxy, client); } }