欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

请问:wcf里怎么修改默认命名空间的前缀等

更新时间: 2014-01-05 01:59:35 责任编辑: Author_N1

 

请教:WCF里如何修改默认命名空间的前缀等
用WCF做出来的效果是:
目标效果是:
问题如下:
1. 怎样将第一行的s:Envelope修改为SOAP-ENV:Envelope;
2. 怎样添加命名空间,现在只有2个,我想增加至目标的5个;
3. 怎样在Inform前增加"cwmp:";
4. 怎样去掉Inform后面的xmlns="urn:dslforum-org:cwmp-1-0"
问题很多,只是看了网上几个例子自己写的,希望各位大大不吝赐教,小女子感激不尽。。。

附件:
一个解决方案里包含两个项目:server和client,code如下:
server端:

using System;
using System.Collections.Generic;
using System.Text;
using System.ServiceModel;
using System.ServiceModel.Description;
using System.Xml.Serialization;
using System.Runtime.Serialization;

namespace ACS
{
    [DataContract]
    public class DeviceIdStruct
    {
        [DataMember]
        public string Manufacturer;
        [DataMember]
        public string OUI;
        [DataMember]
        public string ProductClass;
        [DataMember]
        public string SerialNumber;
    }
    public class EventList
    {
        public string EventCode;
        public string CommandKey;
    }
    public class ParameterValueList
    {
        public string Name;
        public string Value;
    }

    [ServiceContract]
    public interface ICwmpBinding
    {
        [OperationContract(IsOneWay = false)]
        uint Inform(DeviceIdStruct DeviceId, EventList Event, uint MaxEnvelopesI, System.DateTime CurrentTime, uint RetryCount, ParameterValueList ParameterList);
    }

    public class cwmpServiceType : ICwmpBinding
    {
        public uint Inform(DeviceIdStruct DeviceId, EventList Event, uint MaxEnvelopesI, System.DateTime CurrentTime, uint RetryCount, ParameterValueList ParameterList)
        {
            Console.WriteLine("Time Now is:{0}!", CurrentTime);
            return 1;
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            // 服务器基址  
            Uri baseAddress = new Uri("http://192.168.20.110:8080/openacs");
            // 声明服务器主机  
            using (ServiceHost host = new ServiceHost(typeof(cwmpServiceType), baseAddress))
            {
                // 添加绑定和终结点  
                WSHttpBinding binding = new WSHttpBinding();
                binding.Security.Mode = SecurityMode.None;
                host.AddServiceEndpoint(typeof(ICwmpBinding), binding, "/acs");
                // 添加服务描述  
                host.Description.Behaviors.Add(new ServiceMetadataBehavior { HttpGetEnabled = true });
                try
                {
                    // 打开服务  
                    host.Open();
                    Console.WriteLine("服务已启动。");
                }
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 01:59:35
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/4182/
本文WWW.DOC100.NET DOC100.NET版权所有。