2012-12-24 88 views
3

使用OpenESB(GlassFish-full-installer-windows2.1)運行Netbeans 6.5.1。 (測試BPEL項目時出錯

我正在使用本教程(http://www.youtube.com/watch?v=a76RxkzB4Bg)作爲通過調用調用外部WSDL(http://www.webservicex.net/CreditCard.asmx?WSDL)的本地WSDL來編排Web服務的參考。我有我的BPEL準備

enter image description here

和我創建複合應用程序,它會自動綁定從我的本地WSDL的BPEL(消費者到生產者)SOAP調用,我不得不拖放另一個SOAP對象和配置它與我的本地WSDL具有相同的接口來接收來自調用操作的輸出(是否正確?)。

enter image description here

當我運行我的測試情況下,從我的本地WSDL選擇操作,我得到以下SoapResponse:

<SOAP-ENV:Fault> 
     <faultcode xmlns="">SOAP-ENV:Server</faultcode> 
     <faultstring xmlns="">BPCOR-6135: A fault was not handled in the process scope; Fault Name is {http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/ErrorHandling}systemFault; Fault Data is &a....Sending errors for the pending requests in the process scope before terminating the process instance</faultstring> 
     <faultactor xmlns="">sun-bpel-engine</faultactor> 
     <detail xmlns=""> 
     <detailText>BPCOR-6135: A fault was not handled in the process scope; Fault Name is {http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/ErrorHandling}systemFault; Fault Data is &a... Sending errors for the pending requests in the process scope before terminating the process instance 
    Caused by: BPCOR-6131: An Error status was received while doing an invoke (partnerLink=externalBPELImplementation, portType={http://www.webservicex.net}CCCheckerSoap, operation=ValidateCardNumber) 
BPCOR-6129: Line Number is 37 
BPCOR-6130: Activity Name is Invoke1 
    Caused by: HTTP Status-Code 404: Not Found - Not Found</detailText> 
     </detail> 

我創建了一個分離的項目來測試外部WSDL,它正在按照預期驗證信用卡號碼,我的BPEL或我的複合應用程序出現問題。

如果我創建另一個測試用例並選擇將Soap對象拖放到Comp中時創建的本地端口。應用。設計界面,我得到了不同的錯誤:

Dec 24, 2012 12:54:11 AM com.sun.xml.messaging.saaj.client.p2p.HttpSOAPConnection call 
SEVERE: SAAJ0006: Bad URL (endPoint instance of String) 
java.net.MalformedURLException: no protocol: 

有什麼想法嗎?

回答

1

據www.open-esb.net

In fact, you've made two mistake :

  • The first one, for your unit test, you have to use the good WSDL which come from the BPEL because you've created a concrete SOAP WSDL (CreditCard_WSDL.wsdl).
  • Then, when you create a new port in your composite application for your plnk externalServiceCard_WSDL, you have to set the soap address location by right-click > properties. By default, this one is set to localhost:${HttpDefaultPort}/compositeapp/casaportX?wsdl that's why you encounter your errors (404 or bad url error).

根據他的建議@brasseld,我已經決定文件開發過程一步一步,結果如下:

http://www.youtube.com/watch?v=-1W1xR3-iJQ

1

您的流程接縫是正確的(在第一眼看去)。 它看起來像你的進程找不到你問服務:

BPCOR-6130:活動名稱爲Invoke1 - 產生的原因:HTTP狀態碼404:找不到 - 找不到

是您的「肥皂地址「在您導入的wsdl中是否正確? 您是否嘗試在bpel映射中重載url? (屬性 - > SOAP HTTP BC - >出站 - > UR)

您的CASA還有一些問題:如果您嘗試使用「localCreditCard_WSDLPort」並在OpenESB「casaPort1」中公開,SOAP綁定會反轉。箭頭應從casaPort1開始並在localCreditCard_WSDLPort處結束。

我希望這能幫助你,

西蒙

+0

感謝您的回答,我已經仔細檢查過了ap在外部WSDL文檔中的地址,它是正確的。另外,關於我的複合應用程序服務程序集,我無法按照您所描述的方式連接組件。你有一個可以寄給我的工作項目嗎? – theMarceloR

+0

它在這裏失敗......它出於某種原因找不到Web服務,爲什麼? theMarceloR