我正在研究一些遗留代码,我需要一个asmx来实现一个特定的wsdl,它正在提供给我。
我希望将消息的根元素作为XmlDocument或XmlNode,而不是wsdl.exe生成的对象图。这甚至可能吗?
答案 0 :(得分:0)
首先,您应该使用svcutil.exe,而不是wsdl.exe,除非您没有其他选择。
其次,您不需要任何一个程序来实现外部WSDL。只需编写您的服务,以便XML Serializer正确地序列化和反序列化传入的消息。特别是,如果您喜欢处理XML,请尝试以下方法:
[WebMethod]
public XmlElement SomeOperation(XmlElement parameter)
{
}
我相信同样适用于较新的XElement
类。
在WCF中(这是你应该使用的,因为Microsoft现在认为ASMX Web服务是“遗留技术”),我相信你应该使用Message
类型:
[OperationContract]
Message SomeOperation(Message parameter);