Mule是一个基于Java的轻量级企业服务总线(ESB)和集成平台,允许开发人员快速,轻松地将应用程序连接在一起,使他们能够交换数据。无论应用程序使用何种不同的技术,Mule都可以轻松集成现有系统,包括JMS,Web服务,JDBC,HTTP等。
在 mule 4 中将日期时间转换为 salesforce 所需的日期时间格式
对于日期时间“2022-11-29T19:12:21Z”,从 salesforce 获取 INVALID_TYPE_ON_FIELD_IN_RECORD 错误。因此需要将其转换为 Salesforce 接受的正确格式。 输入:“2022-11...
Mule 4.5 抛出 ORA-01000:超出最大打开游标数
我正在使用针对 Oracle 数据库实例运行的 Mule 4.5 Oracle Database 19c 企业版版本 19.0.0.0.0 - 生产 我正在运行的 mule 代码由调度程序驱动并运行在...
我有以下输入 JSON { "列表价格": "1245678.98" } 我需要将其格式化为以下格式 { “列表价格”:“1 245 678,99” } 目前我是
我需要读取mule项目版本并将其返回给客户。下面是我的 mavenized mule 项目的 pom.xml 文件。 我需要读取 mule 项目版本并将其返回给客户。下面是我的 mavenized mule poject 的 pom.xml 文件。 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.mycompany</groupId> <artifactId>testproject</artifactId> <packaging>mule</packaging> <version>1.0.0-SNAPSHOT</version> . . . </project> 我想从 pom 文件中读取上述版本值(1.0.0-SNAPSHOT)。 有人可以帮忙吗?如何以推荐的方式获取项目版本。 提前致谢。 您可以在过滤变量中使用 ${pom.version} ,以便您可以在属性文件中检索它。 想象一个文件 src/main/resources/version.properties 其中包含: 版本=${pom.version} 然后您可以使用 Properties 对象: Properties p = new Properties(); p.load(getClass().getResourceAsStream("/version.properties"); final String version = p.getProperty("version"); 如果您使用 Maven,我想游览应用程序将在其名称中包含版本,例如 mule-app-1.0.0-SNAPSHOT。使用 Mule 表达式语言提取应用程序名称 (app.name),如下所述:http://www.mulesoft.org/documentation/display/current/Mule%2BExpression%2BLanguage 然后使用正则表达式从名称中提取版本,并使用 http 入站端点返回值。 您有权访问 pom 文件吗?或者来自 mule 的 .zip 文件? 如果您有权访问 pom.xml 文件,很容易获取版本。 您需要解组功能: 1.- 创建一个名为“project”的 bean,其中包含 groupId、artifactId 等和 version 属性(当然是 setter 和 getter)。 2.- 使用 unmarshall 功能将 pom.xml 解析为项目 bean : http://lstierneyltd.com/blog/development/examples/java-to-xml-xml-to-java-marshalling-and-unmarshalling/ JAXBContext jc = JAXBContext.newInstance(Project.class); Unmarshaller u = jc.createUnmarshaller(); File f = new File("pom.xml"); Project project = (Project) u.unmarshal(f); 3.- 只需获取版本属性: System.out.println(project.getVersion()); 问候。 我使用这段代码得到了POM版本: app.muleContext.config.artifactCoordinates.version 但目前仅在本地测试过
我正在寻求有关如何限制客户端应用程序访问 Mule API 中的某些端点/资源的建议。该用例与本文中概述的内容一致:https://help.salesforce.co...
如何在 Mulesoft 中使用 api 或查询获取 Salesforce 对象的描述?
我有一个要求,我需要在 Mulesoft 中检索 Salesforce 对象(标准或自定义)的描述。例如,在下图中,描述是“这是测试对象”。 我有
Cyber Ark Spring 配置(带 Mule ESB)
我正在尝试将 Cyber Ark(安全管理)与 Spring 集成,我们使用 Mule 作为我们的 ESB 我正在尝试将 Cyber Ark(安全管理)与 Spring 集成,我们使用 Mule 作为我们的 ESB <jms:connector name="jmsConnector" jndiProviderUrl="${tibjmsURL}" connectionFactoryJndiName="${tibjmsConnFactory}" username="${tibjndiUser}" jndiInitialFactory="${tibjndiInitialFactoryClassName}" specification="1.1" createMultipleTransactedReceivers="true" numberOfConcurrentTransactedReceivers="1" > <spring:property name="password"> <ref bean="idsJmsPassword"/> </spring:property> 我正在尝试从网络方舟获取我的密码,该密码是作为 Spring bean 注入的。以前有人这样做过吗?如何将密码注入 JMS 连接器(代码中显示标签)?目前它从属性文件加载它。 我已经使用 Mule 3.1.2 测试了上面的配置,并且假设您将 ref 元素修复为 Spring 命名空间: <spring:ref bean="idsJmsPassword"/> 并且提供 idsJmsPassword 实际上是一个字符串,我确认在 org.mule.transport.jms.JmsConnector 上调用 setPassword(),其值为 idsJmsPassword。 这应该能让你实现你的目标。 使用 Mule ESB 配置 CyberArk 可以简化凭证管理并增强安全性。确保正确的集成和配置是有效利用 CyberArk 功能的关键。有关设置此类集成的其他提示和详细指导,wizlynxgroup.com 提供了有关安全解决方案和最佳实践的宝贵资源。
如何在 MUnit 中使用内部负载 (error.errorMessage.payload) 引发自定义错误
我有一个流程正在对 REST Web 服务进行 HTTP 调用。我们收到几个错误,statusCode=500,但在响应正文中具有不同的“errorCodes”。这个
我想根据B列的情况更新输入csv文件的A列。我们如何在dataweave中实现这一点?
“身份证”、“姓名”、“工资”、“地点”、“日期” 123,"甘尼什",10000,"浦那","02/22/2020" 234、“桑克特”、20000、“孟买&
我正在尝试使用 GET-Product 操作通过 mule 中的 Magneto 连接器从 Magneto 获取产品信息,但我收到此错误:产品不存在,尽管通过 SOAP UI 进行了测试并工作正常...
Mule 4 debug如何在studio中维护调试语句的历史记录
在 Mule 4 Anypoint Studio 中,当我调试应用程序时,很多时候我需要以 json 格式查看有效负载,因此在调试视图中我会转到此处: 评估 Dataweave 表达式 这里每...
我想更新输入csv文件的A列基础B列的条件。我们如何在dataweave中实现这一点?
“身份证”、“姓名”、“工资”、“地点”、“日期” 123,"甘尼什",10000,"浦那","02/22/2020" 234、“桑克特”、20000、“孟买&
下载 API 规范时出现 MuleSoft DependencyResolutionException
我们在从 AnyPoint Platform 下载 RAML 到 Studio 时遇到了一个棘手的问题。我在这里附上错误日志。我们目前的所有 API 都没有发生这种情况。我可以
我有巨大的嵌套 JSON,它正在作为 API 的 n 输入提供。输入 JSON 如下所示: [{ “ID”:“123456”, "帐号": "876545", ”
如何使用Dataweave将下面的json(可以有多个嵌套对象)转换为所需的输出?
输入: { “拖”: { “杂项”:{ “程序”:{ “ID”: { “类型”:“名称”,...
我在 mule 4 中从 http 请求者调用其余 api 时遇到问题,其中其余 api 期望标头中的 Key 为大写格式,如 Key 和我仅在 hea 中以大写格式定义...
如何在 mule 4 中使用 google-play-scraper python 脚本
我的要求是使用python脚本在mule4中使用google play scraper脚本。 我正在关注此门户 https://pypi.org/project/google-play-scraper/ 来获取 python 脚本。 Jython 引擎...
Salesforce create-job-bulk-api-v2 UpdateOnly 的更新插入操作
我在Mule 4中使用salesforce create-job-bulk-api-v2和Upsert操作,并按照本文档https://developer.salesforce.com/docs/atlas.en-us.250.0.api_rest。元/api_rest/
Mule 4 Anypoint mq 订阅者 - 断路器以任何方式在日志中打印以指示断路器已激活且消息不会被处理?
这个后续问题是针对之前提出的问题: 现在,由于之前问题的答案,断路器正在工作。 现在作为后续 - 有没有一种方法可以让我们在日志中打印......
Mule 4 Anypoint mq 订阅者 - 断路器不工作
我正在尝试实现断路器模式。使用骡子 4.4。 我正在使用来自 Anypoint MQ 队列的消息,然后尝试调用下游 api 这是代码: 我正在尝试实现断路器模式。使用 Mule 4.4。 我正在使用来自 Anypoint MQ 队列的消息,然后尝试调用下游 api 这是代码: <flow name="create-emp-flow"> <anypoint-mq:subscriber doc:name="Subscriber - Create user" config-ref="Anypoint_MQ_Configuration" destination="emp.create.queue}" acknowledgementMode="AUTO"> <redelivery-policy maxRedeliveryCount="1"/> <anypoint-mq:circuit-breaker tripTimeout="150000" onErrorTypes="HTTP:INTERNAL_SERVER_ERROR,MULE:UNKNOWN" errorsThreshold="3"/> </anypoint-mq:subscriber> <http:request method="GET" doc:name="HACK - Mock CALL return a ISE500" config-ref="MOCK_Request_Configuration" path="/emp" > <http:response-validator > <http:success-status-code-validator values="200" /> </http:response-validator> </http:request> <error-handler > <on-error-continue enableNotifications="true" logException="true" doc:name="On Error Continue" type="MULE:REDELIVERY_EXHAUSTED"> <anypoint-mq:publish doc:name="Publish to DLQ" config-ref="Anypoint_MQ_Configuration" destination="emp.dlq" /> </on-error-continue> <on-error-propagate enableNotifications="true" logException="true" doc:name="On Error Propagate" > <logger .../> </on-error-propagate> </error-handler> </flow> 所以顺序是: #1 从队列中消费消息 ( maxRedeliveryCount=1 ) #2 然后调用 HTTP 端点 - 这里我故意返回 500 ISE 错误 注意 - 订阅者配置有 Circuit breaker 和 maxThreshhold = 3 以及触发断路器的错误类型为 HTTP:INTERNAL_SERVER_ERROR,MULE:UNKNOWN #3 现在,由于 HTTP 调用返回 ISE,Mule 中的异常显示为 HTTP:INTERNAL_SERVER_ERROR,这就是我想要生成的 现在,由于我已经配置了重新投递,消息会再次重试,并且在失败时再次重试,我们达到了条件MULE:REDELIVERY_EXHAUSTED,因此消息被发布到DLQ 到目前为止一切都很好。现在,我向队列发布多条消息,并观察到与上述相同的行为 现在我希望断路器在第三条消息被消耗、重试并发布到 DLQ 后启动。第 3 条消息预计在 2.5 分钟过去后才会消耗后续消息 然而,订阅者似乎很高兴地消费消息,没有任何断路器启动的迹象。 注意 - 我想使用 <redelivery-policy maxRedeliveryCount="1"/> 并且不依赖于 Anypointmq 队列上配置的最大交付量(默认为 10) 所以不确定为什么断路器没有启动? 来自 连接器文档 如果 Mule 流完成执行时出现错误,订阅者源会检查该错误是否是指示外部服务错误的 onErrorType 之一,并计算连续发生的次数,直到达到 errorThreshold。 因此,错误应该是连续的,才能将电路转换为“开路”状态。您的实现问题在于您有 on-error-continue 表示 REDELIVERY_EXHAUSTED 错误,这意味着订阅者会将轮询的执行视为成功而不是错误。因此它将停止电路进入开路状态并且错误计数器将重置 为了使其与 redelivery-policy 一起使用,您需要进行以下更改 将 on-error-continue 更改为 on-error-propogate 将订阅者配置为使用手动确认模式而不是自动 在 on-error-propogate 错误处理程序中添加 ACK,以从 MQ 中删除消息在流程末尾添加 ACK 以从 MQ 中删除消息 默认添加NACKREDELIVERY_EXHAUSTED以保留下一次轮询的消息 这将使源不会将on-error-propogate视为成功,并且电路应在连续 3 个错误后打开(即REDELIVERY_EXHAUSTED)