测试BPEL项目时出错

时间:2012-12-24 00:52:18

标签: web-services netbeans bpel

使用OpenESB运行Netbeans 6.5.1(Glassfish-full-installer-windows2.1)。

我正在使用本教程(http://www.youtube.com/watch?v=a76RxkzB4Bg)作为参考,通过调用调用外部WSDL(http://www.webservicex.net/CreditCard.asmx?WSDL)的本地WSDL来编排Web服务。我准备好了BPEL

enter image description here

我创建了Composite Application,它会自动将SOAP调用从我的本地WSDL绑定到BPEL(Consumer to Producer),我不得不拖放另一个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:

任何想法?

2 个答案:

答案 0 :(得分:1)

您的工艺接缝是正确的(初看起来)。 看起来您的流程找不到您要求的服务:

BPCOR-6130:活动名称为Invoke1 - 引起:HTTP状态代码404:未找到 - 未找到

您导入的wsdl中的“肥皂地址”是否正确? 您是否尝试在bpel映射中重载url? (属性 - &gt; SOAP HTTP BC - &gt; Outbound - &gt; UR)

您的CASA中还有一些内容:如果您尝试使用“localCreditCard_WSDLPort”并在OpenESB“casaPort1”中公开,则SOAP绑定将被反转。箭头应从casaPort1开始,并在localCreditCard_WSDLPort处完成。

我希望这可以帮到你,

西蒙

答案 1 :(得分:1)

来自www.open-esb.net的@brasseld

  

事实上,你犯了两个错误:

     
      
  • 第一个,对于您的单元测试,您必须使用来自BPEL的优秀WSDL,因为您已经创建了一个具体的SOAP WSDL   (CreditCard_WSDL.wsdl)。
  •   
  • 然后,当您在plnk externalServiceCard_WSDL的复合应用程序中创建新端口时,您必须设置soap地址   右键单击位置&gt;属性。默认情况下,此设置为   localhost:$ {HttpDefaultPort} / compositeapp / casaportX?wsdl这就是为什么   您遇到错误(404或错误的网址错误)。
  •   

根据他的建议,我决定逐步记录开发过程,结果如下:

  

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