Как получить коллекцию из сообщения SOAP - PullRequest
3 голосов
/ 15 февраля 2011

Я использую веб-сервис для отображения информации о компании на основе специального номера компании.Но я не могу получить данные из ответного SOAP-сообщения.Вы можете увидеть пример ответного мыльного сообщения.(Я пропустил некоторую информацию о компании в тегах).

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body>
<businessGetDossierV3Response xmlns="http://www.webservices.nl/soap/">
<out>
<paging>
<curpage>1</curpage>
<perpage>10</perpage>
<numpages>1</numpages>
<numresults>1</numresults>
<maxresults>100</maxresults>
</paging>
<results>
<item>
<DossierNo></DossierNo>
<SubDossierNo></SubDossierNo>
<ChamberNo></ChamberNo>
<Legalformcode></Legalformcode>
<LegalformcodeText></LegalformcodeText>
<Tradename45></Tradename45>
<EstablishmentPostcode></EstablishmentPostcode>
<EstablishmentCity></EstablishmentCity>
<EstablishmentStreetname></EstablishmentStreetname>
<EstablishmentHouseNo></EstablishmentHouseNo>
<CorrespondencePostcode></CorrespondencePostcode>
<CorrespondenceCity></CorrespondenceCity>
<CorrespondenceStreetname></CorrespondenceStreetname>
<CorrespondenceHouseNo></CorrespondenceHouseNo>
</item>
</results>
</out>
</businessGetDossierV3Response>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

!это результат, который я вижу на демо-клиенте!Но это мой код в C #

        nl.webservices.ws1.BusinessDossierV3PagedResult result = null;
        result = myserviceBusiness.businessGetDossierV3(KVKnr, "0000", 1);

Я хочу сделать что-то вроде этого (но с результатами вместо части подкачки)

int page = result.paging.numpages;

Тогда я должен быть таким, я полагаю

string city = result.results.item.CorrespondenceCity;

Но это выдает сообщение об ошибке

Так что в Visual Studio 2010 я могу только получить данные в части подкачки XML и поместить их в текстовое поле, но неиз результатов часть.Это потому, что часть результата - это какая-то коллекция?

Так что да, как я могу поместить данные из тегов EstablishmentPostcode и EstablishmentCity в текстовое поле на странице по умолчанию?

заранее спасибо

1 Ответ

1 голос
/ 15 февраля 2011

Вы можете попробовать добавить службу SOAP в качестве веб-ссылки на проект. http://msdn.microsoft.com/en-us/library/tydxdyw9.aspx

Если вы не хотите этого делать и предпочитаете работать с XML напрямую, вы можете использовать xpath, чтобы получить доступ ко всем элементам item в вашем элементе результатов. http://www.stardeveloper.com/articles/display.html?article=2009031001&page=1

При использовании xpath следует соблюдать осторожность, так как вы используете правильное пространство имен xml для узла, который вы пытаетесь выбрать.

Ben

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...