Ошибка при передаче с помощью wsdl-сервиса

292
09 июня 2017, 08:35

Использую сервис 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 сервисом классе есть ошибки?

READ ALSO
Взаимоисключающие checkbox

Взаимоисключающие checkbox

Есть 2 checkboxКогда выделен один второй должен быть неактивен (IsEnabled = false) и наоборот

440
Visible = true не отрабатывает

Visible = true не отрабатывает

Есть форма, из которой вызываю другую форму:

273
Привязка к ComboBoxItem

Привязка к ComboBoxItem

Есть несколько гридовВсе они скрыты до тех пор пока в ComboBoxне выбрано ComboBoxItem

295
Ошибка при запуске Excel: &#171;Не удалось получить фабрику класса COM&#187;

Ошибка при запуске Excel: «Не удалось получить фабрику класса COM»

Я создал две кнопки которые должны открывать Word и ExcelWord открывает, а вот Excel не открывает

258