i tried to import wsdl that contain "AdhocQuery" and wsdl importer fails with access violation error in "dclsoap230.bpl".now im trying to build class manually.

current code

AdhocQuery = class; { "urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0"[GblElm] }
ValueType = array of WideString;

ValueListType = class(TRemotable)
private
FValue: ValueType;
published
property Value: ValueType read FValue write FValue;
end;

SlotType = class(TRemotable)
private
fname: WideString;
FValueList: ValueListtype;
published
property name: WideString index (IS_ATTR)read fname write fname;
property ValueList: ValueListType read FValueList write FValueList;
end;Slots = array of SlotType;

AdhocQuery = class(TRemotable)
private
FID: WideString;
FSlot: Slots;
public
published
property id: WideString index (IS_ATTR or IS_OPTN)read FID write FID;
property Slot: Slots read FSlot write FSlot;//problem proint
end;

RemClassRegistry.RegisterXSClass(AdhocQuery, 'urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0', 'AdhocQuery');  //...so on

my current code output

<AdhocQueryRequest xmlns="urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0">
<ResponseOption returnType="LeafClass" returnComposedObjects="true"/>
<AdhocQuery id="urn:uuid:14d4debf-8f97-4251-9a74-xxxxxx">
<Slot xmlns="urn:MyHR.base">
<Slottype xmlns="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0" name="$XDSDocumentEntryPatientId">
<ValueList xmlns="urn:MyHR.base">
<Value>  <string>'somestr^^^&amp;somestr&amp;ISO'</string></Value>
</ValueList>
</Slottype></Slot></AdhocQuery></AdhocQueryRequest>

expected output

<AdhocQueryRequest xmlns="urn:oasis:names:tc:ebxml-regrep:xsd:query:3.0">
<ResponseOption returnType="LeafClass" returnComposedObjects="true" />
<AdhocQuery id="urn:uuid:14d4debf-8f97-4251-9a74-xxxxxx" xmlns="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0">
<Slot name="$XDSDocumentEntryPatientId"><ValueList><Value>'somestr^^^&amp;somestr&amp;ISO'</Value></ValueList></Slot>
<Slot name="$XDSDocumentEntryStatus"><ValueList><Value>('urn:oasis:names:tc:ebxml-regrep:StatusType:Approved')</Value></ValueList></Slot>
<Slot name="$XDSDocumentEntryClassCode"><ValueList><Value>('somestr')</Value></ValueList></Slot>
</AdhocQuery></AdhocQueryRequest>

WSDL File https://drive.google.com/open?id=1J2BFXdQyps7gNsRMzmzxRbqdKvxmXKgV

  1. how to get Slot (array) in to AdhocQuery ?
  2. how to get xmlns="urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0" as attribute of AdhocQuery ?

0 Answers