|
(SOAP) Передача структуры с необязательными параметрами
|
|||
---|---|---|---|
#18+
На VB написан вебсервис. В этом сервисе методы работают со сложными многомерными структурами. В этих структурах не все реквизиты являются обязательными поэтому они объявляются как в приведенном примере: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27.
Вот вырезка из WSDL-ки Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2011, 09:26 |
|
(SOAP) Передача структуры с необязательными параметрами
|
|||
---|---|---|---|
#18+
> Автор: NT Man > Как объявить структуру, чтобы можно было не заполнять не обязательные инициализированные по умолчанию реквизиты? Никак. Сделай прокси-класс, который будет вызыватся в твоей программе с переменным количеством параметров, а вызов вебсервиса будет производится уже с полным набором параметров. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2011, 10:36 |
|
(SOAP) Передача структуры с необязательными параметрами
|
|||
---|---|---|---|
#18+
Здесь я выкладывал пример своего проекта. Посмотри в папке клиент файл proxyserver.prg. Это и есть такой класс. В клиентской части я работаю через него. Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2011, 10:40 |
|
(SOAP) Передача структуры с необязательными параметрами
|
|||
---|---|---|---|
#18+
Всетаки интересно, что у строк: Public Street As String = "" получается <s:element minOccurs="0" maxOccurs="1" name="Street" type="s:string"/> minOccurs="0" maxOccurs="1" - говорит об опциональности, соответственно строка может и отсутствовать в структуре. А у других типов: Public resStat As Int32 = 0 получается <s:element minOccurs="1" maxOccurs="1" name="resStat" type="s:int"/> minOccurs="1" maxOccurs="1" - говорит об обязатености заполнения поля при передаче через сервис Руками править WSDL, вроде как не правильно. А как оъявить так чтобы Int32 был в WSDL как <s:element minOccurs="0" maxOccurs="1" name="resStat" type="s:int"/> непонятно, я не знаток VB. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2011, 12:10 |
|
(SOAP) Передача структуры с необязательными параметрами
|
|||
---|---|---|---|
#18+
> Автор: NT Man > minOccurs="0" maxOccurs="1" - говорит об опциональности, соответственно строка может и отсутствовать в структуре. Вообще-то здесь говорится о четвертом фреймворке. Это может не поддерживатся ранними версиями. Для мембера класса нет никаких квалификаторов опциональности, для параметра функции можешь попробовать такое объявление : Код: plaintext 1. 2.
Posted via ActualForum NNTP Server 1.4 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2011, 12:33 |
|
|
start [/forum/topic.php?fid=60&fpage=104&tid=2158822]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
71ms |
get tp. blocked users: |
2ms |
others: | 343ms |
total: | 508ms |
0 / 0 |