我可以通過
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