У меня проблема с XML-запросом, который я жевал некоторое время, и я не могу обойти его.У меня есть:
- Создан общий источник данных XML, указывающий на веб-службу ASMX.
- Попытка создать набор данных с использованием XML-запроса.
a) Если я возьму результаты веб-службы и выполню XML-запрос, используя <XMLData>
, я получу набор результатов обратно.Очевидно, что запрос не включает в себя Method или SoapAction, поскольку он напрямую обращается к <XMLData>.
. Я включаю следующее <ElementPath>outboundMessage/clinicLocationPanel/clinicLocation</ElementPath>.
b) Если я исключаю <XMLData>
и включаю SoapAction и Methodи использовать подстановочный знак <ElementPath IgnoreNamespaces="true">*</ElementPath>
, тогда я получаю набор результатов обратно.
c) Однако, если я попытаюсь выполнить "b)" с <ElementPath>outboundMessage/clinicLocationPanel/clinicLocation</ElementPath>
, то он не даст результатов (набор пустых строк).
Пример для "a)":
<Query xmlns="http://sample.org/pcp">
<XmlData>
<?xml version="1.0" encoding="UTF-8"?>
<outboundMessage xmlns="http://sample.org/pcp">
<messageType>ADT</messageType>
<triggerType>A28</triggerType>
<outboundGUID>48B30711-4FC4-4A9A-8B73-BCF78EA7E23A</outboundGUID>
<inmateProfile>
<patientType/>
<patientClass/>
<accountNumber>123456789</accountNumber>
</inmateProfile>
<providerPanel>
<provider>
<medicalProviderAlias>1115</medicalProviderAlias>
<medicalProviderID>CERN1948697</medicalProviderID>
<providerType>PCP</providerType>
</provider>
<provider>
<medicalProviderAlias>27201535</medicalProviderAlias>
<medicalProviderID>CERN3114945</medicalProviderID>
<providerType>RN</providerType>
</provider>
<provider>
<medicalProviderAlias>4004132</medicalProviderAlias>
<medicalProviderID>CERN1618580</medicalProviderID>
<providerType>DDS</providerType>
</provider>
</providerPanel>
<clinicLocationPanel>
<clinicLocation>
<medicalClinicAlias>31821049</medicalClinicAlias>
<medicalClinicID>31868323</medicalClinicID>
<clinicType>Nursing</clinicType>
</clinicLocation>
<clinicLocation>
<medicalClinicAlias>31823201</medicalClinicAlias>
<medicalClinicID>31870163</medicalClinicID>
<clinicType>Medical</clinicType>
</clinicLocation>
<clinicLocation>
<medicalClinicAlias>31821081</medicalClinicAlias>
<medicalClinicID>31822493</medicalClinicID>
<clinicType>Pharmacy</clinicType>
</clinicLocation>
<clinicLocation>
<medicalClinicAlias>31821089</medicalClinicAlias>
<medicalClinicID>31823145</medicalClinicID>
<clinicType>Radiology</clinicType>
</clinicLocation>
<clinicLocation>
<medicalClinicAlias>31821097</medicalClinicAlias>
<medicalClinicID>31823145</medicalClinicID>
<clinicType>MentalHealth</clinicType>
</clinicLocation>
<clinicLocation>
<medicalClinicAlias>32909551</medicalClinicAlias>
<medicalClinicID>31821579</medicalClinicID>
<clinicType>Therapies</clinicType>
</clinicLocation>
<clinicLocation>
<medicalClinicAlias>32909567</medicalClinicAlias>
<medicalClinicID>31823145</medicalClinicID>
<clinicType>Specialties</clinicType>
</clinicLocation>
<clinicLocation>
<medicalClinicAlias>32909581</medicalClinicAlias>
<medicalClinicID>31822109</medicalClinicID>
<clinicType>Telemed</clinicType>
</clinicLocation>
</clinicLocationPanel>
</outboundMessage>
</XmlData>
<ElementPath>outboundMessage/clinicLocationPanel/clinicLocation</ElementPath>
</Query>
Примечание: Когда я использую SQL Profiler, я вижу, что параметр передается правильно, и если тот же запрос выполняется из профилировщика SQLи выполнить его, он вернет XML.Я думаю, что моя проблема может быть связана с тегами <Method>
или <ElementPath>
.