Подтвердить что ты не робот

Многопортовая служба, определенная в WSDL

Другой вопрос с существенной проблемой. В конце моего WSDL файла.

<wsdl:service name="Lighting">
    <wsdl:port name="SwitchPower" binding="tns:SwitchPower">
        <soap:address location="http://localhost:8080/Lighting/SwitchPower/" />
    </wsdl:port>
    <wsdl:port name="Dimming" binding="tns:Dimming">
        <soap:address location="http://localhost:8080/Lighting/Dimming/" />
    </wsdl:port>
</wsdl:service>

Та же услуга с двумя портами. Правильно?

Если нет, каковы правила спецификации?

4b9b3361

Ответ 1

Да. Представьте себе, что в реальной жизни это действительно возможно:

Док-станция доставки: идея многопортовой службы

enter image description here

Обратитесь к разделу 2.7 W3 WSDL Specification. Вы можете видеть, что * означает, что вы можете иметь несколько портов под услугой. Фактически, служба группирует набор связанных портов вместе. Тем не менее, есть несколько моментов.

Раздел 2.7 спецификации W3 WSDL

Служба группирует набор связанных портов вместе:

<wsdl:definitions .... >
    <wsdl:service name="nmtoken"> *
        <wsdl:port .... />*
    </wsdl:service>
</wsdl:definitions>

Атрибут name предоставляет уникальное имя среди всех служб, определенных внутри прилагаемого документа WSDL.

Порты внутри службы имеют следующее отношение:

  • Ни один из портов не связывается между собой (например, выход одного порта не является входом другого).
  • Если в службе есть несколько портов, которые используют тип порта, но используют разные привязки или адреса, порты являются альтернативами. Каждый порт обеспечивает семантически эквивалентное поведение (в пределах ограничений на перенос и формат сообщений, налагаемых каждой привязкой). Это позволяет потребителю документа WSDL выбирать определенный порт для связи с использованием определенных критериев (протокол, расстояние и т.д.).
  • Изучив его порты, мы можем определить типы служебных портов. Это позволяет потребителю документа WSDL определить, хочет ли он связываться с конкретной услугой, независимо от того, поддерживает ли он несколько типов портов. Это полезно, если существует некоторая подразумеваемая связь между операциями типов портов и что для выполнения конкретной задачи должен присутствовать весь набор типов портов.

Ответ 2

  • Каждый порт ссылается на уникальную привязку (может иметь несколько привязок)
  • Каждое связывание может ссылаться на один portType
  • Несколько привязок могут ссылаться на один и тот же тип portType или другой тип portType (может иметь несколько типов портов)
  • Итак, когда у нас есть несколько portTypes, мы публикуем несколько портов, ссылаясь на привязки.
    введите описание изображения здесь

img любезность