Как указать экземпляр службы во внешнем файле вложения политики 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
Спасибо за ваше время и усилия.
1 ответ
Вы не должны использовать интерфейс (WSDL) для определения внутреннего поведения ваших процессов, действуя таким образом, что вы демонстрируете свою реализацию. Интерфейсы предназначены для сокрытия / инкапсуляции реализации с точки зрения потребителя.