Имя: Пароль:
1C
1С v8
ФабрикаXDTO, не получается создать объект
0 Vugluskr
 
19.11.16
15:19
Коллеги, не получается получить тип из фабрикиXDTO:

СхемаXML = Новый СхемаXML;
    СхемаXML.РасположениеСхемы = "c:\tmp\OrderRequest.xsd";
    СхемыXML = Новый НаборСхемXML;
    СхемыXML.Добавить(СхемаXML);
    НашаФабрикаXDTO = Новый ФабрикаXDTO(СхемыXML);

    RequestType =  НашаФабрикаXDTO.Тип("http://www.w3.org/2001/XMLSchema","Request";);

RequestType - пустое значение.
Что я делаю не так ?

Вот кусок с началом схемы из файла OrderRequest.xsd:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"; elementFormDefault="qualified">
  <xs:element name="Request" nillable="true" type="Request" />
  <xs:complexType name="Request" abstract="true">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="Id" type="xs:string" />
    </xs:sequence>
  </xs:complexType>
1 Mauser
 
19.11.16
20:08
Не надо изобретать велосипед для создания фабрики из файла. Надо прочитать в СП о методе глобального контекста СоздатьФабрикуXDTO
2 Vugluskr
 
19.11.16
20:28
Сделал ровно как в примере:
    Схемы = Новый Массив;
    Схемы.Добавить("c:\tmp\OrderRequest.xsd");

    Пакеты = Новый Массив;
    Пакеты.Добавить(ФабрикаXDTO.Пакеты.Получить("http://www.w3.org/2001/XMLSchema";));

МояФабрика = СоздатьФабрикуXDTO(Схемы, Пакеты);


RequestType =  МояФабрика.Тип("http://www.w3.org/2001/XMLSchema","Request";);

Все одно RequestType - неопределено. Почему ? Что-то  в схеме не так ?
3 Mauser
 
19.11.16
20:44
<xs:schema targetNamespace="Пыщь" xmlns:xs="http://www.w3.org/2001/XMLSchema"; elementFormDefault="qualified">

  <xs:element name="Request" nillable="true" type="Request" />
  <xs:complexType name="Request" abstract="true">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="1" name="Id" type="xs:string" />
    </xs:sequence>
  </xs:complexType>

</xs:schema>


Фабрика = СоздатьФабрикуXDTO("D:\1.xsd");
Тип = Фабрика.Тип("Пыщь", "Request");
4 Vugluskr
 
20.11.16
14:06
Точно, спасибо. А что они Namespace не указывают нигде, ни в схеме, ни в xml ответе от вебсервиса. Ну как так то ? (с)