问题标签 [wso2bps]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
html - 从 Web 表单触发 WSO2 BPEL
我正在使用 wso2 企业集成器。我想知道,我们可以从定制的 Web 表单中触发 BPEL 吗?如果是,那该怎么做?还有一件事,如何使用 WSO2 开发人员工作室在 BPEL 中分配任务?
wso2 - 为什么我的 WSO2 EI (ESB) 代理服务会挂起 3 分钟?
我有一个 BPS 进程可以快速执行大量对 ESB 代理的调用。ESB 代理调用一个 ESB API,它调用我们自己产品的 API。
通常,在等待来自 ESB 的响应时,BPS 进程会暂停 3 分钟。3分钟后,一切都在继续,好像什么都没发生一样。使用 Wireshark 和一些额外的日志中介,我发现了以下内容:
- 挂起发生在 ESB 代理中,就在输出序列之前。
- 根据 Wireshark 的说法,当挂起发生时,ESB API 已经将其响应发送到 ESB 代理。
这个挂起正好需要 3 分钟的事实应该是一个提示。我在配置文件中搜索了指定 180 秒的任何内容,但唯一的是 http 套接字超时和 http transportReceiver 的 threadKeepAliveTime。如果我减少这些,BPS 会抛出 p2p 通信错误而不是继续。对我来说,这表明后台某处的某处仍然导致某些呼叫延迟 3 分钟。
顺便说一句,仅某些特定呼叫不会发生挂起。我已经测试了好几次,每次都执行完全相同的调用,我无法预测哪个调用会挂起,或者即使任何调用都会挂起。
wso2 - 在 WSO2BPS 中调用 BPMN REST 端点并获取有效负载以格式化 xml
我想使用 BPMN 服务任务并调用 REST API。我需要以 XML 格式接收来自服务 ESB 的请求。
请求示例:
服务任务:
在所有示例中,使用 JSON 有效负载。我在 outputMappings 中写入什么表达式以从标签 *//rout/name 中获取值?
wso2 - 错误从 wso2 业务流程服务器调用 BPMN REST 端点
我想从业务流程服务器的 BPMN REST 向 ESB 的代理服务发送消息,但是当我调用流程时,会引发异常。
我做错了什么?
调用方案:Client->esb的代理服务->业务流程->Invoke Rest API->esb的代理服务
1.esb->业务流程的代理服务:
2.业务流程->调用Rest API:
3.Invoke Rest API->esb的代理服务
wso2 - org.wso2.carbon.context.CarbonContext.getThreadLocalCarbonContext() 在流程步骤为异步时返回非初始化对象
使用 wso2bps 3.6.0
我在我们的流程步骤中有这样的代码:
如果标记Exclusive
为此代码的步骤返回正确的值。
如果步骤标记为,Asynchronous
那么我得到了domain=null
。
最后,此行为无法访问其他碳属性和注册表。
这个 ThreadLocal 数据持有者的问题似乎没有为我的异步线程返回已初始化的持有者org.wso2.carbon.context.internal.CarbonContextDataHolder
:
问题
异步时如何在我的流程步骤中获取碳域和注册表?
也许有一种方法可以初始化我的线程以允许使用碳注册表?
PS:作为解决方法,我在流程中长时间运行 Anync 步骤之前使用 Exclusive 步骤来评估所需的碳相关属性。
wso2 - 配置 API 订阅 BPS WSO2 时出现问题
因此,我已将 WSO2 BPS 3.6.0 配置为支持 SSL 和自定义主机名,即mydomain.domain.com:9445等,并且我正在尝试按照本文档实施API 订阅工作流。
现在我已经执行了以下步骤:
- 将 wso2 bps 的偏移量设置为 2 并且在端口:9445 上运行良好
编辑了位于 API-M_HOME/business-processes/epr 中的SubscriptionService.epr和SubscriptionCallbackService.epr中的wsa:Address标签,因为 bps 服务器具有自定义主机名而不是 localhost(不确定执行此步骤是否正确)
将 epr 文件夹从 API-M_HOME/business-processes/epr 复制粘贴到 BPS_HOME/repository/conf/epr
相应地添加了所需的BPEL 包和人工任务
- 将b4p-cordination-config.xml的TaskCoordinationEnabled标记设置为true,位于 BPS_Home\repository\conf
考虑其他必需的配置:
在 API 管理器端:
- site.json 文件位于 APIM_Home\repository\deployment\server\jaggeryapps\admin\site\conf
在 BPS 端:
问题:现在,每当用户导航到 APIM 商店并订阅任何 API 时,APIM 管理控制台都会列出订阅请求。当我从提供的 ddl 中选择 APPROVE 并单击 COMPLETE 按钮时,记录就会消失。但是,这是我在 WSO2 的 CMD 窗口中看到的错误:
APIM 的 cmd 窗口
[2017-11-09 00:13:17,022] INFO - TimeoutHandler 此引擎将在 GLOBAL_TIMEOUT:120 秒后过期所有回调,无论超时操作如何,在指定或可选超时之后
reactor.AbstractIOReactor.processEvents(Abst ractIOReactor.java:316) 在 org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIO Reactor.java:277) 在 org.apache.http.impl.nio.reactor。 BaseIOReactor.execute(BaseIOReactor.java:105) 在 org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker。在 java.lang.Thread.run(Thread.java:745) 处运行(AbstractMultiworkerIOReactor.java:586)
[2017-11-09 00:13:17,188] 警告 - EndpointContext 端点:地址为 https://localhost:9443/store/site/blocks/workflow/workflow-listener/ ajax/workflow-listener.jag的匿名端点标记为 SUSPENDED 失败
[2017-11-09 00:13:17,193] WARN - EndpointContext 暂停端点:匿名端点地址为 https://localhost:9443/store/site/blocks/workflow/workflo w-listener/ajax/workflow-listener.jag - 当前暂停持续时间为:30000 毫秒 - 下次重试后:Thu Nov 09 00:13:47 EST 2017
[2017-11-0900:13:17,201] 信息 - LogMediator 状态 = 执行默认“故障”序列,ERROR_CODE = 101500,ERROR_MESSAGE = 发件人错误
[2017-11-09 00:14:17,238] INFO - SourceHandler Writer 在调用 informWriterError 时为 null [2017-11-09 00:14:17,238] WARN - SourceHandler Connection time out after request t is read: http-incoming-1套接字超时:60000 远程地址:/10.10.30.130:49249
[2017-11-09 00:14:24,671] 错误 - AxisEngine 找不到操作的端点引用 (EPR) 是 /services/WorkflowCallbackService 并且 WSA 操作 = null。如果此 EPR 以前可以访问,请联系服务器管理员。org.apache.axis2.AxisFault:找不到操作的端点引用 (EPR) 是 /services/WorkflowCallbackService 并且 WSA Action = null。如果此 EPR 以前可以访问,请联系服务器管理员。在 org.apache.axis2.engine.DispatchPhase.checkPostConditions(DispatchPhase.java:102) 在 org.apache.axis2.engine.Phase.invoke(Phase.java:329) 在 org.apache.axis2.engine.AxisEngine。在 org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:167) 在 org.apache.synapse.transport.passthru 调用(AxisEngine.java:261)。org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.j ava:158) at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run 的 ServerWorker.processNonEntityEn 关闭RESTHandler(ServerWorker.java:325) (Native WorkerPool.java:172) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor .java:617) 在 java.lang.Thread .run(Thread.java:745) [2017-11-09 00:14:24,673] 错误 - ServerWorker 错误处理 GET 请求:/services/WorkflowCallbackService org.apache.axis2.AxisFault:端点参考 (EPR)未找到操作是 /services/WorkflowCallbackService 并且 WSA Action = null。如果此 EPR 以前可以访问,请联系服务器管理员。在 org.apache.axis2.engine.DispatchPhase.checkPostConditions(DispatchPhase.java:102) 在 org.apache.axis2.engine.Phase.invoke(Phase.java:329) 在 org.apache.axis2.engine.AxisEngine。调用(AxisEngine.java:261)在 org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:167)在 org.apache.synapse.transport.passthru.ServerWorker.processNonEntityEnclosureRESTHandler(ServerWorker.java:325)在org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.j ava:158) at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(Native WorkerPool.java:172) at java.util .concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker。
BPS的cmd窗口:
[2017-11-09 00:14:16,738] 错误 {org.wso2.carbon.bpel.core.ode.integration.Partn erService} - 向 Axis2 发送消息以获取 ODE mex {PartnerRoleMex#hqejbhc nphrcr2a32g83oh [PID { http: //workflow.subscription.apimgt.carbon.wso2.org}Subscr iptionApprovalWorkFlowProcess-1] 调用 org.apache.ode.bpel.epr.WSAEndpoint@705 fc38f.resumeEvent(...) 状态请求} org.apache.axis2.AxisFault:在 org.apache.axis2.AxisFault 处读取超时.makeFault(AxisFault.java:430) 在 org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.jav a:199) 在 org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java: 77) 在 org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessa geWithCommons(CommonsHTTPTransportSender.java:451) 在 org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(Com monsHTTPTransportSender.java:278) 在 org.apache .axis2.engine.AxisEngine.send(AxisEngine.java:442) 在 org.apache.axis2.description.OutOnlyAxisOperationClient.executeImpl(O utOnlyAxisOperation.java:297) 在 org.apache.axis2.client.OperationClient.execute(OperationClient.java: 149) 在 org.wso2.carbon.bpel.core.ode.integration.utils.AxisServiceUtils.invo keService(AxisServiceUtils.java:323) 在org.wso2.carbon.bpel.core.ode.integration.PartnerService.invoke(Partn erService.java:333) at org.wso2.carbon.bpel.core.ode.integration.BPELMessageExchangeContextI mpl.invokePartner(BPELMessageExchangeContextImpl.java:43 ) 在 org.apache.ode.bpel.engine.BpelRuntimeContextImpl.invoke(BpelRuntimeC ontextImpl.java:897) 在 org.apache.ode.bpel.runtime.INVOKE.run(INVOKE.java:130) 在 sun.reflect.GeneratedMethodAccessor54 .invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:43) at java.lang.reflect.Method。在 org.apache.ode.jacob.vpu.JacobVPU.execute(JacobVPU.java :139) 在 org.apache.ode.bpel.engine.BpelRuntimeContextImpl.execute(BpelRuntime ContextImpl.java:1002) 在 org.apache.ode.bpel.engine.PartnerLinkMyRoleImpl.invokeInstance(Partn erLinkMyRoleImpl.java:250) 在 org. apache.ode.bpel.engine.BpelProcess$1.invoke(BpelProcess.java:288)invokeInstance(Partn erLinkMyRoleImpl.java:250) at org.apache.ode.bpel.engine.BpelProcess$1.invoke(BpelProcess.java:288)invokeInstance(Partn erLinkMyRoleImpl.java:250) at org.apache.ode.bpel.engine.BpelProcess$1.invoke(BpelProcess.java:288)
:224) 在 org.apache.ode.bpel.engine.BpelProcess.invokeProcess(BpelProcess.java:279) 在 org.apache.ode.bpel.engine.BpelProcess.handleJobDetails(BpelProcess.j ava:434) 在 org.apache .ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineIm pl.java:558) at org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerIm pl.java:467) at org.apache.ode.scheduler.simple .SimpleScheduler$RunJob$1.call(SimpleS cheduler.java:633) 在 org.apache.ode.scheduler.simple.SimpleScheduler$RunJob$1.call(SimpleS cheduler.java:627) 在 org.apache.ode.scheduler.simple .SimpleScheduler.execTransaction(Simpl eScheduler.java:298) 在 org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(Simpl eScheduler.java:253) 在 org.apache.ode.scheduler.simple。SimpleScheduler$RunJob.call(SimpleSch eduler.java:627) at org.apache.ode.scheduler.simple.SimpleScheduler$RunJob.call(SimpleSch eduler.java:611) at java.util.concurrent.FutureTask.run(FutureTask. java:266) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor .java:617) 在 java.lang.Thread.run(Thread .java:745) 引起:java.net.SocketTimeoutException:在 java.net.SocketInputStream.read(SocketInputStream.java:150) 在 java.net.SocketInputStream 的 java.net.SocketInputStream.socketRead0(Native Method) 读取超时sun.security.ssl.InputRecord.readFully(InputRecord.java:465) 的 sun.security.ssl.InputRecord 的 .read(SocketInputStream.java:121)。在 sun.security.ssl.ssl.ssl.ssl.ssl.readDataRecord(SSLSocketImpl.java:918) 处读取 (InputRecord.java:503) 在 sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:961)
78) 在 org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:106) 在 org.apache.commons.httpclient.HttpConnection.readLine(HttpConnection.java:1116) 在 org.apache.commons.httpclient.MultiThreadedHttpConnectionManager $Http ConnectionAdapter.readLine(MultiThreadedHttpConnectionManager.java:1413) at org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMetho dBase.java:1973) at org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:第 1735 章.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)在 org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.jav a:397) 在 org.apache.axis2.transport.http.AbstractHTTPSender.executeMethod(Abst ractHTTPSender.java:659) 在 org.apache.axis2 .transport.http.HTTPSender.sendViaPost(HTTPSender.jav a:195) ... 还有 34 个
这里可能是什么问题?任何想法?让我知道。谢谢
请注意,API STATE CHANGE 的 bps 工作流程在相同的配置下工作得很好
wso2 - wso2 ei 服务器,错误 403 被禁止,不访问核心,错误:请求中缺少必需的令牌
我正在安装 WSO2 EI 6.1.1
我该如何解决这个问题?如何使 WSO2 WSO2 EI 下的 wso2 Business Process Server 的管理控制台可用?
wso2 - WSO2BPS 超时和等待节点在重启后处理
使用 WSO2 BPS 3.6.0 我们遇到了一个严重的问题
我们有几个进程等待外部事件(超时)和几个轮询更新的进程(使用等待节点)。
一旦我们重新启动服务器,问题就会出现: * 在停机期间传递的超时不会被处理 * 等待节点根本不会被处理
阅读相关文章:
我发现超时时间戳存储在ode_job表中。所以我尝试更新超时时间戳(在启动 BPS 服务器之前)
update ode_job set ts=(near_future_timestamp) where ts>(before_restart) and ts<(near_future_timestamp)
这解决了范围超时,但是即使将来说明了等待节点,也不再处理它们。这有效地阻止了所有轮询实例,而没有任何方法可以进一步移动它们。
重新启动服务器后,有没有办法“恢复”或超时等待节点?