Tag: svcutil.exe

SVCUtil跳过wsdl的complexType以避免重复

我在我的本地 – A.WSDL和B.WSDL上下载了多个wsdl文件 A.WSDL具有与B.WSDL 相同的复杂类型集(接近100),但方法/操作是不同的。 例如:A.WSDL具有复杂类型并且操作正在创建新操作 B.WSDL具有相同的复杂类型并且操作是读取操作 我使用SVCUtil在客户端生成存根到单个文件和具有相同命名空间的存根。 但得到以下错误: 错误:validation导出期间生成的某些XML模式时出错http://mylocalhost/object:Book已经声明。 约束是: 1)我将无法更改WSDL文件。 2)想要将生成的存根类放在单个名称空间中。 3)没有wsdl.exe 是否有任何方法可以跳过重复的complexType或覆盖?

svcutil.exe是xsd.exe的替代品吗?

我正在使用xsd.exe从.xsd文件生成一些c#类。 我遇到了此处和其他网站上涉及的相同问题,其中xsd.exe生成Type []数组,而不是.xsd文件中类型的通用List集合。 有些人建议如果将/ dataContractOnly参数传递给svcutil.exe,svcutil.exe可以用作xsd.exe的替代品。 但是,似乎这些人都错了,因为svcutil.exe实际上生成了System.Xml.XmlNode []数组属性,而不是基于.xsd文件中的模式创建类型。 例如,给定这个简单的.xsd架构: ‘xsd.exe / classes Example.xsd’生成: public partial class Employees { private Employee[] employeeField; public Employee[] Employee { get { return this.employeeField; } set { this.employeeField = value; } } } public partial class Employee { private string firstNameField; private string lastNameField; public string FirstName { get { return […]

通过WCF提供类对象的数组或列表

提供List或Array自定义类对象的WCF客户端服务器的任何示例都会对我有所帮助! 但到目前为止我得到的是: 这是我想要提供的class级系统 namespace NEN_Server.FS { [Serializable()] public class XFS { private List files; public XFS() { files = new List(); } public List Files { get { return files; } set { files = value; } } } } NFS在哪里 namespace NEN_FS { public interface INFS : IEquatable { string Path { get; set; […]

WCF – 读取XML数据时已超出最大名称字符数量限额(16384)

我有一个使用wsHttpBinding的WCF服务。 服务器配置如下: 在客户端,我包括WCF服务的服务参考。 如果我的function有限,在我的IService中说90操作合同但是如果再添加一个OperationContract而不是我无法更新服务引用,我也能添加该服务引用。 在本文中提到通过更改这些配置文件(即devenv.exe.config,WcfTestClient.exe.config和SvcUtil.exe.config)它可以工作,但即使包括那些配置文件中的那些绑定仍然会弹出错误说 下载’ http://10.0.3.112/MyService/Service1.svc/mex ‘时出错。 请求失败,HTTP状态为400:错误请求。 元数据包含无法解析的引用:’ http : //10.0.3.112/MyService/Service1.svc/mex ‘。 XML文档中存在错误(1,89549)。 读取XML数据时已超出最大名称字符计数限额(16384)。 nametable是用于存储XML处理期间遇到的字符串的数据结构 – 具有非重复元素名称,属性名称和属性值的长XML文档可能会触发此配额。 通过更改创建XML阅读器时使用的XmlDictionaryReaderQuotas对象上的MaxNameTableCharCount属性,可以增加此配额。 第1行,位置89549.如果在当前解决方案中定义了服务,请尝试构建解决方案并再次添加服务引用。 不知道怎么解决这个????

WCF代理生成:svcutil.exe vs wsdl.exe

我有来自WebService的.wsdl和.xsd文件,需要通过它们生成代理。 Svcutil.exe和wsdl.exe生成非常不同的输出。 这两种代理生成工具有什么区别,哪种方式更可取?

WCF服务引用名称空间与原始名称不同

关于我的服务引用所使用的命名空间,我遇到了问题。 我有许多WCF服务,比如命名空间MyCompany.Services.MyProduct ( 实际名称空间更长 )。 作为产品的一部分,我还提供了一个示例C#.NET网站。 此Web应用程序使用命名空间MyCompany.MyProduct 。 在初始开发期间,该服务被添加为网站的项目参考并直接使用。 我使用了一个工厂模式,它返回一个实现MyCompany.Services.MyProduct.IMyService的对象实例。 到现在为止还挺好。 现在我想更改它以使用实际的服务引用。 添加引用并在命名空间文本框中键入MyCompany.Services.MyProduct后,它将在命名空间MyCompany.MyProduct.MyCompany.Services.MyProduct中生成类。 坏! 我不想仅仅因为我正在使用代理类而在几个地方using指令进行更改。 所以我尝试使用global::前置命名空间,但是不接受。 请注意,我还没有删除原始程序集引用,并且启用了“重用类型”,但显然没有重用。 但是,我不想在我的示例网站中保留程序集引用,以使其无论如何都能正常工作 。 到目前为止,我提出的唯一解决方案是将我的Web应用程序的默认命名空间设置为MyCompany (因为它不能为空),并将服务引用添加为Services.MyProduct 。 假设客户想要使用我的示例网站作为起点,他们将默认命名空间更改为OtherCompany.Whatever ,这显然会破坏我的解决方法。 这个问题有一个很好的解决方案吗? 总结一下 :我想在原始命名空间中生成服务引用代理,而不引用程序集。 注意:我已经看到了这个问题 ,但没有提供可用于我的用例的解决方案。 编辑:正如John Saunders建议的那样,我已向微软提交了一些反馈: 反馈项目@ Microsoft Connect