Example #1
0
        void System.ServiceModel.Description.IWsdlExportExtension.ExportEndpoint(WsdlExporter exporter, WsdlEndpointConversionContext context)
        {
            MessageEncodingBindingElement messageEncodingBindingElement = context.Endpoint.Binding.CreateBindingElements().Find <MessageEncodingBindingElement>();

            if (messageEncodingBindingElement == null)
            {
                messageEncodingBindingElement = Microsoft.ServiceBus.Messaging.Channels.TransportDefaults.CreateDefaultEncoder();
            }
            SoapBinding soapBinding = NetMessagingTransportBindingElement.GetSoapBinding(context, exporter);

            if (soapBinding != null)
            {
                soapBinding.Transport = "http://sample.schemas.microsoft.com/policy/netMessaging";
            }
            if (context.WsdlPort != null)
            {
                WSAddressingHelper.AddAddressToWsdlPort(context.WsdlPort, context.Endpoint.Address, messageEncodingBindingElement.MessageVersion.Addressing);
            }
        }
Example #2
0
        void System.ServiceModel.Description.IPolicyExportExtension.ExportPolicy(MetadataExporter exporter, PolicyConversionContext context)
        {
            if (exporter == null || context == null)
            {
                throw Microsoft.ServiceBus.Messaging.FxTrace.Exception.ArgumentNull((exporter == null ? "exporter" : "context"));
            }
            ICollection <XmlElement> bindingAssertions = context.GetBindingAssertions();

            bindingAssertions.Add((new XmlDocument()).CreateElement("sb", "netMessaging", "http://sample.schemas.microsoft.com/policy/netMessaging"));
            MessageEncodingBindingElement messageEncodingBindingElement = context.BindingElements.Find <MessageEncodingBindingElement>();

            if (messageEncodingBindingElement == null)
            {
                messageEncodingBindingElement = Microsoft.ServiceBus.Messaging.Channels.TransportDefaults.CreateDefaultEncoder();
                IPolicyExportExtension policyExportExtension = messageEncodingBindingElement as IPolicyExportExtension;
                if (policyExportExtension != null)
                {
                    policyExportExtension.ExportPolicy(exporter, context);
                }
            }
            WSAddressingHelper.AddWSAddressingAssertion(exporter, context, messageEncodingBindingElement.MessageVersion.Addressing);
        }