标签: mule-component

如何在DataWeave Mule esb中忽略空对象

我正在努力改造我的有效载荷.我有这种情况.

输入有效负载如下所示: -

{
 "address": {
    "city": "bab",
    "company_name": "asdast",
    "country_code": "sam",
    "location": {
    "city": null,
    "state": null
  }
}}
Run Code Online (Sandbox Code Playgroud)

我使用%output application/json skipNullOn = "everywhere"它返回我下面的JSON

{
 "address": {
"city": "bab",
"company_name": "asdast",
"country_code": "sam",
"location": { }
}}
Run Code Online (Sandbox Code Playgroud)

但是如果位置对象中的所有字段都是空的,我不希望有空的位置对象.我期待这样的事情

{   
"address": {
"city": "bab",
"company_name": "asdast",
"country_code": "sam"
}}
Run Code Online (Sandbox Code Playgroud)

mule mule-studio mule-el mule-component dataweave

7
推荐指数
1
解决办法
1万
查看次数

无法访问JAVA中的Jira Payload(java.util.Arrays $ ArrayList)

这是我的Flow信息.试图从JIRA获取一个问题,并希望将该问题ID设置为另一个项目.在这里,我想使用Custom Transformer并使用JAVA编码设置所有对象.

<jira:config name="Jira" connectionUser="XXXXXXX" connectionPassword="XXXXX" connectionAddress="http://XXXXXXX/rpc/soap/jirasoapservice-v2" doc:name="Jira">
        <jira:connection-pooling-profile initialisationPolicy="INITIALISE_ONE" exhaustedAction="WHEN_EXHAUSTED_GROW"/>
        <reconnect count="3"/>
    </jira:config>

    <http:listener-config name="HTTP_Listener_Configuration" host="0.0.0.0" port="8081" doc:name="HTTP Listener Configuration"/>


  <flow name="jira-pocFlow">
        <http:listener config-ref="HTTP_Listener_Configuration" path="/input" doc:name="HTTP"/>
        <jira:get-issues-from-jql-search config-ref="Jira" jqlSearch="id=MRT-75" maxNumResults="100" doc:name="Jira"/>
        <set-variable variableName="payload" value="#[payload[0]]" doc:name="Variable"/>
        <component class="JIRATransformer" doc:name="Java"/>
        <jira:create-issue-using-object config-ref="Jira"    doc:name="Jira"   >
            <jira:issue ref="#[message.payload]"/>
        </jira:create-issue-using-object>
        <logger level="INFO" doc:name="Logger"/>
    </flow>
Run Code Online (Sandbox Code Playgroud)

我正在尝试访问JIRA有效负载对象,但它正在抛出Error作为类型转换异常.

@Override
public Object transformMessage(MuleMessage message, String outputEncoding) 
        throws org.mule.api.transformer.TransformerException { 

      ArrayList<com.atlassian.jira.rpc.soap.beans.RemoteIssue> list = new ArrayList(Arrays.asList(message.getPayload()));

    for(RemoteIssue q : (List<RemoteIssue>) list){
        System.out.println("Print AssigneeInfo:->"+q.getAssignee());
    }


 }
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我正在追踪错误.

ERROR 2015-04-15 19:58:59,526 [[jira-poc].HTTP_Listener_Configuration.worker.01] …
Run Code Online (Sandbox Code Playgroud)

jira mule mule-component

6
推荐指数
1
解决办法
400
查看次数

如何在Mulesoft中将睡眠设置为流而不会丢失消息有效负载

我想插入脚本来延迟Mulesoft中的处理流程.我试图在groovy中插入脚本,但我丢失了messagge有效负载,所以当我必须得到消息有效负载recived null指针.我怎么能不丢失消息有效载荷?

谢谢

java groovy mule mule-component

6
推荐指数
1
解决办法
1万
查看次数

如何在客户端使用临时replyTo队列时解决jms服务器性能问题?

我目前正在构建一个使用请求 - 响应jms连接器的Mule ESB服务器应用程序.由于它在高度并发的环境中使用,我们在MQ配置中启用了spring jms缓存.

<spring:beans>
    <mule>
        <!-- MQ Factory -->
        <spring:bean id="testMsgMqFactoryBean1" name="testMsgMqFactory1" class="com.ibm.mq.jms.MQQueueConnectionFactory">
            <spring:property name="channel" value="${test.msg.mq.channel.1}" />
            <spring:property name="queueManager" value="${test.msg.mq.queueManager.1}" />
            <spring:property name="hostName" value="${test.msg.mq.hostName.1}" />
            <spring:property name="port" value="${test.msg.mq.port.1}" />
            <spring:property name="transportType" value="${mq.jms.transportType}" />
        </spring:bean>
        <spring:bean id="testMsgMqFactoryBeanCache1" class="org.springframework.jms.connection.CachingConnectionFactory">
            <spring:property name="targetConnectionFactory" ref="testMsgMqFactoryBean1" />
            <spring:property name="sessionCacheSize" value="${test.threading.profile.maxThreadsActive}" />
            <spring:property name="cacheConsumers" value="false" />
            <!-- <spring:property name="cacheProducers" value="false" /> -->
        </spring:bean>
        <!-- MQ Connector 1 -->
        <jms:custom-connector name="testMsgMqConnector.1" class="org.mule.transport.jms.websphere.WebsphereJmsConnector" doc:name="Custom JMS">
            <spring:property name="specification" value="1.1" />
            <spring:property name="connectionFactory" ref="testMsgMqFactoryBeanCache1" />
            <spring:property name="persistentDelivery" value="false" /> …
Run Code Online (Sandbox Code Playgroud)

spring mule spring-jms mule-component ibm-mq

5
推荐指数
1
解决办法
1338
查看次数

ule子-如何在http:listener中使用set-session-variable?

我的M子里composite-source有两个http:listener

在收到来自这些侦听器的请求之后,我想基于每个侦听器设置一个变量;

但是在mule 3.6.0中部署时会发生此错误:

org.mule.module.launcher.DeploymentInitException: SAXParseException: cvc-complex-type.2.4.a: Invalid content was found starting with element 'set-session-variable'. One of '{"http://www.mulesoft.org/schema/mule/core":annotations, "http://www.mulesoft.org/schema/mule/http":response-builder, "http://www.mulesoft.org/schema/mule/http":error-response-builder}' is expected.
Run Code Online (Sandbox Code Playgroud)

我该怎么办??

这是我的代码:

<composite-source doc:name="Composite Source">
  <http:listener config-ref="HTTP_Listener_Configuration_Source1"
    path="/" doc:name="HTTP">
        <set-session-variable doc:name="Session Variable" value="#[x]" variableName="x" />
  </http:listener>
  <http:listener config-ref="HTTP_Listener_Configuration_Source2"
                path="/" doc:name="HTTP">
        <set-session-variable doc:name="Session Variable" value="#[y]" variableName="x" />
  </http:listener>
</composite-source>
Run Code Online (Sandbox Code Playgroud)

PS我已经做到了 http:inbound-endpoint

session-variables httplistener mule mule-studio mule-component

5
推荐指数
1
解决办法
372
查看次数

无法从 Mule 4.2 中的 HTTP 请求连接器读取准确的错误响应正文

我们使用 REST API 以 XML 格式将 PO 数据发布到 Oracle 实例。在失败的情况下,它只是来自 error.description 示例的打印消息“资源 ' https://hostname:post/fscmService/PurchaseOrderServiceV2 ' 上的 HTTP POST 失败:内部服务器错误 (500)”。现在的请求是从 Oracle Cloud ERP 打印确切的错误消息。当我们从 Postman 运行相同的测试用例时,我们可以在响应正文中看到确切的错误消息,我试图在 mule 记录器中打印相同的响应,并且希望发送与响应有效负载相同的内容,但无法获取它。

我尝试调试 Mule 流并在异常处理程序“On Error Propagate”中停止,并查看所有变量以查看实际的错误响应,但没有找到。请指教!

请查找以下屏幕截图以供参考。

在此输入图像描述

在此输入图像描述

在此输入图像描述

mule mule-studio mule-component mule-esb mulesoft

5
推荐指数
1
解决办法
6045
查看次数

如何在Mule组件中创建JavaScript Hello World

我正在尝试在Mule组件中构建一个简单的脚本,但我似乎无法找到有关如何让我入门的任何文档.

JavaScript的组件引用分享关于如何得到的东西简单的运行没有任何想法.

mule mule-component

4
推荐指数
1
解决办法
4156
查看次数

如何读取mule esb中的参数

我正在向mule发送一些参数,它正在通过我发送的8081中的http入站进行监听.

http://localhost:8081/hey?age=manoj
Run Code Online (Sandbox Code Playgroud)

但我不知道我怎么能从消息中得到这个?我知道我可以从消息和有效负载访问它,但是当我尝试这样做时

#[message payload: ['age']]
Run Code Online (Sandbox Code Playgroud)

我收到错误,有效载荷是一个字符串类型,我非常混淆骡子.我想要年龄价值.

java mule mule-el mule-module-jpa mule-component

4
推荐指数
1
解决办法
6139
查看次数

如何在Data weaver中检查null条件:Mule

这是我的xml,首先我需要检查'RecordsEntries'不应该是'null',然后RecordEntry不应该null跟随映射代码

<?xml version="1.0" encoding="UTF-8"?>
<Records>
  <storenumber />
  <calculated>false</calculated>
  <subTotal>12</subTotal>
 <RecordsEntries>
   <RecordEntry>
     <deliverycharge>30.0</deliverycharge>
     <entryNumber>8</entryNumber>
     <Value>true</Value>
  </RecordEntry>
  <RecordEntry>
    <deliverycharge>20.0</deliverycharge>
    <entryNumber>7</entryNumber>
    <Value>false</Value>
  </RecordEntry>
</RecordsEntries>
 <RecordsEntries>
    <RecordEntry>
      <deliverycharge>30.0</deliverycharge>
      <entryNumber>8</entryNumber>
      <Value>false</Value>
    </RecordEntry>
 </RecordsEntries>
</Records>
Run Code Online (Sandbox Code Playgroud)

尝试多个场景也使用when条件检查,但某处缺少括号或正确的格式

    orders: {
    order: {
  StoreID: payload.Records.storenumber,
  Total: payload.Records.calculated,
 (( payload.Records.RecordsEntries.*RecordEntry ) map {
    IndividualEntry: {
    Number:$.entryNumber,
    DeliverCharge:$.deliverycharge
    }
  } when ( payload.Records.RecordsEntries != null and payload.Records.RecordsEntries.*RecordEntry !=null))}
}
Run Code Online (Sandbox Code Playgroud)

像失踪一样得到错误).通过在第一个循环内直接检查null条件来尝试其他方式得到了错误,例如"无法将数组强制转换为布尔值".请建议.谢谢.

mule mule-studio mule-el mule-component

4
推荐指数
1
解决办法
1万
查看次数

mule esb 中不同级别的日志记录有什么区别?

在 mule esb 中,当我拖动记录器组件时,我可以看到有 5 个日志级别:

调试、错误、信息、跟踪和警告。这5个有什么区别,什么时候用什么?

提前致谢

logging mule log4j2 mule-component

2
推荐指数
1
解决办法
2854
查看次数