我需要在不使用WSDL的情况下实现和SOAP服务(因为它坏了,而且不会被修复)。现在im停留在需要为某些类(基类和派生类)设置类型属性的点上。
通常我的DTO都是这样装饰的:
BaseClass:
[XmlInclude(typeof(Person))]
[XmlType("Partner", Namespace = "http://....")]
public abstract class Partner
{...}DerivedOne:
[XmlType("Person")]
public class Person : Partner
{...}结果如下:
<tar:Partner xsi:type="Person">
但是现在API文档告诉我创建如下所示的请求:
<tar:Partner xsi:type="par:CT_Person">
(在Fiddler和works中测试)如何创建带有typeName前缀(par)的NameSpace集或设置名称如下:
[XmlType("par:CT_Person")]
对我来说,禁用(重写)转义功能是没有选择的。
提前谢谢。
发布于 2016-12-14 14:00:57
在测试了一整天然后四处转悠之后..。写完我的问题后,我自己就得到了答案。
当我在baseclass中设置名称空间时,我可以用不同的URL在派生的名称空间中设置名称空间。比它起作用..。
希望这篇文章能帮助其他面临问题的人:)
https://stackoverflow.com/questions/41144363
复制相似问题