Skip to main content
Group

MuleSoft Training: Fundamentals Mule 3

Ask questions, get answers, and share your knowledge about the instructor-led versions of Getting Started Started with Anypoint Platform (Mule 3).
9 answers
  1. Sep 17, 2017, 2:41 AM

    @sherbyr ,

     

    Yes it got resolved once I updated the version of Anypoint studio from 6.2.5 to 6.3.0.

    But I am really not sure why that option was not present in version 6.2.5.!

0/9000

I am currently MCD-Integration and API Associate. My immediate goal is to take more certifications. I am eyeing MCD-Integration Professional, API Design Associate, or/and Architect Specifications.

 

The biggest challenge I face is the lack of documentation. The primary resource I find are instructor led courses that cost a decent amount of money.

 

Is there a way to study for these exams without going through instructors? Are there recommended books or materials?

12 answers
  1. Jan 11, 2019, 5:53 PM

    @mulsoft "Mule in Action 2nd edition" is quite an old and not relevant after Mule 3.6 which has phenomenal changes in components like http, database, splitters, flows, processing-strategies,exception, message structure, mel expression and almost everything in Mule and ESB which is a API driven in today's world.

    It was one of the great book though in early 2012-2016 period of time covering almost everything and I would not suggest anyone to go through that with today's Mule 3.7+ to Mule 4 .

     

    It would have been great if the author would had brought a new edition of that book say part 3 to cover the latest Mule feature, but on a discussion with the author (who is also a good friend of mine), there is very less chance he could bring that :)

0/9000

I'm trying to understand the difference between session variables and flow variables. From what I understood from the training videos, the difference lies in the scope of these variables. Session variables are meant to persist between flows, but flow variables are not supposed to persist.

 

In practice, I have found that if I use a flow variable, and use a flow reference to call a separate flow (not a subflow) I can still see this flow variable. Similarly, if I set a flow variable in a referenced flow, once I am back in the calling flow, I can see the flow variable. Surely I shouldn't be able to see a flow variable once I have left the flow which sets the variable?

 

(duplicating this question as my previous one isn't passing moderation... not sure why?)

19 answers
0/9000

Hello, I am new to Mulesoft.

 

I would like to build an HTTP GET REST API that retrieves reference data stored on some kind of JSON property file residing on the Mulesoft ESB runtime. This property file stores small map of key value pairs in JSON format. How best to achieve as I do not want to use File Connector as the inbound endpoint or outbound endpoint? Instead I will be using HTTP Connector for my request and response end point.

 

Sample reference data stored in "sample-${env}.json" property file. There will be 3 versions of the "sample-${env}.json" property for each of the 3 runtime environments (DEV, TEST, PROD) as the values will be different (e.g. "sample-DEV.json", "sample-TEST.json" , "sample-PROD.json" ).

[

{

"country": "Canada",

"code": "CA"

},

{

"country": "United States",

"code": "US"

}

]

 

Thanks, Paul

6 answers
  1. Oct 15, 2016, 11:45 AM

    - Requester can accept connector reference here you can add global file connector with auto delete false with pass reference of that connector to requester as connector=File_connector_name

    - Query "?connector=File" is for passing connector reference you can also pass any file connector attribute like this even autoDelete=false

    - You can evaluate any mule expression for setting resource name, here filename is set into flowvars before Mule requester then referred in requester resource name instead of any hard coded value.

    - No need to add return class. You can add `<json:object-to-json-transformer doc:name="Object to JSON"/>` for converting to JSON or use dataweave for the same.

     

    Hope this helsp.

0/9000

Hi All,

 

I have a question regarding properties file being used during deployment. I have a mule flow and defined property place holder with 2 locations.

 

<context:property-placeholder location="classpath:prop-file1.properties, file:///Users/AnypointStudio/myWorkspace/my-ws/src/main/resources/prop-file2.properties"/>

 

My question is when I deploy the application, what file would be used as for reading properties from the file ? Would any file override the properties of the other file ?

 

Appreciate your help.

 

Regards,

Karan

7 answers
  1. Aug 6, 2017, 3:07 PM

    It will read properties from all files. system.properties will precede others. Properties written in email.properties overridden by http.properties and Properties written in http.properties overridden by system.properties file.

0/9000
5 answers
  1. Sep 29, 2016, 7:10 AM

    There is no fixed schedule foe Exam. You can see launch link in snapshot you attached. You can start exam whenever you want.

0/9000

Hi All,

Hope every one doing Good!!!

 

I have an XML file i what to extract those values

 

Here are my xml file.

 

<machineNumber>00000001</machineNumber>

<concessionUnitType>NONE</concessionUnitType>

<machineType>SCHAERER</machineType>

<customerNumber>69990005</customerNumber>

<equipmentLocation>REM</equipmentLocation>

<installedDate>2013-08-01T00:00:00.000+0000</installedDate>

Please guide me in right path.

 

Thanks & Regards,

Seshubabu

7 answers
  1. Sep 14, 2016, 11:41 AM

    You can either use xpath MEL or dataweave to transform input XML.

    With Dataweave you can transform XML to java object and access fields like payload..data.machineNumber

     

    <dw:transform-message doc:name="Transform Message">

    <dw:input-payload mimeType="application/csv" doc:sample="sample_data\empty.xml">

    <dw:reader-property name="separator" value=";"/>

    </dw:input-payload>

    <dw:set-payload><![CDATA[%dw 1.0

    %output application/java

    ---

    payload

    ] ]></dw:set-payload>

    </dw:transform-message>

     

    I have assumed XML root as 'data' you can mention your XML root tag.

     

    For xpath more details can be found at

    https://docs.mulesoft.com/mule-user-guide/v/3.8/xpath

0/9000

I'm trying to understand the difference between session variables and flow variables. From what I understood from the training videos, the difference lies in the scope of these variables. Session variables are meant to persist between flows, but flow variables are not supposed to persist.

 

In practice, I have found that if I use a flow variable, and use a flow reference to call a separate flow (not a subflow) I can still see this flow variable. Similarly, if I set a flow variable in a referenced flow, once I am back in the calling flow, I can see the flow variable. Surely I shouldn't be able to see a flow variable once I have left the flow which sets the variable?

16 answers
  1. May 12, 2016, 10:30 AM

    This is a duplicate question

0/9000

Postman call: http://localhost:8081/united

Response code 404 mapped as failure. Message payload is of type: BufferInputStream

 

HTTP Listener Configs:

Host: All Interfaces [0.0.0.0] (Default)

Port: 8081

Path: /united

 

HTTP Request Configs:

Host: mu.mulesoft-training.com

Port: 80

Base Path: /essentials/united/flights

URL Settings Path: /essentials/united/flights

 

In Postman the URL http://mu.mulesoft-training.com/essentials/united/flights returns all flight data as you would expect.

 

{

"flights": [

{

"airlineName": "United",

"price": 400,

"departureDate": "2015/03/20",

"planeType": "Boeing 737",

"origin": "MUA",

"code": "ER38sd",

"emptySeats": 0,

"destination": "SFO"

},

{

"airlineName": "United",

"price": 345.99,

"departureDate": "2015/02/11",

"planeType": "Boeing 737",

"origin": "MUA",

"code": "ER45if",

"emptySeats": 52,

"destination": "LAX"

},

{

"airlineName": "United",

"price": 346,

"departureDate": "2015/04/11",

"planeType": "Boeing 777",

"origin": "MUA",

"code": "ER45jd",

"emptySeats": 12,

"destination": "LAX"

},

 

I'm on a personal machine and not behind a firewall.

12 answers
  1. Jan 21, 2016, 2:18 PM

    Try the following example here :-

     

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

    <http:request-config name="HTTP_Request_Configuration" host="mu.mulesoft-training.com" port="80" basePath="/essentials/united/flights" doc:name="HTTP Request Configuration"/>

    <flow name="getUnitedFlightsFlow">

    <http:listener config-ref="HTTP_Listener_Configuration" path="/united" allowedMethods="GET" doc:name="HTTP"/>

    <http:request config-ref="HTTP_Request_Configuration" path="/" method="GET" doc:name="HTTP"/>

    </flow>

     

    Now, if you hit the url :- http://localhost:8081/united it will wok fine as you can see in the following screenshots :-

    Try the following example here :- <http:listener-config name=

     

0/9000

Hi, I am into 2nd week training of MuleSoft.U Developer Essentials (Feb 10 - April 6, 2016) batch. I am getting error while Consuming the SOAP based web service for getUnitedFlightsFlow. Below is the error.

 

INFO 2016-02-19 19:38:53,650 [main] org.mule.lifecycle.AbstractLifecycleManager: Initialising model: _muleSystemModel

INFO 2016-02-19 19:38:53,655 [main] org.mule.construct.FlowConstructLifecycleManager: Initialising flow: getDeltaFlightsFlow

INFO 2016-02-19 19:38:53,655 [main] org.mule.exception.DefaultMessagingExceptionStrategy: Initialising exception listener: org.mule.exception.DefaultMessagingExceptionStrategy@7f749872

INFO 2016-02-19 19:38:53,676 [main] org.mule.processor.SedaStageLifecycleManager: Initialising service: getDeltaFlightsFlow.stage1

Retrieving document at 'http://mu.mulesoft-training.com/essentials/delta?wsdl'.

INFO 2016-02-19 19:38:54,717 [main] org.mule.lifecycle.AbstractLifecycleManager: Disposing RegistryBroker

INFO 2016-02-19 19:38:54,720 [main] org.mule.construct.FlowConstructLifecycleManager: Disposing flow: getDeltaFlightsFlow

INFO 2016-02-19 19:38:54,721 [main] org.mule.processor.SedaStageLifecycleManager: Disposing service: getDeltaFlightsFlow.stage1

INFO 2016-02-19 19:38:54,723 [main] org.mule.construct.FlowConstructLifecycleManager: Disposing flow: getUnitedFlightsFlow

ERROR 2016-02-19 19:38:54,723 [main] org.mule.construct.Flow: Failed to stop service: getUnitedFlightsFlow

org.mule.api.lifecycle.LifecycleException: null

at org.mule.lifecycle.AbstractLifecycleManager.invokePhase(AbstractLifecycleManager.java:153) ~[mule-core-3.7.3.jar:3.7.3]

at org.mule.construct.FlowConstructLifecycleManager.fireDisposePhase(FlowConstructLifecycleManager.java:144) ~[mule-core-3.7.3.jar:3.7.3]

at org.mule.construct.AbstractFlowConstruct.dispose(AbstractFlowConstruct.java:162) ~[mule-core-3.7.3.jar:3.7.3]

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_71]

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[?:1.7.0_71]

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.7.0_71]

at java.lang.reflect.Method.invoke(Method.java:606) ~[?:1.7.0_71]

at org.mule.lifecycle.phases.DefaultLifecyclePhase.applyLifecycle(DefaultLifecyclePhase.java:237) ~[mule-core-3.7.3.jar:3.7.3]

at org.mule.lifecycle.phases.MuleContextDisposePhase.applyLifecycle(MuleContextDisposePhase.java:102) ~[mule-core-3.7.3.jar:3.7.3]

at org.mule.config.spring.SpringRegistryLifecycleManager$SpringContextDisposePhase.applyLifecycle(SpringRegistryLifecycleManager.java:141) ~[mule-module-spring-config-3.7.3.jar:3.7.3]

at org.mule.lifecycle.RegistryLifecycleCallback.doApplyLifecycle(RegistryLifecycleCallback.java:91) ~[mule-core-3.7.3.jar:3.7.3]

at org.mule.lifecycle.RegistryLifecycleCallback.onTransition(RegistryLifecycleCallback.java:67) ~[mule-core-3.7.3.jar:3.7.3]

at org.mule.lifecycle.RegistryLifecycleManager.invokePhase(RegistryLifecycleManager.java:140) ~[mule-core-3.7.3.jar:3.7.3]

at org.mule.lifecycle.RegistryLifecycleManager.fireLifecycle(RegistryLifecycleManager.java:111) ~[mule-core-3.7.3.jar:3.7.3]

at org.mule.registry.AbstractRegistry.dispose(AbstractRegistry.java:68) ~[mule-core-3.7.3.jar:3.7.3]

at org.mule.registry.AbstractRegistryBroker$2.onTransition(AbstractRegistryBroker.java:69) ~[mule-core-3.7.3.jar:3.7.3]

at org.mule.registry.AbstractRegistryBroker$2.onTransition(AbstractRegistryBroker.java:64) ~[mule-core-3.7.3.jar:3.7.3]

at org.mule.lifecycle.RegistryLifecycleManager.invokePhase(RegistryLifecycleManager.java:140) ~[mule-core-3.7.3.jar:3.7.3]

at org.mule.lifecycle.RegistryBrokerLifecycleManager.fireDisposePhase(RegistryBrokerLifecycleManager.java:82) ~[mule-core-3.7.3.jar:3.7.3]

at org.mule.registry.AbstractRegistryBroker.dispose(AbstractRegistryBroker.java:63) ~[mule-core-3.7.3.jar:3.7.3]

at org.mule.registry.MuleRegistryHelper.fireLifecycle(MuleRegistryHelper.java:137) ~[mule-core-3.7.3.jar:3.7.3]

 

Below is my code:-

 

[37824-snippet-1.txt]

 

Can you please help me out why I am getting this error?

9 answers
  1. Feb 19, 2016, 8:07 PM

    I tried your code and was successfully deployed and also able to call all the flows and get the response from all the flows.

    The following screenshots is for your reference:-

    I tried your code and was successfully deployed and also able to call all the flows and get the response from all the flows.

     

    and also this flow :-

    untitled.png

     

0/9000