【问题标题】:invoke web service with authentication headers in ode bpel在 ode bpel 中使用身份验证标头调用 Web 服务
【发布时间】:2017-08-30 12:26:38
【问题描述】:

我正在使用 eclipse bpel 设计器并尝试调用需要传递身份验证标头的外部服务。

这是我所做的
1.创建了一个headers.endpoint文件,内容如下

*alias.sample_ns="http://sample.com"  
sample_ns.serviceName.portName.ode.http.default-headers.username=system
sample_ns.serviceName.portName.ode.http.default-headers.password=admin*
  1. 将其放在 ..\webapps\ode\WEB-INF\processes\$process 文件夹中

当我调用该服务时,我收到以下错误
“发送消息时出错 (mex={PartnerRoleMex#hqejbhcnphrckf492s9n9b [PID {http://createReservation}CreateReservation-1541] 调用 org.apache.ode。 bpel.epr.WSAEndpoint@1e1f4b8.saveRecord(...) Status ASYNC}):传输错误:401 Error: Unautho"。

我认为在 BPEL 流程中调用服务时也需要添加标头信息。但是找不到办法。如果这实际上是我所缺少的,该怎么办?还是有别的事情要做?

提前致谢

【问题讨论】:

    标签: http-headers bpel apache-ode


    【解决方案1】:

    【讨论】:

    • 我正在使用需要身份验证的第三方 wsdl,并且不能修改 wsdl。
    • 向输入消息添加一个额外的虚拟消息部分,该部分不会映射到soap body 或soap 标头不会影响WSDL,无论其内部/外部WSDL 文档。但是如果你不愿意走这条路,那么你可以为它提出JIRA
    • 我尝试在输入消息中添加虚拟消息部分,但问题仍然存在,还有其他解决方案吗?
    • 用这些细节更新您的问题 1. ODE 版本? 2.部署了哪个服务器ODE? 3. HTTP 服务/肥皂服务? 4. 需要查看您对 WSDL 和 bpel 所做的更改
    • 我已经用注释更新了我的答案。仅凭一行信息就无法分析问题。我们需要查看完整的堆栈跟踪以及您对 WSDL 和 BPEL 所做的更改,以便更正任何错误配置。我敦促您访问 ODE 用户邮件列表,了解所有详细信息,以便在那里进行分析和帮助。 Stackoverflow 不是这样的论坛。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-15
    • 2015-08-30
    • 1970-01-01
    • 2010-09-28
    • 2011-01-15
    • 1970-01-01
    相关资源
    最近更新 更多