Ответ 1
Вам определенно нужно ввести входное сообщение - как еще сервер может сказать, какую операцию вы хотите вызвать.
Если вы используете стиль документа (который вам нужен), входное сообщение должно быть одним элементом без содержимого.
Я разрабатываю веб-сервис SOAP. Одна из функций isAlive(). Он не имеет входных параметров. Какая лучшая практика для WSDL? Я пробовал...
<wsdl:operation name="isAlive">
<wsdl:output message="tns1:isAliveMessage"/>
</wsdl:operation>
... но получил ошибку синтаксического анализа в одном из моих инструментов из-за недостающего ввода. Я нашел несколько примеров, где был определен вход и сообщение, и соответствующее определение типа было пустым, то есть <xsd:complexType name="somename"/>
. Это лучше?
Спасибо!
Вам определенно нужно ввести входное сообщение - как еще сервер может сказать, какую операцию вы хотите вызвать.
Если вы используете стиль документа (который вам нужен), входное сообщение должно быть одним элементом без содержимого.
Хорошей практикой является определение входных и выходных документов для каждой операции, даже если они оказываются пустыми. Эти "пустые" операции имеют привычку оказаться не слишком пустыми в долгосрочной перспективе, и определение типа документа-заполнителя спереди может сэкономить вам хлопоты.
Например, учтите, что запрос isAlive может содержать некоторое указание на то, о чем вы спрашиваете. Он сохраняет ваши параметры открытыми, а в качестве побочного эффекта генерируется достоверный WSDL:)