Использую сервис wsdl (В проект подключен как Service References)
У сервиса есть метод отправки Send, который принимает объект типа Order
Service1.Send(Order order).
Для формирования объекта order использую типы, предоставляемые сервисом Service1. Сгенерированный класс:
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.81.0")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http:/example.ru/service1")]
public partial class order {
private string orderNumField;
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute (Form=System.Xml.Schema.XmlSchemaForm.Unqualified)]
public string orderNum {
get {
return this.orderNumField;
}
set {
this.orderNumField = value;
}
}
}
При попытке отправки выдается исключение:
There was an error reflecting 'orders'
А также внутреннее исключение:
The Form property may not be 'Unqualified' when an explicit Namespace property is present
StackTrace:
at System.Xml.Serialization.XmlReflectionImporter.CheckForm(XmlSchemaForm form, Boolean isQualified) at System.Xml.Serialization.XmlReflectionImporter.ImportAccessorMapping(MemberMapping accessor, FieldModel model, XmlAttributes a, String ns, Type choiceIdentifierType, Boolean rpc, Boolean openModel, RecursionLimiter limiter) at System.Xml.Serialization.XmlReflectionImporter.ImportMemberMapping(XmlReflectionMember xmlReflectionMember, String ns, XmlReflectionMember[] xmlReflectionMembers, Boolean rpc, Boolean openModel, RecursionLimiter limiter) at System.Xml.Serialization.XmlReflectionImporter.ImportMembersMapping(XmlReflectionMember[] xmlReflectionMembers, String ns, Boolean hasWrapperElement, Boolean rpc, Boolean openModel, RecursionLimiter limiter)
Нашел что нужно или убрать неймспейс из тэгов типов в xml или убрать свойство Unqualified.
Не могу понять, как мне избавиться от этих ошибок? xml "вручную" не создаю, а передаю в метод именно объект.
И может ли быть, что в сгенерированном wsdl сервисом классе есть ошибки?
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники