Как указать экземпляр службы во внешнем файле вложения политики WS?

Я пытаюсь создать файл вложения WS-policy, чтобы прикрепить политику к активности конкретного экземпляра процесса. Я прочитал, что ссылка на конечную точку (EPR) должна быть включена в элемент AppliesTo, но проблема в том, что я не знаю, как указать экземпляр процесса. Следующий код присоединяет политику к операции вызова для всех экземпляров процесса MyProcess.

<wsp:PolicyAttachment>
  xmlns:wsp="http://schemas.xmlsoap.org/ws/2002/12/policy"
  xmlns:q4b="http://www.example.com/q4b"
  xmlns:ns="http://www.example.com/processes"
<wsp:AppliesTo>
   <q4b:process name="ns:myProcess" expressionLanguage="xpath1.0">
     /process/inovoke[2]
   </q4b:process>
</wsp:AppliesTo>
<wsp:PolicyReference>
  URI="http://www.example.com/policies/myPolicy"/>
</wsp:PolicyAttachment>

Элемент AppliesTo определяет субъект политики. Он включает в себя новый определенный XML-тип с именем q4b:process, который указывает имя процесса, и включает выражение XPath для выбора активности второго вызова этого процесса. Элемент PolicyReference является ссылкой на политику, которая должна быть присоединена.

В спецификации WS-Policy Attachement есть пример, в котором используется ссылка на конечную точку, но в объяснении говорится, что она будет применять политику ко всем взаимодействиям с конечной точкой. Это не совсем то, что я хочу, так как я хотел бы, чтобы политика применялась только к указанному экземпляру процесса и только к указанному действию. Я использую Apache ODE в качестве движка рабочего процесса.

Следующий пример иллюстрирует использование этого механизма с выражением домена EndpointReference для развернутой конечной точки, как определено в Адресация веб-служб [WS-Addressing Core]:

(01) <wsp:PolicyAttachment>
(02)   <wsp:AppliesTo>
(03)     <wsa:EndpointReference>
(04)       <wsa:Address>http://www.example.com/acct</wsa:Address>
(05)     </wsa:EndpointReference>
(06)   </wsp:AppliesTo>
(07)   <wsp:PolicyReference
(08)      URI="http://www.example.com/policies#RmPolicy" />
(09) </wsp:PolicyAttachment>

В этом примере выражение политики at применяется ко всем взаимодействиям с конечной точкой.

Спецификации приложений WS-Policy

Спецификации WS-адресации

Спасибо за ваше время и усилия.

1 ответ

Вы не должны использовать интерфейс (WSDL) для определения внутреннего поведения ваших процессов, действуя таким образом, что вы демонстрируете свою реализацию. Интерфейсы предназначены для сокрытия / инкапсуляции реализации с точки зрения потребителя.

Другие вопросы по тегам