Apache-ODE ProcessManagement
Я могу получить доступ к этому API/WS черезhttp://localhost:8080/ode/processes/ProcessManagement?wsdl
,
Я хотел бы получить информацию о процессе через этот сервис и активировать его.
Служба имеет соответствующие операцииgetProcessInfo
и активировать.
СlistAllProcesses
Я получаю все процессы из пакета delpoyed.
ЗаgetProcessInfo/activate
Мне нужен процессpid
,
Я получаю<ns:pid>
Используя это, я получаю массу исключений.
Использование имени процесса и других вещей, которые я получаю ранее, тоже не работает.pid
имеет типQName
, возможно, в этом корень проблемы.
Однако сейчас я не знаю, как это сделать.
(Перепробовал все с помощью eclipse Web Services Explorer и soapUI)вопрос: как выглядит правильный запрос для обеих операций?
Когда я пытаюсь использовать веб-сервис с помощью axi2 через eclipse, появляется необъявленная переменная
local
в классе AnySimpleType. Я не заинтересован в использовании сервиса таким образом. Но так как я уже пишу Клиент для DeploymentService, я подумал об этом подходе.вопрос: как правильно получить доступ к ProcessManagement?
РЕДАКТИРОВАТЬ: у меня есть проблема симуляции с DeploymentService и undeploy
Операция.
РЕДАКТИРОВАТЬ 2: Я понял проблему с DeploymentService undeploy
из.
Я должен был получить Packagename как String. Затем из него сделал javax.xml.namespace.QName. Тогда я использовал setPackageName
из сказанного undeploy
операция.
Ответ на вопрос № 1:
soapUI с listAllProcesses возвращает<ns:pid>{ode/bpel/unit-test}HelloWorld2-1</ns:pid>
getProcessInfo хочет
<pmap:getProcessInfo>
<pid>?</pid>
</pmap:getProcessInfo>
Теперь я заменил <pid>?</pid>
с<pid xmlns:odetest="http://ode/bpel/unit-test">odetest:HelloWorld2-1</pid>
и это сработало как шарм.
1 ответ
Я помню, что была проблема с упорядочением параметров при использовании сгенерированного Axis2 WSDL. Не могли бы вы попытаться создать запрос к исходному WSDL, расположенному по адресу http://localhost:8080/ode/deployment/services/ProcessManagement
работает?
РЕДАКТИРОВАТЬ: Теперь, когда я правильно понял вопрос, проблема в том, что ODE ожидает, что QName будет сериализовано по-другому, то есть способом XML вместо способа Java. Таким образом, вместо <ns:pid>{ode/bpel/unit-test}HelloWorld2-1</ns:pid>
правильное обозначение <ns:pid xmlns:odetest="ode/bpel/unit-test">odetest:HelloWorld2-1</ns:pid>
,