我有一个要求,需要将文件中的 JSON 对象与进入 Anypoint MQ 队列的 JSON 消息进行比较。我能够从队列中获取消息。我使用了下面的脚本,但它不起作用。我都做了-eq
,Compare-Object
但它们不起作用。
$po_ps_output = $filemessagecontent | ConvertFrom-Json
$po_python_output = $mqmessagecontent.body | ConvertFrom-Json
$result = $po_ps_output -eq $po_python_output
Run Code Online (Sandbox Code Playgroud) 我正在使用 bitbucket-pipelines 为我公司的 mulesoft API 设置部署管道。由于与 Jira 的内置集成,这项技术对我们很有吸引力。问题是我们正在使用域项目。所有其他依赖项都是从 anypoint exchange 下载的,但域项目不能托管在那里,所以我收到这个错误:
[ERROR] Failed to execute goal on project sourceControlDemo: Could not resolve dependencies for project com.mycompany:sourceControlDemo:mule-application:1.0.0-SNAPSHOT: Could not find artifact com.mycompany:[mycompany]-domain:jar:mule-domain:1.0.0 in anypoint-exchange (https://maven.anypoint.mulesoft.com/api/v1/maven) -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal on project sourceControlDemo: Could not resolve dependencies for project com.mycompany:sourceControlDemo:mule-application:1.0.0-SNAPSHOT: Could not find artifact com.mycompany:[mycompany]-domain:jar:mule-domain:1.0.0 in anypoint-exchange (https://maven.anypoint.mulesoft.com/api/v1/maven)
Run Code Online (Sandbox Code Playgroud)
在我们当前的过程中,涉及在本地构建项目,域项目包含在工作区中,不会发生此错误。
似乎这里有一些策略: * 创建一个包含依赖项的自定义 docker 映像 - 这个选项似乎有点过分,对我来说是最大的技能差距,因为我从未使用过 docker。* 将域项目托管在要在依赖项目 pom.xml 中引用的私有 Maven 存储库上 - 这似乎是执行此操作的“正常”方式。然而,对于一个依赖项来说,这似乎又是一种矫枉过正。* 在管道文件中克隆域项目存储库,自动将项目安装在本地存储库中 - 这是我非常喜欢的选项。我已经成功克隆了 repo …
我们使用 REST API 以 XML 格式将 PO 数据发布到 Oracle 实例。在失败的情况下,它只是来自 error.description 示例的打印消息“资源 ' https://hostname:post/fscmService/PurchaseOrderServiceV2 ' 上的 HTTP POST 失败:内部服务器错误 (500)”。现在的请求是从 Oracle Cloud ERP 打印确切的错误消息。当我们从 Postman 运行相同的测试用例时,我们可以在响应正文中看到确切的错误消息,我试图在 mule 记录器中打印相同的响应,并且希望发送与响应有效负载相同的内容,但无法获取它。
我尝试调试 Mule 流并在异常处理程序“On Error Propagate”中停止,并查看所有变量以查看实际的错误响应,但没有找到。请指教!
请查找以下屏幕截图以供参考。
我正在尝试使用 https 客户端 api,它在邮递员(在 800 毫秒内给出响应)和本地骡子流上工作正常,但在 cloudhub 上工作正常。我收到连接超时错误。它尝试连接 30 秒(根据日志),然后给出 HTTP:CONNECTIVITY 错误。
failed: Connect timeout.
errorType=HTTP:CONNECTIVITY
cause=org.mule.extension.http.api.error.HttpRequestFailedException
Run Code Online (Sandbox Code Playgroud)
我设置的响应超时是 5 分钟。之前在 cloudhub 上部署时,流程工作正常。几天前它停止工作,尽管我没有对我的代码进行任何更改。我无法调试这个问题,因为它在我的本地环境中无法重现(它工作得很好)。任何帮助,将不胜感激。
我正在学习Mule Dev 1课程,并且陷入模块内容和我在实践中看到的东西之间。
模块内容指出:
“使用一系列功能时,链中的最后一个功能将首先执行。”
所以
filghts orderBy $.price filter ($.availableSeats > 30)
Run Code Online (Sandbox Code Playgroud)
会“先过滤然后再排序”。
但是,我看到以下语句:
payload.flights orderBy $.price filter $.price < 500 groupBy $.destination
Run Code Online (Sandbox Code Playgroud)
实际上并不首先执行groupBy。实际上,将groupBy放置在其他任何地方都会引发错误(因为更改了groupBy之后的输出架构)。
对于显然为什么不是这样的情况,对于为何模块声明最后一个函数首先执行的问题,这里有何想法?
谢谢!
我们在 TIBCO 中有全局变量概念,在 Mulesoft 中我们有相同的概念吗?
就像设置全局变量一样,以便在运行时或基于环境的部署期间。Mulesoft有类似的案例吗
%dw 2.0
import * from dw::core::Arrays
output application/json
var arr = [0,1,2,4,3]
---
arr filter $ <= 2
Run Code Online (Sandbox Code Playgroud)
和
%dw 2.0
import * from dw::core::Arrays
output application/json
var arr = [0,1,2,4,3]
---
arr takeWhile $ <= 2
Run Code Online (Sandbox Code Playgroud)
它们都给出相同的结果。有什么区别吗?
当我用“”替换所有有效负载 env 和 xmlns 时,我看到类似“当文档没有根时尝试写入 END_DOCUMENT”的错误。
它抛出错误:
Message : "Trying to write END_DOCUMENT when document has no root (ie. trying to output empty document, while writing Xml.
Trace:
at main (Unknown)" evaluating expression: "payload.replaceAll("env:","").replaceAll("xmlns=\"http://decisionresearch.com/RateMaker\"","")".
Element : map_requestFlow/processors/0 @ map_request:map_request.xml:13 (Set Payload)
Element DSL : <set-payload value="#[payload.replaceAll("env:","").replaceAll("xmlns=\"http://decisionresearch.com/RateMaker\"","")]" doc:name="Set Payload" doc:id="7db57e88-dbd4-4a09-ba05-ea37fb9586fc"></set-payload>
Error type : MULE:EXPRESSION
FlowStack : at map_requestFlow(map_requestFlow/processors/0 @ map_request:map_request.xml:13 (Set Payload))
(set debug level logging or '-Dmule.verbose.exceptions=true' for everything)
Run Code Online (Sandbox Code Playgroud)
骡子流:
<flow name="map_requestFlow" doc:id="21d0d652-3766-47ed-95aa-a451f62c5776" >
<http:listener doc:name="Listener" doc:id="7312114b-2857-40b3-98cd-f52b628b3a28" config-ref="HTTP_Listener_config" path="/map"/>
<set-payload …
Run Code Online (Sandbox Code Playgroud) 我有一个简单的日期/时间字符串(欧洲当地夏季/冬季时间),我想转换为 UTC。
我收到的日期看起来像这样
{"message": "2021-05-01 15:39"}
Run Code Online (Sandbox Code Playgroud)
但是像这样使用 LocalDateTime
(payload.message as LocalDateTime {format: "yyyy-MM-dd HH:mm"} >> "UTC")
Run Code Online (Sandbox Code Playgroud)
将提供“2021-05-01T 15 :49:00Z” - 虽然正确(分别是我想要的),但它应该是“2021-05-01T 13 :49:00Z”。
我需要解压缩文件。目前,这是在 Mule 3.x 中用 Java 代码完成的,但需要在 Mule 4 中解压文件,我们如何在 Mule 4 中实现这一点?
尝试在 Mule 4 中使用相同的 Mule 3 Java 代码,但 Mule 4 不支持某些方法/函数。有任何代码片段/建议吗?
mulesoft ×10
dataweave ×4
mule ×4
mule4 ×2
cloudhub ×1
esb ×1
maven ×1
mule-esb ×1
mule-studio ×1
powershell ×1