【问题标题】:Error while testing BPEL project测试 BPEL 项目时出错
【发布时间】:2012-12-24 00:52:17
【问题描述】:

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

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

我的复合应用程序已创建,它自动将 SOAP 调用从我的本地 WSDL 绑定到 BPEL(消费者到生产者),我必须拖放另一个 SOAP 对象并使用与我的本地 WSDL 相同的接口配置它来接收调用操作的输出(正确吗?)。

当我从本地 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:

有什么想法吗?

【问题讨论】:

    标签: web-services netbeans bpel


    【解决方案1】:

    您的流程看起来是正确的(乍一看)。 您的进程似乎找不到您请求的服务:

    BPCOR-6130:活动名称为 Invoke1 - 原因:HTTP 状态码 404:未找到 - 未找到

    您导入的 wsdl 中的“肥皂地址”是否正确? 您是否尝试过重载 bpel 映射中的 url? (属性 -> SOAP HTTP BC -> 出站 -> UR)

    您的 CASA 中还有一些奇怪的东西:如果您尝试使用“localCreditCard_WSDLPort”并在 OpenESB 中公开“casaPort1”,则 SOAP 绑定是相反的。箭头应该从 casaPort1 开始并在 localCreditCard_WSDLPort 结束。

    希望对你有帮助

    西蒙

    【讨论】:

    • 感谢您的回答,我已经仔细检查了外部 WSDL 文档中的 Soap 地址,它是正确的。另外,关于我的复合应用程序服务组件,我无法按照您描述的方式连接组件。你有工作项目可以发给我吗?
    • 这里失败了...由于某种原因它找不到 Web 服务,为什么? webservicex.net" portType="tns:CCCheckerSoap" inputVariable="ValidateCardNumberIn" outputVariable="ValidateCardNumberOut"/>
    【解决方案2】:

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

    其实你犯了两个错误:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-04-29
      • 1970-01-01
      • 2015-01-28
      • 2011-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多