svcutil.exe - Прокси, сгенерированный, не допуская nullable поля

Вот еще одно решение, которое вы могли бы использовать. Это работает в моем приложении.

      @Override
      public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        android.support.v7.app.ActionBar actionBar =getSupportActionBar();
        actionBar.setDisplayHomeAsUpEnabled(true);            
        setContentView(R.layout.activity_main)

Затем вы можете избавиться от этого импорта для одной строки ActionBar.

7
задан David 18 June 2009 в 17:17
поделиться

2 ответа

Я предполагаю, что у прокси-класса клиента, сгенерированного svcutil , есть поле / свойство с именем meetingId типа int - правильно ? Да, это не допускает значения NULL, но я уверен, что у вас также есть логическое поле / свойство с именем meetingIdSpecified - только если для него установлено значение true , служба действительно будет смотреть на него; если вы не установите его, служба не будет смотреть на значение, так что это будет почти так, как если бы оно было где NULL .

Кроме того, вы не указали поле, допускающее значение NULL в вашем XSD тоже - вы указали, что он необязательный. Чтобы сделать его допускающим значение NULL, используйте следующий синтаксис здесь:

<xs:element minOccurs="0" maxOccurs="1" name="meetingId" type="xs:int" 
            nillable="true" />

Видите атрибут «допускающий значение NULL»? Это тот, который используется для того, чтобы сделать поле действительно допускающим значение NULL - теперь вы можете иметь такую ​​запись в вашем XML:

7
ответ дан 7 December 2019 в 03:19
поделиться

Не используйте SVCUtil, если он вам не подходит. Если служба не очень сложна, вы можете попробовать написать интерфейс службы вручную и использовать ChannelFactory <> для создания своих прокси.

1
ответ дан 7 December 2019 в 03:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: