Гость
Форумы / Delphi [игнор отключен] [закрыт для гостей] / подмена xmlns, баг при импорте WSDL? / 21 сообщений из 21, страница 1 из 1
25.08.2021, 06:33
    #40092997
genok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
подмена xmlns, баг при импорте WSDL?
всем добра! импортирую 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
25.08.2021, 06:36
    #40092998
genok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
подмена xmlns, баг при импорте WSDL?
ошибся, вот отсюда импортирую: http://r27-rc.zdrav.netrika.ru/EMK5/EMKService.svc?singleWsdl
...
Рейтинг: 0 / 0
25.08.2021, 11:48
    #40093045
rgreat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
подмена xmlns, баг при импорте WSDL?
THTTPRIO.onAfterExecute + StringReplace
Ы?
...
Рейтинг: 0 / 0
25.08.2021, 12:13
    #40093054
asutp2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
подмена xmlns, баг при импорте WSDL?
genok
среда XE2 c update4
А что не делфи7?)
...
Рейтинг: 0 / 0
25.08.2021, 12:22
    #40093058
Bsplesk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
подмена xmlns, баг при импорте WSDL?
genok,

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

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


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


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

По теме-то есть мысли? Каким образом происходит подмена?
...
Рейтинг: 0 / 0
25.08.2021, 15:17
    #40093124
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
подмена xmlns, баг при импорте WSDL?
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
26.08.2021, 02:54
    #40093209
genok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
подмена xmlns, баг при импорте WSDL?
_Vasilisk_
genok
пропущено...
А теперь покажите регистрацию тех полей, которые вставляются с ошибкой


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

ну или напишите чуть подробнее, куда смотреть
...
Рейтинг: 0 / 0
26.08.2021, 03:10
    #40093211
genok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
подмена xmlns, баг при импорте WSDL?
вообще с ошибкой вставляется поле 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
26.08.2021, 05:12
    #40093216
genok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
подмена xmlns, баг при импорте WSDL?
в качестве эксперимента нашел и испытал свежую Delphi XE 10.4.2, там точно такая же беда происходит
...
Рейтинг: 0 / 0
26.08.2021, 09:19
    #40093226
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
подмена xmlns, баг при импорте WSDL?
genok
RemClassRegistry.RegisterXSClass(Steps, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Step', ...............
то такого нет вообще, автоматом оно не вставляется
Вот в этом и проблема. Добавьте руками регистрацию и будет вам счастье
genok
в качестве эксперимента нашел и испытал свежую Delphi XE 10.4.2, там точно такая же беда происходит
Когда я один раз сталкивался с WSDL, то там были грабли с импортируемыми схемами, поэтому созданный pas файл нужно было допилить напильником
...
Рейтинг: 0 / 0
26.08.2021, 12:13
    #40093256
genok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
подмена xmlns, баг при импорте WSDL?
_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
26.08.2021, 12:41
    #40093261
genok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
подмена xmlns, баг при импорте WSDL?
смотрю 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
26.08.2021, 12:51
    #40093265
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
подмена xmlns, баг при импорте WSDL?
genok
изменил строку
Зачем?
genok
но в XML один хрен подтягивается NS отсюда:
Так добавьте
Код: pascal
1.
 RemClassRegistry.RegisterXSClass(Steps, 'http://schemas.datacontract.org/2004/07/N3.EMK.Dto.Step', 'Steps');

Ну посмотрите как сделано для других элементов и сделайте так же
...
Рейтинг: 0 / 0
26.08.2021, 13:49
    #40093282
genok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
подмена xmlns, баг при импорте WSDL?
_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
17.01.2022, 11:22
    #40127169
Andreri
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
подмена xmlns, баг при импорте WSDL?
genok,

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

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


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


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