我可以通过
http://localhost:8080/ode/processes/ProcessManagement?wsdl
访问此API/WS。Apache-ODE ProcessManagement
我想通过此服务获取进程的进程信息并激活它。
服务有匹配的操作getProcessInfo
并激活。
与listAllProcesses
我得到一个delpoyed包的所有进程。
对于getProcessInfo/activate
我需要过程pid
。
我得到一个<ns:pid>
,使用这个让我负载例外。
使用过程的名称和我以前收到的其他内容也不起作用。
pid
类型为QName
,也许这就是问题的根源。
但是我现在不会如何在这里进行类型转换。
(已尝试过所有与Eclipse Web服务浏览器和的soapUI)问题:如何两种操作的适当请求是什么样子?
当我尝试通过eclipse使用axi2来使用webservice时,AnySimpleType类中有一个未声明的变量
local
。我不喜欢这种方式使用这项服务。 但是因为我已经在为DeploymentService编写客户端,所以我想到了这种方法。问题:如何正确访问ProcessManagement?
编辑:我与DeploymentService和undeploy
操作一个simular问题。
编辑2:我想出了DeploymentService undeploy
的问题。
我必须得到Packagename作为字符串。然后,从中创建了一个javax.xml.namespace.QName。然后我使用了undeploy
操作的setPackageName
。
回答质疑数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>
和它的工作就像一个魅力。
我仍然无法伪造getProcessInfo的有效请求,如果我尝试让eclipse和axis2发挥它的魔力,那就更糟了。根本不会生成任何代码,并且出现以下错误:在WSDL的代码生成期间发生异常:org.apache.axis2.AxisFault:org.apache.ws.commons.schema.XmlSchemaException:导入的模式被宣布具有命名空间http://www.apache.org/ode/pmapi/types/2006/08/02/,但命名空间为null – snippl
在soapUI中,我执行以下步骤:listAllProcesses,它给我一个我的进程列表。我有 {http:// ode/bpel/unit-test} HelloWorld2-1 现在我试图用这个pid获取getProcessInfo的进程信息。我只收到一个错误的负载。我的''有什么问题? –
snippl
啊,请尝试使用“真正的”QName而不是它的Java序列化。所以不是''' {ode/bpel/unit-test} HelloWorld2-1 '''我认为它应该读取''' odetest :HelloWorld2-1''' –
vanto