powered by simpleCommunicator - 2.0.19     © 2024 Programmizd 02
Map
Форумы / Delphi [игнор отключен] [закрыт для гостей] / подмена xmlns, баг при импорте WSDL?
21 сообщений из 21, страница 1 из 1
подмена xmlns, баг при импорте WSDL?
    #40092997
genok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
всем добра! импортирую wsdl отсюда: http://r27-rc.zdrav.netrika.ru/EMK5/PixService.svc?wsdl

получается юнит с описанием сервиса, приделал во вложении ибо размер больше 100 кб


в нем есть строки

RemClassRegistry.RegisterXSClass(StepAmb2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Step', 'StepAmb2', 'StepAmb');
RemClassRegistry.RegisterExternalPropName(TypeInfo(StepAmb2), 'MedRecords', '[ArrayItemName="MedRecord"]');
RemClassRegistry.RegisterXSClass(StepAmb, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Step', 'StepAmb');
RemClassRegistry.RegisterExternalPropName(TypeInfo(CaseAmb2), 'Steps', '[ArrayItemName="StepAmb"]');


создаю объект, отправляю данные
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
.....
  caseDto:=CaseAmb2.Create;
  caseDto.Comment:='тестовая запись случая';

  StepArr:=ArrayOfStepAmb.Create(nil);
  Step:=StepAmb2.Create;
  Step.Comment:='тестовая запись эпизода';
  SetLength(StepArr,1);
  StepArr[0]:=Step;
  caseDto.Steps:=StepArr;
  EMK.AddCase(GuID, caseDto); // EMK это IEmkService 
........



перехватываю данные, и вот что отправляется:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body xmlns:NS1="http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Case">
<AddCase xmlns="http://tempuri.org/"><guid>c863f571-16bd-4b87-a29a-edbbc7d0a4e0</guid>
<caseDto xsi:type="NS1:CaseAmb">
<Comment xmlns="http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Case">тестовая запись случая</Comment>
<Steps xmlns="http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Case">
<StepAmb xmlns="" xsi:nil="true"/><StepAmb>
<Comment xmlns="http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Step">тестовая запись эпизода</Comment>
</StepAmb>
</Steps>
</caseDto>
</AddCase>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

ну и естественно принимающий сервис сходит с ума от такой подмены и выдает ошибку.
отчего так выходит и что где можно подкрутить?
вручную делать XML это полный ахтунг, на данный момент сделана огромная работа именно с wsdl, и вот такой затык возник на пол-пути

среда XE2 c update4. С галками импорта wsdl игрался, но без толку, все равно левое пространство имен пишет
...
Рейтинг: 0 / 0
подмена xmlns, баг при импорте WSDL?
    #40092998
genok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ошибся, вот отсюда импортирую: http://r27-rc.zdrav.netrika.ru/EMK5/EMKService.svc?singleWsdl
...
Рейтинг: 0 / 0
подмена xmlns, баг при импорте WSDL?
    #40093045
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
THTTPRIO.onAfterExecute + StringReplace
Ы?
...
Рейтинг: 0 / 0
подмена xmlns, баг при импорте WSDL?
    #40093054
asutp2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
genok
среда XE2 c update4
А что не делфи7?)
...
Рейтинг: 0 / 0
подмена xmlns, баг при импорте WSDL?
    #40093058
Bsplesk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
genok,

Попробуйте подключиться SOAPUI там есть возможность сохранить единую wsdl. Далее попробуйте подсунуть её.
...
Рейтинг: 0 / 0
подмена xmlns, баг при импорте WSDL?
    #40093087
genok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bsplesk,

Soapiu использую, исправление xmlns на правильный приводит к нужному результату
Осталось разобраться, почему Delphi так коверкает пространство имён
...
Рейтинг: 0 / 0
подмена xmlns, баг при импорте WSDL?
    #40093088
genok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat
THTTPRIO.onAfterExecute + StringReplace
Ы?


Ну это замечательный пример костылей. Я тогда уж лучше руками буду XML делать
...
Рейтинг: 0 / 0
подмена xmlns, баг при импорте WSDL?
    #40093091
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
genok
Ну это замечательный пример костылей. Я тогда уж лучше руками буду XML делать
+
genok
вручную делать XML это полный ахтунг, на данный момент сделана огромная работа именно с wsdl, и вот такой затык возник на пол-пути
Взаимоисключающие параграфы.
...
Рейтинг: 0 / 0
подмена xmlns, баг при импорте WSDL?
    #40093122
genok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat
genok
Ну это замечательный пример костылей. Я тогда уж лучше руками буду XML делать
+
genok
вручную делать XML это полный ахтунг, на данный момент сделана огромная работа именно с wsdl, и вот такой затык возник на пол-пути
Взаимоисключающие параграфы.


В чем они исключают друг друга?
Делать xml вручную это лучше чем костыли. Но хуже чем отладить почти готовое решение на wsdl, учитывая что всю работу придется делать заново.

По теме-то есть мысли? Каким образом происходит подмена?
...
Рейтинг: 0 / 0
подмена xmlns, баг при импорте WSDL?
    #40093124
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
genok
RemClassRegistry.RegisterXSClass(StepAmb2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Step', 'StepAmb2', 'StepAmb');
RemClassRegistry.RegisterExternalPropName(TypeInfo(StepAmb2), 'MedRecords', '[ArrayItemName="MedRecord"]');
RemClassRegistry.RegisterXSClass(StepAmb, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Step', 'StepAmb');
RemClassRegistry.RegisterExternalPropName(TypeInfo(CaseAmb2), 'Steps', '[ArrayItemName="StepAmb"]');
А теперь покажите регистрацию тех полей, которые вставляются с ошибкой
...
Рейтинг: 0 / 0
подмена xmlns, баг при импорте WSDL?
    #40093209
genok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_
genok
пропущено...
А теперь покажите регистрацию тех полей, которые вставляются с ошибкой


если вы о
RemClassRegistry.RegisterXSClass(Steps, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Step', ...............
то такого нет вообще, автоматом оно не вставляется

ну или напишите чуть подробнее, куда смотреть
...
Рейтинг: 0 / 0
подмена xmlns, баг при импорте WSDL?
    #40093211
genok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вообще с ошибкой вставляется поле Steps
все что есть о регистрации этого поля я указал выше

Код: pascal
1.
2.
3.
4.
RemClassRegistry.RegisterXSClass(StepAmb2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Step', 'StepAmb2', 'StepAmb');
RemClassRegistry.RegisterExternalPropName(TypeInfo(StepAmb2), 'MedRecords', '[ArrayItemName="MedRecord"]');
RemClassRegistry.RegisterXSClass(StepAmb, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Step', 'StepAmb');
RemClassRegistry.RegisterExternalPropName(TypeInfo(CaseAmb2), 'Steps', '[ArrayItemName="StepAmb"]');



регистрируется ExternalPropName Steps с для типа CaseAmb2
объявления пространства имен отдельно для Steps нет вообще, я так понимаю оно от StepAmb должно браться
но берется от CaseAmb2

ниже все регистрации

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
282.
283.
284.
285.
286.
287.
288.
289.
290.
291.
292.
293.
294.
295.
296.
297.
298.
299.
300.
301.
302.
303.
304.
305.
306.
307.
initialization
  { IEmkService }
  InvRegistry.RegisterInterface(TypeInfo(IEmkService), 'http://tempuri.org/', 'utf-8');
  InvRegistry.RegisterAllSOAPActions(TypeInfo(IEmkService), '|http://tempuri.org/IServiceSupport/GetVersion'
                                                           +'|http://tempuri.org/IEmkService/AddCase'
                                                           +'|http://tempuri.org/IEmkService/CreateCase'
                                                           +'|http://tempuri.org/IEmkService/CloseCase'
                                                           +'|http://tempuri.org/IEmkService/UpdateCase'
                                                           +'|http://tempuri.org/IEmkService/AddMedRecord'
                                                           +'|http://tempuri.org/IEmkService/AddStepToCase'
                                                           +'|http://tempuri.org/IEmkService/CancelCase'
                                                           );
  InvRegistry.RegisterInvokeOptions(TypeInfo(IEmkService), ioDocument);
  InvRegistry.RegisterInvokeOptions(TypeInfo(IEmkService), ioSOAP12);
  { IEmkService.GetVersion }
  InvRegistry.RegisterMethodInfo(TypeInfo(IEmkService), 'GetVersion', '',
                                 '[ReturnName="GetVersionResult"]', IS_OPTN or IS_NLBL);
  InvRegistry.RegisterParamInfo(TypeInfo(IEmkService), 'GetVersion', 'GetVersionResult', '',
                                '[Namespace="http://schemas.datacontract.org/2004/07/N3.Shared.Core"]', IS_NLBL);
  { IEmkService.AddCase }
  InvRegistry.RegisterParamInfo(TypeInfo(IEmkService), 'AddCase', 'guid', '',
                                '', IS_NLBL);
  InvRegistry.RegisterParamInfo(TypeInfo(IEmkService), 'AddCase', 'caseDto', '',
                                '[Namespace="http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Case"]', IS_NLBL);
  { IEmkService.CreateCase }
  InvRegistry.RegisterParamInfo(TypeInfo(IEmkService), 'CreateCase', 'guid', '',
                                '', IS_NLBL);
  InvRegistry.RegisterParamInfo(TypeInfo(IEmkService), 'CreateCase', 'createCaseDto', '',
                                '[Namespace="http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Case"]', IS_NLBL);
  { IEmkService.CloseCase }
  InvRegistry.RegisterParamInfo(TypeInfo(IEmkService), 'CloseCase', 'guid', '',
                                '', IS_NLBL);
  InvRegistry.RegisterParamInfo(TypeInfo(IEmkService), 'CloseCase', 'caseDto', '',
                                '[Namespace="http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Case"]', IS_NLBL);
  { IEmkService.UpdateCase }
  InvRegistry.RegisterParamInfo(TypeInfo(IEmkService), 'UpdateCase', 'guid', '',
                                '', IS_NLBL);
  InvRegistry.RegisterParamInfo(TypeInfo(IEmkService), 'UpdateCase', 'caseDto', '',
                                '[Namespace="http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Case"]', IS_NLBL);
  { IEmkService.AddMedRecord }
  InvRegistry.RegisterParamInfo(TypeInfo(IEmkService), 'AddMedRecord', 'guid', '',
                                '', IS_NLBL);
  InvRegistry.RegisterParamInfo(TypeInfo(IEmkService), 'AddMedRecord', 'idLpu', '',
                                '', IS_NLBL);
  InvRegistry.RegisterParamInfo(TypeInfo(IEmkService), 'AddMedRecord', 'idPatientMis', '',
                                '', IS_NLBL);
  InvRegistry.RegisterParamInfo(TypeInfo(IEmkService), 'AddMedRecord', 'idCaseMis', '',
                                '', IS_NLBL);
  InvRegistry.RegisterParamInfo(TypeInfo(IEmkService), 'AddMedRecord', 'medRecord', '',
                                '[Namespace="http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec"]', IS_NLBL);
  { IEmkService.AddStepToCase }
  InvRegistry.RegisterParamInfo(TypeInfo(IEmkService), 'AddStepToCase', 'guid', '',
                                '', IS_NLBL);
  InvRegistry.RegisterParamInfo(TypeInfo(IEmkService), 'AddStepToCase', 'idLpu', '',
                                '', IS_NLBL);
  InvRegistry.RegisterParamInfo(TypeInfo(IEmkService), 'AddStepToCase', 'idPatientMis', '',
                                '', IS_NLBL);
  InvRegistry.RegisterParamInfo(TypeInfo(IEmkService), 'AddStepToCase', 'idCaseMis', '',
                                '', IS_NLBL);
  InvRegistry.RegisterParamInfo(TypeInfo(IEmkService), 'AddStepToCase', 'step', '',
                                '[Namespace="http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Step"]', IS_NLBL);
  { IEmkService.CancelCase }
  InvRegistry.RegisterParamInfo(TypeInfo(IEmkService), 'CancelCase', 'guid', '',
                                '', IS_NLBL);
  InvRegistry.RegisterParamInfo(TypeInfo(IEmkService), 'CancelCase', 'idLpu', '',
                                '', IS_NLBL);
  InvRegistry.RegisterParamInfo(TypeInfo(IEmkService), 'CancelCase', 'idPatientMis', '',
                                '', IS_NLBL);
  InvRegistry.RegisterParamInfo(TypeInfo(IEmkService), 'CancelCase', 'idCaseMis', '',
                                '', IS_NLBL);
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfReferenceRange), 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'ArrayOfReferenceRange');
  RemClassRegistry.RegisterXSClass(ValueQuantity2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'ValueQuantity2', 'ValueQuantity');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfAssisNote), 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'ArrayOfAssisNote');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfRecommendation), 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'ArrayOfRecommendation');
  RemClassRegistry.RegisterXSClass(HealthGroup2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'HealthGroup2', 'HealthGroup');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfDiagnosis), 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.Diag', 'ArrayOfDiagnosis');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfRequestFault2), 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Common', 'ArrayOfRequestFault2', 'ArrayOfRequestFault');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfRequestFault), 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Common', 'ArrayOfRequestFault');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfRequestWarning2), 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Common', 'ArrayOfRequestWarning2', 'ArrayOfRequestWarning');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfRequestWarning), 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Common', 'ArrayOfRequestWarning');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfObservation), 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'ArrayOfObservation');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfMedDocumentDto_DocumentAttachment), 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'ArrayOfMedDocumentDto_DocumentAttachment', 'ArrayOfMedDocumentDto.DocumentAttachment');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfMedDocumentDto_PersonalSign), 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'ArrayOfMedDocumentDto_PersonalSign', 'ArrayOfMedDocumentDto.PersonalSign');
  RemClassRegistry.RegisterXSClass(HealthGroup, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'HealthGroup');
  RemClassRegistry.RegisterXSClass(VersionInfo2, 'http://schemas.datacontract.org/2004/07/N3.Shared.Core', 'VersionInfo2', 'VersionInfo');
  RemClassRegistry.RegisterXSClass(VersionInfo, 'http://schemas.datacontract.org/2004/07/N3.Shared.Core', 'VersionInfo');
  RemClassRegistry.RegisterXSClass(StringValue2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'StringValue2', 'StringValue');
  RemClassRegistry.RegisterXSClass(HumanName2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto', 'HumanName2', 'HumanName');
  RemClassRegistry.RegisterXSClass(PacsResult_ImageData2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'PacsResult_ImageData2', 'PacsResult.ImageData');
  RemClassRegistry.RegisterXSClass(PacsResult_ImageData, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'PacsResult_ImageData', 'PacsResult.ImageData');
  RemClassRegistry.RegisterXSClass(MedicalStaff2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto', 'MedicalStaff2', 'MedicalStaff');
  RemClassRegistry.RegisterXSClass(RequestFault, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Common', 'RequestFault');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(RequestFault), 'Message_', '[ExtName="Message"]');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(RequestFault), 'Errors', '[ArrayItemName="RequestFault"]');
  RemClassRegistry.RegisterXSClass(RequestFault2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Common', 'RequestFault2', 'RequestFault');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(RequestFault2), 'Message_', '[ExtName="Message"]');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(RequestFault2), 'Errors', '[ArrayItemName="RequestFault"]');
  RemClassRegistry.RegisterXSClass(RequestWarning2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Common', 'RequestWarning2', 'RequestWarning');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(RequestWarning2), 'Message_', '[ExtName="Message"]');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(RequestWarning2), 'Warnings', '[ArrayItemName="RequestWarning"]');
  RemClassRegistry.RegisterXSClass(RequestWarning, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Common', 'RequestWarning');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(RequestWarning), 'Message_', '[ExtName="Message"]');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(RequestWarning), 'Warnings', '[ArrayItemName="RequestWarning"]');
  RemClassRegistry.RegisterXSClass(ReferenceRange2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'ReferenceRange2', 'ReferenceRange');
  RemClassRegistry.RegisterXSClass(NumericalValue2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'NumericalValue2', 'NumericalValue');
  RemClassRegistry.RegisterXSClass(CodeableValue2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'CodeableValue2', 'CodeableValue');
  RemClassRegistry.RegisterXSClass(StringValue, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'StringValue');
  RemClassRegistry.RegisterXSClass(NumericalValue, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'NumericalValue');
  RemClassRegistry.RegisterXSClass(ReferenceRange, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'ReferenceRange');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfIdentityDocument), 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto', 'ArrayOfIdentityDocument');
  RemClassRegistry.RegisterXSClass(CodeableValue, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'CodeableValue');
  RemClassRegistry.RegisterXSClass(ValueQuantity, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'ValueQuantity');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfStepStat), 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Step', 'ArrayOfStepStat');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfStepAmb), 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Step', 'ArrayOfStepAmb');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfPrivilege), 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'ArrayOfPrivilege');
  RemClassRegistry.RegisterXSClass(SocialGroup2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'SocialGroup2', 'SocialGroup');
  RemClassRegistry.RegisterXSClass(SocialGroup, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'SocialGroup');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfint), 'http://schemas.microsoft.com/2003/10/Serialization/Arrays', 'ArrayOfint');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfunsignedByte), 'http://schemas.microsoft.com/2003/10/Serialization/Arrays', 'ArrayOfunsignedByte');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfParam), 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'ArrayOfParam');
  RemClassRegistry.RegisterXSClass(Param2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'Param2', 'Param');
  RemClassRegistry.RegisterXSClass(Param, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'Param');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfMedRecord), 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'ArrayOfMedRecord');
  RemClassRegistry.RegisterXSClass(MedRecord2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'MedRecord2', 'MedRecord');
  RemClassRegistry.RegisterXSClass(MedRecord, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'MedRecord');
  RemClassRegistry.RegisterXSClass(Diagnosis2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.Diag', 'Diagnosis2', 'Diagnosis');
  RemClassRegistry.RegisterXSClass(Diagnosis, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.Diag', 'Diagnosis');
  RemClassRegistry.RegisterXSClass(ClinicMainDiagnosis2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.Diag', 'ClinicMainDiagnosis2', 'ClinicMainDiagnosis');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(ClinicMainDiagnosis2), 'Complications', '[ArrayItemName="Diagnosis"]');
  RemClassRegistry.RegisterXSClass(ClinicMainDiagnosis, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.Diag', 'ClinicMainDiagnosis');
  RemClassRegistry.RegisterXSClass(AnatomopathologicalClinicMainDiagnosis2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.Diag', 'AnatomopathologicalClinicMainDiagnosis2', 'AnatomopathologicalClinicMainDiagnosis');
  RemClassRegistry.RegisterXSClass(AnatomopathologicalClinicMainDiagnosis, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.Diag', 'AnatomopathologicalClinicMainDiagnosis');
  RemClassRegistry.RegisterXSClass(DeathInfo2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'DeathInfo2', 'DeathInfo');
  RemClassRegistry.RegisterXSClass(DeathInfo, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'DeathInfo');
  RemClassRegistry.RegisterXSClass(Guardian2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto', 'Guardian2', 'Guardian');
  RemClassRegistry.RegisterXSClass(Guardian, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto', 'Guardian');
  RemClassRegistry.RegisterXSClass(Quantity2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto', 'Quantity2', 'Quantity');
  RemClassRegistry.RegisterXSClass(Quantity, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto', 'Quantity');
  RemClassRegistry.RegisterXSClass(Disability2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'Disability2', 'Disability');
  RemClassRegistry.RegisterXSClass(Disability, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'Disability');
  RemClassRegistry.RegisterXSClass(Privilege2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'Privilege2', 'Privilege');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(Privilege2), 'End_', '[ExtName="End"]');
  RemClassRegistry.RegisterXSClass(Privilege, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'Privilege');
  RemClassRegistry.RegisterXSClass(StepBase2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Step', 'StepBase2', 'StepBase');
  RemClassRegistry.RegisterXSClass(StepStat2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Step', 'StepStat2', 'StepStat');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(StepStat2), 'MedRecords', '[ArrayItemName="MedRecord"]');
  RemClassRegistry.RegisterXSClass(StepStat, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Step', 'StepStat');
  RemClassRegistry.RegisterXSClass(StepAmb2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Step', 'StepAmb2', 'StepAmb');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(StepAmb2), 'MedRecords', '[ArrayItemName="MedRecord"]');
  RemClassRegistry.RegisterXSClass(StepAmb, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Step', 'StepAmb');
  RemClassRegistry.RegisterXSClass(StepBase, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Step', 'StepBase');
  RemClassRegistry.RegisterXSClass(CaseBase2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Case', 'CaseBase2', 'CaseBase');
  RemClassRegistry.RegisterXSClass(CaseBase, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Case', 'CaseBase');
  RemClassRegistry.RegisterXSClass(CaseAcps2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Case', 'CaseAcps2', 'CaseAcps');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(CaseAcps2), 'MedRecords', '[ArrayItemName="MedRecord"]');
  RemClassRegistry.RegisterXSClass(CaseAcps, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Case', 'CaseAcps');
  RemClassRegistry.RegisterXSClass(CaseTmc2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Case', 'CaseTmc2', 'CaseTmc');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(CaseTmc2), 'MedRecords', '[ArrayItemName="MedRecord"]');
  RemClassRegistry.RegisterXSClass(CaseTmc, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Case', 'CaseTmc');
  RemClassRegistry.RegisterXSClass(Person2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto', 'Person2', 'Person');
  RemClassRegistry.RegisterXSClass(PersonWithIdentity2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto', 'PersonWithIdentity2', 'PersonWithIdentity');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(PersonWithIdentity2), 'Documents', '[ArrayItemName="IdentityDocument"]');
  RemClassRegistry.RegisterXSClass(ReferralInfo2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'ReferralInfo2', 'ReferralInfo');
  RemClassRegistry.RegisterXSClass(ReferralInfo, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'ReferralInfo');
  RemClassRegistry.RegisterXSClass(MedDocument2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'MedDocument2', 'MedDocument');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(MedDocument2), 'Attachments', '[ArrayItemName="MedDocumentDto.DocumentAttachment"]');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(MedDocument2), 'Observations', '[ArrayItemName="Observation"]');
  RemClassRegistry.RegisterXSClass(Form106U2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'Form106U2', 'Form106U');
  RemClassRegistry.RegisterXSClass(Form106U, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'Form106U');
  RemClassRegistry.RegisterXSClass(PacsResult2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'PacsResult2', 'PacsResult');
  RemClassRegistry.RegisterXSClass(PacsResult, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'PacsResult');
  RemClassRegistry.RegisterXSClass(Form027U2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'Form027U2', 'Form027U');
  RemClassRegistry.RegisterXSClass(Form027U, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'Form027U');
  RemClassRegistry.RegisterXSClass(Form106_2U2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'Form106_2U2', 'Form106_2U');
  RemClassRegistry.RegisterXSClass(Form106_2U, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'Form106_2U');
  RemClassRegistry.RegisterXSClass(Form103U2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'Form103U2', 'Form103U');
  RemClassRegistry.RegisterXSClass(Form103U, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'Form103U');
  RemClassRegistry.RegisterXSClass(DriveCertificate2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'DriveCertificate2', 'DriveCertificate');
  RemClassRegistry.RegisterXSClass(DriveCertificate, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'DriveCertificate');
  RemClassRegistry.RegisterXSClass(MedDocument, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'MedDocument');
  RemClassRegistry.RegisterXSClass(DeathCertificate2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'DeathCertificate2', 'DeathCertificate');
  RemClassRegistry.RegisterXSClass(DeathCertificate, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'DeathCertificate');
  RemClassRegistry.RegisterXSClass(ReferralMSE2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'ReferralMSE2', 'ReferralMSE');
  RemClassRegistry.RegisterXSClass(ReferralMSE, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'ReferralMSE');
  RemClassRegistry.RegisterXSClass(BirthCertificate2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'BirthCertificate2', 'BirthCertificate');
  RemClassRegistry.RegisterXSClass(BirthCertificate, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'BirthCertificate');
  RemClassRegistry.RegisterXSClass(Referral2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'Referral2', 'Referral');
  RemClassRegistry.RegisterXSClass(Referral, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'Referral');
  RemClassRegistry.RegisterXSClass(LaboratoryReport2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'LaboratoryReport2', 'LaboratoryReport');
  RemClassRegistry.RegisterXSClass(LaboratoryReport, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'LaboratoryReport');
  RemClassRegistry.RegisterXSClass(DischargeSummary2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'DischargeSummary2', 'DischargeSummary');
  RemClassRegistry.RegisterXSClass(DischargeSummary, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'DischargeSummary');
  RemClassRegistry.RegisterXSClass(ConsultNote2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'ConsultNote2', 'ConsultNote');
  RemClassRegistry.RegisterXSClass(ConsultNote, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'ConsultNote');
  RemClassRegistry.RegisterXSClass(SickList2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'SickList2', 'SickList');
  RemClassRegistry.RegisterXSClass(SickList, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'SickList');
  RemClassRegistry.RegisterXSClass(DiagnosisInfo2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.Diag', 'DiagnosisInfo2', 'DiagnosisInfo');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(DiagnosisInfo2), 'Params', '[ArrayItemName="Param"]');
  RemClassRegistry.RegisterXSClass(DiagnosisInfo, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.Diag', 'DiagnosisInfo');
  RemClassRegistry.RegisterXSClass(Observation2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'Observation2', 'Observation');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(Observation2), 'ReferenceRanges', '[ArrayItemName="ReferenceRange"]');
  RemClassRegistry.RegisterXSClass(Observation, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'Observation');
  RemClassRegistry.RegisterXSClass(HealthGroupInfo2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'HealthGroupInfo2', 'HealthGroupInfo');
  RemClassRegistry.RegisterXSClass(HealthGroupInfo, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'HealthGroupInfo');
  RemClassRegistry.RegisterXSClass(Recommendation2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'Recommendation2', 'Recommendation');
  RemClassRegistry.RegisterXSClass(Recommendation, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'Recommendation');
  RemClassRegistry.RegisterXSClass(AssisNote2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'AssisNote2', 'AssisNote');
  RemClassRegistry.RegisterXSClass(AssisNote, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'AssisNote');
  RemClassRegistry.RegisterXSClass(AmbulanceInfo2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'AmbulanceInfo2', 'AmbulanceInfo');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(AmbulanceInfo2), 'AssisList', '[ArrayItemName="AssisNote"]');
  RemClassRegistry.RegisterXSClass(AmbulanceInfo, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'AmbulanceInfo');
  RemClassRegistry.RegisterXSClass(IdentityDocument2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto', 'IdentityDocument2', 'IdentityDocument');
  RemClassRegistry.RegisterXSClass(Participant2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto', 'Participant2', 'Participant');
  RemClassRegistry.RegisterXSClass(Participant, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto', 'Participant');
  RemClassRegistry.RegisterXSClass(Person, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto', 'Person');
  RemClassRegistry.RegisterXSClass(HumanName, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto', 'HumanName');
  RemClassRegistry.RegisterXSClass(IdentityDocument, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto', 'IdentityDocument');
  RemClassRegistry.RegisterXSClass(Initiator2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto', 'Initiator2', 'Initiator');
  RemClassRegistry.RegisterXSClass(Initiator, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto', 'Initiator');
  RemClassRegistry.RegisterXSClass(MedicalStaff, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto', 'MedicalStaff');
  RemClassRegistry.RegisterXSClass(PersonWithIdentity, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto', 'PersonWithIdentity');
  RemClassRegistry.RegisterXSInfo(TypeInfo(ArrayOfResInstr_Activity), 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'ArrayOfResInstr_Activity', 'ArrayOfResInstr.Activity');
  RemClassRegistry.RegisterXSClass(ResInstr2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'ResInstr2', 'ResInstr');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(ResInstr2), 'Type_', '[ExtName="Type"]');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(ResInstr2), 'Activities', '[ArrayItemName="ResInstr.Activity"]');
  RemClassRegistry.RegisterXSClass(ResInstr, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'ResInstr');
  RemClassRegistry.RegisterXSClass(ImmunizationType2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'ImmunizationType2', 'ImmunizationType');
  RemClassRegistry.RegisterXSClass(VaccinationType2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'VaccinationType2', 'VaccinationType');
  RemClassRegistry.RegisterXSClass(VaccinationType, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'VaccinationType');
  RemClassRegistry.RegisterXSClass(ImmunizationType, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'ImmunizationType');
  RemClassRegistry.RegisterXSClass(ReactionType2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'ReactionType2', 'ReactionType');
  RemClassRegistry.RegisterXSClass(ReactionType, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'ReactionType');
  RemClassRegistry.RegisterXSClass(AllergyBase2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'AllergyBase2', 'AllergyBase');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(AllergyBase2), 'Type_', '[ExtName="Type"]');
  RemClassRegistry.RegisterXSClass(AllergyBase, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'AllergyBase');
  RemClassRegistry.RegisterXSClass(AllergyNonDrug2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'AllergyNonDrug2', 'AllergyNonDrug');
  RemClassRegistry.RegisterXSClass(AllergyNonDrug, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'AllergyNonDrug');
  RemClassRegistry.RegisterXSClass(SocialAnamnesis2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'SocialAnamnesis2', 'SocialAnamnesis');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(SocialAnamnesis2), 'Privileges', '[ArrayItemName="Privilege"]');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(SocialAnamnesis2), 'SocialRiskFactors', '[ArrayItemName="int"]');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(SocialAnamnesis2), 'OccupationalHazards', '[ArrayItemName="int"]');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(SocialAnamnesis2), 'BadHabits', '[ArrayItemName="int"]');
  RemClassRegistry.RegisterXSClass(SocialAnamnesis, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'SocialAnamnesis');
  RemClassRegistry.RegisterXSClass(ResInstr_Activity2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'ResInstr_Activity2', 'ResInstr.Activity');
  RemClassRegistry.RegisterXSClass(ResInstr_Activity, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'ResInstr_Activity', 'ResInstr.Activity');
  RemClassRegistry.RegisterXSClass(Scores2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'Scores2', 'Scores');
  RemClassRegistry.RegisterXSClass(Scores, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'Scores');
  RemClassRegistry.RegisterXSClass(AllergyDrug2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'AllergyDrug2', 'AllergyDrug');
  RemClassRegistry.RegisterXSClass(AllergyDrug, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'AllergyDrug');
  RemClassRegistry.RegisterXSClass(MedDocumentDto_PersonalSign2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'MedDocumentDto_PersonalSign2', 'MedDocumentDto.PersonalSign');
  RemClassRegistry.RegisterXSClass(MedDocumentDto_PersonalSign, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'MedDocumentDto_PersonalSign', 'MedDocumentDto.PersonalSign');
  RemClassRegistry.RegisterXSClass(MedDocumentDto_DocumentAttachment2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'MedDocumentDto_DocumentAttachment2', 'MedDocumentDto.DocumentAttachment');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(MedDocumentDto_DocumentAttachment2), 'PersonalSigns', '[ArrayItemName="MedDocumentDto.PersonalSign"]');
  RemClassRegistry.RegisterXSClass(MedDocumentDto_DocumentAttachment, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'MedDocumentDto_DocumentAttachment', 'MedDocumentDto.DocumentAttachment');
  RemClassRegistry.RegisterXSClass(Service2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'Service2', 'Service');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(Service2), 'Params', '[ArrayItemName="Param"]');
  RemClassRegistry.RegisterXSClass(Service, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'Service');
  RemClassRegistry.RegisterXSClass(Problem2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'Problem2', 'Problem');
  RemClassRegistry.RegisterXSClass(Problem, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'Problem');
  RemClassRegistry.RegisterXSClass(CaseStat2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Case', 'CaseStat2', 'CaseStat');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(CaseStat2), 'Steps', '[ArrayItemName="StepStat"]');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(CaseStat2), 'MedRecords', '[ArrayItemName="MedRecord"]');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(CaseStat2), 'PrehospitalDefects', '[ArrayItemName="unsignedByte"]');
  RemClassRegistry.RegisterXSClass(CaseStat, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Case', 'CaseStat');
  RemClassRegistry.RegisterXSClass(CaseAmb2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Case', 'CaseAmb2', 'CaseAmb');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(CaseAmb2), 'Steps', '[ArrayItemName="StepAmb"]');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(CaseAmb2), 'MedRecords', '[ArrayItemName="MedRecord"]');
  RemClassRegistry.RegisterXSClass(CaseAmb, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Case', 'CaseAmb');
  RemClassRegistry.RegisterXSClass(SickListInfo2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'SickListInfo2', 'SickListInfo');
  RemClassRegistry.RegisterXSClass(SickListInfo, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'SickListInfo');
  RemClassRegistry.RegisterXSClass(DispensaryBase2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'DispensaryBase2', 'DispensaryBase');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(DispensaryBase2), 'Recommendations', '[ArrayItemName="Recommendation"]');
  RemClassRegistry.RegisterXSClass(DispensaryBase, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'DispensaryBase');
  RemClassRegistry.RegisterXSClass(DispensaryOne2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'DispensaryOne2', 'DispensaryOne');
  RemClassRegistry.RegisterXSClass(DispensaryOne, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'DispensaryOne');
  RemClassRegistry.RegisterXSClass(DispensaryOnceByTwoYears2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'DispensaryOnceByTwoYears2', 'DispensaryOnceByTwoYears');
  RemClassRegistry.RegisterXSClass(DispensaryOnceByTwoYears, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'DispensaryOnceByTwoYears');
  RemClassRegistry.RegisterXSClass(DispensaryTwo2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'DispensaryTwo2', 'DispensaryTwo');
  RemClassRegistry.RegisterXSClass(DispensaryTwo, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec.MedDoc', 'DispensaryTwo');
  RemClassRegistry.RegisterXSClass(AppointedMedication2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'AppointedMedication2', 'AppointedMedication');
  RemClassRegistry.RegisterXSClass(AppointedMedication, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'AppointedMedication');
  RemClassRegistry.RegisterXSClass(TfomsInfo2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'TfomsInfo2', 'TfomsInfo');
  RemClassRegistry.RegisterXSClass(TfomsInfo, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'TfomsInfo');
  RemClassRegistry.RegisterXSClass(Immunize2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'Immunize2', 'Immunize');
  RemClassRegistry.RegisterXSClass(MedicalExemption2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'MedicalExemption2', 'MedicalExemption');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(MedicalExemption2), 'ExemptionInf', '[ArrayItemName="int"]');
  RemClassRegistry.RegisterXSClass(MedicalExemption, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'MedicalExemption');
  RemClassRegistry.RegisterXSClass(ImmunizationPlan2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'ImmunizationPlan2', 'ImmunizationPlan');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(ImmunizationPlan2), 'Inf', '[ArrayItemName="int"]');
  RemClassRegistry.RegisterXSClass(ImmunizationPlan, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'ImmunizationPlan');
  RemClassRegistry.RegisterXSClass(Immunize, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'Immunize');
  RemClassRegistry.RegisterXSClass(Vaccination2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'Vaccination2', 'Vaccination');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(Vaccination2), 'Inf', '[ArrayItemName="int"]');
  RemClassRegistry.RegisterXSClass(Vaccination, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'Vaccination');
  RemClassRegistry.RegisterXSClass(Reaction2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'Reaction2', 'Reaction');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(Reaction2), 'Inf', '[ArrayItemName="int"]');
  RemClassRegistry.RegisterXSClass(Reaction, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'Reaction');
  RemClassRegistry.RegisterXSClass(PaymentInfo2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'PaymentInfo2', 'PaymentInfo');
  RemClassRegistry.RegisterXSClass(PaymentInfo, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'PaymentInfo');
  RemClassRegistry.RegisterXSClass(NonDrugTreatment2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'NonDrugTreatment2', 'NonDrugTreatment');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(NonDrugTreatment2), 'Name_', '[ExtName="Name"]');
  RemClassRegistry.RegisterExternalPropName(TypeInfo(NonDrugTreatment2), 'End_', '[ExtName="End"]');
  RemClassRegistry.RegisterXSClass(NonDrugTreatment, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'NonDrugTreatment');
  RemClassRegistry.RegisterXSClass(Procedure_2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'Procedure_2', 'Procedure');
  RemClassRegistry.RegisterXSClass(Procedure_, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.MedRec', 'Procedure_', 'Procedure');

end.

...
Рейтинг: 0 / 0
подмена xmlns, баг при импорте WSDL?
    #40093216
genok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в качестве эксперимента нашел и испытал свежую Delphi XE 10.4.2, там точно такая же беда происходит
...
Рейтинг: 0 / 0
подмена xmlns, баг при импорте WSDL?
    #40093226
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
genok
RemClassRegistry.RegisterXSClass(Steps, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Step', ...............
то такого нет вообще, автоматом оно не вставляется
Вот в этом и проблема. Добавьте руками регистрацию и будет вам счастье
genok
в качестве эксперимента нашел и испытал свежую Delphi XE 10.4.2, там точно такая же беда происходит
Когда я один раз сталкивался с WSDL, то там были грабли с импортируемыми схемами, поэтому созданный pas файл нужно было допилить напильником
...
Рейтинг: 0 / 0
подмена xmlns, баг при импорте WSDL?
    #40093256
genok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_
Вот в этом и проблема. Добавьте руками регистрацию и будет вам счастье


изменил строку
Код: pascal
1.
  RemClassRegistry.RegisterExternalPropName(TypeInfo(CaseAmb2), 'Steps', '[ArrayItemName="StepAmb"]');



на
Код: pascal
1.
  RemClassRegistry.RegisterExternalPropName(TypeInfo(CaseAmb2), 'Steps', '[ArrayItemNS="http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Step" ArrayItemName="StepAmb"]');



но в XML один хрен подтягивается NS отсюда:
Код: pascal
1.
  RemClassRegistry.RegisterXSClass(CaseAmb2, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Case', 'CaseAmb2', 'CaseAmb');



счастье пока не наступило
...
Рейтинг: 0 / 0
подмена xmlns, баг при импорте WSDL?
    #40093261
genok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
смотрю WSDL исходный - там обозначен верный xmlns

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
<xs:element name="CaseBase" nillable="true" type="tns:CaseBase"/>
<xs:complexType name="CaseAmb">
<xs:complexContent mixed="false">
<xs:extension base="tns:CaseBase">
<xs:sequence>
<xs:element xmlns:q6="http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Step" minOccurs="0" name="Steps" nillable="true" type="q6:ArrayOfStepAmb"/>
</xs:sequence>
</xs:extension>
...
Рейтинг: 0 / 0
подмена xmlns, баг при импорте WSDL?
    #40093265
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
genok
изменил строку
Зачем?
genok
но в XML один хрен подтягивается NS отсюда:
Так добавьте
Код: pascal
1.
 RemClassRegistry.RegisterXSClass(Steps, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Step', 'Steps');

Ну посмотрите как сделано для других элементов и сделайте так же
...
Рейтинг: 0 / 0
подмена xmlns, баг при импорте WSDL?
    #40093282
genok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_
Так добавьте
Код: pascal
1.
 RemClassRegistry.RegisterXSClass(Steps, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Step', 'Steps');

Ну посмотрите как сделано для других элементов и сделайте так же


чтобы это взлетело приходится создавать класс Steps
Код: pascal
1.
2.
3.
4.
  Steps = class(StepAmb2)
  private
  published
  end;



но все равно не помогает
приложил тестовый практически пустой проект для демонстрации проблемы, посмотрите если возможно что еще можно сделать
...
Рейтинг: 0 / 0
подмена xmlns, баг при импорте WSDL?
    #40127169
Andreri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
genok,

Удалось побороть проблему?
...
Рейтинг: 0 / 0
подмена xmlns, баг при импорте WSDL?
    #40135854
genok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andreri
genok,

Удалось побороть проблему?


нет, руками сделал все как надо
...
Рейтинг: 0 / 0
подмена xmlns, баг при импорте WSDL?
    #40135915
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andreri
Удалось побороть проблему?
В Rio проблемы уже нет.
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / подмена xmlns, баг при импорте WSDL?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (0):
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]