2015-03-27 3 views
0

У меня есть конечная точка WSDL, которую я добавил в свой проект в качестве справочника службы, называемого ContentService, отлично работает.Передача параметров сложного типа в веб-службу

Тогда в моем коде, я объявляю клиента, и соответствующий запрос, UnitInfo так:

// Both of these declarations work fine  
    ContentService.ContentServiceClient client = new ContentService.ContentServiceClient(); 
    ContentService.UnitInfo request = new ContentService.UnitInfo(); 

Мне нужно пройти в следующую информацию, хотя:

<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/"> 
    <Body> 
     <UnitInfo xmlns="http://www.acme.com/acme/2007/02"> 
      <!-- Optional --> 
      <POS> 
       <!-- Optional --> 
       <Source> 
       </Source> 
      </POS> 
      <!-- Optional --> 
      <UnitInfos> 
       <!-- Optional --> 
       <Units HowMany="?"> 
        <!-- Optional --> 
        <Amenities/> 
        <!-- Optional --> 
       </Units> 
      </UnitInfos> 
     </UnitInfo> 
    </Body> 
</Envelope> 

проблема в том, что моя переменная запроса имеет значение null для свойства UnitInfos, как я могу установить атрибут «HowMany» в разделе «Единицы» перед отправкой. Также, как отправить запрос на конечную точку?

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

+0

Это не имеет никакого отношения к веб-сервисам. Вам просто нужно заполнить правильный экземпляр вашего класса запросов. Как вы ожидаете, что какой-либо «UnitInfos» будет создан, если вы не создадите ни одного из них? Магия? –

ответ

1

Прежде всего, вы, как правило, не видите различия между отправкой Интсом или что-то более complecated:

client.Send(new ContentService.UnitInfo()); 

Вторым. Как вы писали <UnitInfos>, и он не будет существовать в конверте, если установлен null.-

+0

Спасибо, @ согласен, я просто хочу отправить через 5, как «HowMany», но как установить это в переменной запроса? Intellisense только показывает мне свойство UnitInfos и имеет значение null, как мне привязать это значение перед отправкой? –

+0

@MarkKadlec вы не должны делать это вручную, это должно выполняться с помощью механизма сериализации автоматически. –

+0

Итак, мне нужно создать объект для соответствия структуре UnitInfo? Не возражаете ли вы предоставить образец кода, я не уверен, что следую тому, что вы имеете в виду. –

Смежные вопросы