I am trying to deploy a mule app via mule standalone 3.7.0 but I'm getting an error, even though it works perfect via anypoint studio version 5.4.1 using 3.7.2 mule server. note: I have created a zip folder via anypoint studio.
This is my flow:
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:amqp="http://www.mulesoft.org/schema/mule/amqp" xmlns:mulexml="http://www.mulesoft.org/schema/mule/xml" xmlns:magento="http://www.mulesoft.org/schema/mule/magento" xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:spring="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/magento http://www.mulesoft.org/schema/mule/magento/current/mule-magento.xsd
http://www.mulesoft.org/schema/mule/xml http://www.mulesoft.org/schema/mule/xml/current/mule-xml.xsd
http://www.mulesoft.org/schema/mule/amqp http://www.mulesoft.org/schema/mule/amqp/current/mule-amqp.xsd">
<amqp:connector name="AMQPConnector"
validateConnections="true"
doc:name="AMQPConnector"
/>
<magento:config name="Magento" username="test" password="test" address="http://127.0.0.1:8000/api/v2_soap/" doc:name="Magento"/>
<flow name="flow">
<amqp:inbound-endpoint queueName="test" responseTimeout="10000" exchange-pattern="request-response" connector-ref="AMQPConnector" doc:name="AMQP-0-9" exchangeType="topic"/>
<logger message="test!!" level="INFO" doc:name="Logger"/>
<magento:get-product config-ref="Magento" productId="1" doc:name="Magento">
<magento:attributes-names>
<magento:attributes-name>sku</magento:attributes-name>
</magento:attributes-names>
</magento:get-product>
<mulexml:object-to-xml-transformer doc:name="Object to XML"/>
<logger message="#[payload]" level="INFO" doc:name="Logger"/>
<set-payload value="payload: #[payload]" doc:name="Set Payload"/>
</flow>
</mule>
This is he error:
ERROR 2016-01-10 18:40:46,877 [Mule.app.deployer.monitor.1.thread.1] org.mule.module.launcher.DefaultArchiveDeployer:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Failed to deploy artifact 'alone', see below +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
org.mule.module.launcher.DeploymentInitException: SAXParseException: cvc-complex-type.2.4.a: Invalid content was found starting with element 'amqp:connector'. One of '{"http://www.mulesoft.org/schema/mule/core":annotations, "http://www.mulesoft.org/schema/mule/core":description, "http://www.springframework.org/schema/beans":beans, "http://www.springframework.org/schema/beans":bean, "http://www.springframework.org/schema/context":property-placeholder, "http://www.springframework.org/schema/beans":ref, "http://www.mulesoft.org/schema/mule/core":global-property, "http://www.mulesoft.org/schema/mule/core":configuration, "http://www.mulesoft.org/schema/mule/core":notifications, "http://www.mulesoft.org/schema/mule/core":abstract-extension, "http://www.mulesoft.org/schema/mule/core":abstract-shared-extension, "http://www.mulesoft.org/schema/mule/core":abstract-mixed-content-extension, "http://www.mulesoft.org/schema/mule/core":abstract-agent, "http://www.mulesoft.org/schema/mule/core":abstract-security-manager, "http://www.mulesoft.org/schema/mule/core":abstract-transaction-manager, "http://www.mulesoft.org/schema/mule/core":abstract-shared-transaction-manager, "http://www.mulesoft.org/schema/mule/core":abstract-connector, "http://www.mulesoft.org/schema/mule/core":abstract-shared-connector, "http://www.mulesoft.org/schema/mule/core":abstract-global-endpoint, "http://www.mulesoft.org/schema/mule/core":abstract-exception-strategy, "http://www.mulesoft.org/schema/mule/core":abstract-flow-construct, "http://www.mulesoft.org/schema/mule/core":flow, "http://www.mulesoft.org/schema/mule/core":sub-flow, "http://www.mulesoft.org/schema/mule/core":abstract-model, "http://www.mulesoft.org/schema/mule/core":abstract-interceptor-stack, "http://www.mulesoft.org/schema/mule/core":abstract-filter, "http://www.mulesoft.org/schema/mule/core":abstract-transformer, "http://www.mulesoft.org/schema/mule/core":processor-chain, "http://www.mulesoft.org/schema/mule/core":custom-processor, "http://www.mulesoft.org/schema/mule/core":abstract-empty-processor, "http://www.mulesoft.org/schema/mule/core":invoke, "http://www.mulesoft.org/schema/mule/core":set-payload, "http://www.mulesoft.org/schema/mule/core":abstract-global-intercepting-message-processor, "http://www.mulesoft.org/schema/mule/core":custom-queue-store, "http://www.mulesoft.org/schema/mule/core":abstract-processing-strategy}' is expected.
Any ideas how to fix?
You are probally missing the dependency for the AMQP connector in your POM if you have a maven project.
<dependency>
<groupId>org.mule.transports</groupId>
<artifactId>mule-transport-amqp</artifactId>
<version>x.y.z</version>
</dependency>
Hope this helps
As stated above, you are probably missing activemq connector jar files, if you are using maven, place it on your pom and let it download the prescribed version for example:
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-all</artifactId>
<version>5.13.2</version>
</dependency>
http://activemq.apache.org/download.html
Hope this helps.
Hi i think amqp:connector is not present in your AnyPoint studio.
Go thru Help --> Install new Sofware --> select Anypoint Connectors Update Site - http://repository.mulesoft.org/connectors/releases/3.5.0.
Hope this helps as mentioned by others above.
This Error is thrown because ampq:connector is used in your flow, not installed in your setup.
To install ampq:connector , go to Help-> Install new Software -> http://repository.mulesoft.org/connectors/releases/3.5.0
and install following package from the list.
Than install Mule AMPQ Tranpost package and restart your Anypoint Studio.
This will solve your Problem.
Try changing your namespace reference from current to:
"http://www.mulesoft.org/schema/mule/amqp/3.1/mule-amqp.xsd".
You could also refer to:
https://docs.mulesoft.com/mule-user-guide/v/3.7/activemq-integration
i think amqp:connector is not present in your AnyPoint studio. try to download it in Studio by following steps.
Help --> Install new Sofware --> select Anypoint Connectors Update Site - http://repository.mulesoft.org/connectors/releases/3.5.0.
restart the studio...done..!!! please let me know if it helps.
Most likely the connector dependency is missing from the Mule project descriptor file, called mule-project.xml. This prevents Studio from attaching the proper connector JARs to the app, causing the Invalid content was found starting with element 'amqp:connector exception you experienced.
All connectors used by the app are declared in mule-project.xml inside a <muleExtension> tag:
<muleExtension name="AMQP-0-9" qualifier="mule-transport-amqp-contribution"/>
With dependency:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<mule-project xmlns="http://www.mulesoft.com/tooling/project" runtimeId="org.mule.tooling.server.3.7.3.ee" schemaVersion="5.3.0.0">
<name>demo-amqp</name>
<description></description>
<muleExtension name="AMQP-0-9" qualifier="mule-transport-amqp-contribution"/>
</mule-project>
Without dependency:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<mule-project xmlns="http://www.mulesoft.com/tooling/project" runtimeId="org.mule.tooling.server.3.7.3.ee" schemaVersion="5.3.0.0">
<name>demo-amqp</name>
<description></description>
</mule-project>
Solution 1 (from Studio)
Drag & drop the connector onto the canvas. This will force an update of the Mule app, automatically adding the dependency to the project's classpath.
Solution 2 (from Studio)
Manually add the connector dependency to the classpath:
Right-click on the project and navigate through Build Path > Configure Build Path.
Select the Libraries tab.
Click Add Library button > Anypoint Connector Dependencies
Select the desired connector/s and click Finish.
i think amqp:connector is not present in your AnyPoint studio. try to download it in Studio by following steps. Help --> Install new Sofware --> select Anypoint Connectors Update Site - http://repository.mulesoft.org/connectors/releases/3.5.0.
you are probably missing activemq connector jar files
looks like amqp:connector is not present in your AnyPoint studio. try to download it in Studio by following steps. Help --> Install new Sofware --> select Anypoint Connectors Update Site - http://repository.mulesoft.org/connectors/releases/3.5.0.
restart the studio...done..!!! please let me know if it helps.
Related
Im new to Mule/anypoint studio platform.
When i try to run mule projcet from anypoint studio I get following error[1].
I have added that particular jar in my classpath too (as an external jar, which appears in referenced libraries section too.) So i dont think it is classpath issue.
Also, same project works for others.only for me. I believe it is some environmental issue.The xml segment is as follows(namespace is defined correctly.)
What might be the cause for this? why anypoint studio is throwing error while deploying the project to runtime?
Im using anypoint studio version 7.4.1
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:json-logger="http://www.mulesoft.org/schema/mule/json-logger"
....
<json-logger:logger doc:name="Log Get Locations .../>
[1]aused by: org.mule.runtime.core.api.config.ConfigurationException: There were '3' errors while parsing the given file 'implementation/impl-locations.xml'.
Full list:
org.xml.sax.SAXParseException; lineNumber: 12; columnNumber: 171; cvc-complex-type.2.4.a: Invalid content was found starting with element 'json-logger:logger'. One of '{"http://www.mulesoft.org/schema/mule/core":annotations, "http://www.mulesoft.org/schema/mule/core":description, "http://www.mulesoft.org/schema/mule/core":abstract-message-source, "http://www.mulesoft.org/schema/mule/core":abstract-message-processor, "http://www.mulesoft.org/schema/mule/core":abstract-mixed-content-message-processor}' is expected.
In addition to the namespace you have to add the schema location in the xsi:schemaLocation attribute.
Example:
<mule xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd"></mule>
I'm developing a custom validator policy for mulesoft runtime 4.1.0, and i need to modify the response when the policy isn't satisfied. To do this, i found this page on the mulesoft docs: https://docs.mulesoft.com/api-manager/v/2.x/http-policy-transform but when i try to use the xml namespace http-transform: i always get the error
Error loading:
/opt/mule/mule-4.1.2/policies/jwtvalidatorpolicy-315114/policy.xml,
Can't resolve
http://www.mulesoft.org/schema/mule/http-transform/current/mule-http-transform.xsd,
A dependency or plugin might be missing
Can someone provide the correct location/namespace?
Thank you!
here it is a full example that uses the mentioned extension
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:http-policy="http://www.mulesoft.org/schema/mule/http-policy"
xmlns:http-transform="http://www.mulesoft.org/schema/mule/http-policy-transform"
xmlns="http://www.mulesoft.org/schema/mule/core"
xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http-policy-transform http://www.mulesoft.org/schema/mule/http-policy-transform/current/mule-http-policy-transform.xsd
http://www.mulesoft.org/schema/mule/http-policy http://www.mulesoft.org/schema/mule/http-policy/current/mule-http-policy.xsd">
<http-policy:proxy name="policy-deployment">
<http-policy:source>
<try>
<http-policy:execute-next/>
<http-transform:add-headers outputType="response">
<http-transform:headers>#[{'policyHeader': 'policyHeaderValue'}]</http-transform:headers>
</http-transform:add-headers>
</try>
</http-policy:source>
</http-policy:proxy>
</mule>
You will also need to add the following dependency to your custom policy project
<dependency>
<groupId>com.mulesoft.anypoint</groupId>
<artifactId>mule-http-policy-transform-extension</artifactId>
<version>1.1.0</version>
<classifier>mule-plugin</classifier>
</dependency>
For those that also run into this issue of missing dependency:
This is an enterprise-only plugin. This means that you need to configure your maven settings file to also search in the mulesoft enterprise repo. See https://docs.mulesoft.com/mule-runtime/3.9/configuring-maven-to-work-with-mule-esb for documentation how to do that. If you don't have a username/password for this repo yet, create a support ticket with an account linked to your enterprise subscription and they will provide you with the correct credentials.
When I try to install the WSO2 ESB Amazon S3 Connector in WSO2 Developer Studio I get the error message
Connector directory name amazons3-1.0.0 doesn't match with the connector name amazons3-connector-1.0.0 valid connector should have 'name-connector-1.0.0' format
I tried to install both by downloading the zip and selecting the amazones3 connector directly from the WSO2 Shop from inside devstudio.
I am able to install other connectors and the downloaded zip seems to be valid.
Installing the connector same zip through the ESB Management Console works as expected.
I am using the latest DevStudio (3.8.0) and WSO2 ESB 4.8.1
Edited:
Yes I have already tried renaming the zip to amazons3-connector-1.0.0.zip. This does not help but only makes the error message even more confusing since it now states amazons3-connector-1.0.0 twice. :-)
extract the connector and open connector.xml file. make sure it is as follows
(If developer studio version less than 3.8)
<?xml version="1.0" encoding="UTF-8"?>
<connector>
<component name="amazons3-connector-1.0.0" package="org.wso2.carbon.connector" >
<dependency component="amazon_buckets"/>
<dependency component="amazon_config"/>
<dependency component="amazon_objects"/>
<description>amazon S3 connector libraries</description>
</component>
</connector>
(If developer studio version 3.8)
<?xml version="1.0" encoding="UTF-8"?>
<connector>
<component name="amazons3" package="org.wso2.carbon.connector" >
<dependency component="amazon_buckets"/>
<dependency component="amazon_config"/>
<dependency component="amazon_objects"/>
<description>amazon S3 connector libraries</description>
</component>
</connector>
Name of the zip file does not matters.
Note: i think this is bug on either side. may be new version on dev studio or connector which is in store. i will check this and update here later.
Thanks #Pontus for your input
update :
This issue has been fixed on connector. now amazonS3 connector can use without above modification
I have mule flow, trying to deploy it, it says that "Config for app not found"
I have created a dummy mule-config.xml under src/main/app, given below. My flow is:
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns:jersey="http://www.mulesoft.org/schema/mule/jersey" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns:spring="http://www.springframework.org/schema/beans" xmlns:core="http://www.mulesoft.org/schema/mule/core" version="EE-3.4.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/jersey http://www.mulesoft.org/schema/mule/jersey/current/mule-jersey.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd">
<flow name="webservicesFlow1" doc:name="webservicesFlow1">
<http:inbound-endpoint exchange-pattern="request-response" host="slmule2.corp.local" port="8088" path="rest" doc:name="HTTP"/>
<jersey:resources doc:name="REST">
<component class="com.rest.sample.RestComponent"/>
</jersey:resources>
</flow>
</mule>
mule-deploy.properties
redeployment.enabled=true
encoding=UTF-8
domain=default
config.resources=webservices.xml
mule-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns="http://www.mulesoft.org/schema/mule/core"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/3.0/mule.xsd">
<!-- empty config to avoid the hot deployment classloader choking on a missing config file -->
</mule>
Error message:
ERROR 2014-06-12 12:58:06,575 [Mule.app.deployer.monitor.1.thread.1] org.mule.module.launcher.MuleDeploymentService:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + Failed to deploy app + +
'webservices-1.0.0-SNAPSHOT-v20140612-12+57', + + see below +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
org.mule.module.launcher.InstallException: Config for app 'historydata-1.0.0-SNAPSHOT-
v20140612-12+57' not found: /apps/mulesoft/mule-enterprise-standalone-3.4.2/apps
/webservices-1.0.0-SNAPSHOT-v20140612-12+57/webservices.xml at
org.mule.module.launcher.application.DefaultMuleApplication.install(DefaultMuleApplication.j
ava:107) at
org.mule.module.launcher.application.ApplicationWrapper.install(ApplicationWrapper.java:79)
at org.mule.module.launcher.DefaultMuleDeployer.deploy(DefaultMuleDeployer.java:42) at
org.mule.module.launcher.MuleDeploymentService.guardedDeploy(MuleDeploymentService.java:454)
at
org.mule.module.launcher.MuleDeploymentService.deployApplication(MuleDeploymentService.java:
191) at
org.mule.module.launcher.MuleDeploymentService.deployExplodedApp(MuleDeploymentService.java:
708) at
org.mule.module.launcher.MuleDeploymentService.deployExplodedApps(MuleDeploymentService.java
:661) at
org.mule.module.launcher.MuleDeploymentService.access$400(MuleDeploymentService.java:57) at
org.mule.module.launcher.MuleDeploymentService$AppDirWatcher.run(MuleDeploymentService.java:
808) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at
java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304) at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThr
eadPoolExecutor.java:178) at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPool
Executor.java:293) at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at
java.lang.Thread.run(Thread.java:744) INFO 2014-06-12 12:58:07,859 [2132436410#qtp-
1158879031-6] org.mule.module.launcher.MuleDeploymentService: ================== Request to
Undeploy Application: ambrosehistorydata-1.0.0-SNAPSHOT-v20140612-12+57 INFO 2014-06-12
12:58:07,860 [2132436410#qtp-1158879031-6]
org.mule.module.launcher.application.DefaultMuleApplication: App 'webservices-1.0.0-
SNAPSHOT-v20140612-12+57' never started, nothing to dispose of INFO 2014-0
I am using mule studio 3.5.0 and mule-ee 3.4.
I had the same problem.
when you build your zip, you should zip files, not a directory ...
Dan
Sometimes javaw.exe doesn't seem to let go of a running project and seems to lock access to the config file. Killing javaw.exe and rerunning the project again fixed it.
In your Mule configuration file (src/main/app/app-config-file.xml), you can specify the properties file you want to load.
<context:property-placeholder location="${environment.name}.properties" />
This is the description of the attribute location :
Attribute : location
The location of the properties file to resolve placeholders against,
as a Spring resource location: a URL, a "classpath:" pseudo URL, or
a relative file path. Multiple locations may be specified, separated
by commas. If neither location nor properties-ref is specified,
placeholders will be resolved against system properties.
${environment.name} must be a system environment variable. You need to make sure the system where you are deploying your app contains that variable. I think you can also specify it in the Maven build, if you are using Maven (clean install -Denvironment.name=test). You can try.
To test locally, right click on your project, select run as, select run configurations, click on Environment tab, add your variable "environment.name" and the value "local" (without quotation marks) and make sure your local.properties file exists in a location added to the build path. It can be src/main/app for example or in the resources folder.
I had the same problem too.
My solution, i believe, was simpler.
Instead of exporting the project somehow and then try to deploy it by uploading a zipped file through the browser, I deployed it through Anypoint studio itself.
Right click on the project
Anypoint platform
Deploy to cloud
Sign in with your credentials (if not signed in already)
Choose the proper application and runtime environment then hit deploy.
I have a little question about mule xml config file,while I try simple mule app that using logger and expression.The config file be like this :
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:core="http://www.mulesoft.org/schema/mule/core" xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:spring="http://www.springframework.org/schema/beans" version="EE-3.4.1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.mulesoft.org/schema/mule/core
http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http
http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd">
<flow name="basic_tutorialFlow1" doc:name="basic_tutorialFlow1">
<http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8084" doc:name="HTTP"/>
<expression-filter expression="#[message.payload != '/favicon.ico']" doc:name="Expression"></expression-filter>
<logger level="INFO" doc:name="Logger" message="Current payload is #[message.payload]"/>
<set-payload doc:name="Set Payload" value="#['Hello, ' + message.payload + '. Today is ' + server.dateTime.format('dd/MM/yy') + '.' ]"/>
</flow>
I have error on expression-filter and logger. The error shown like this :
cvc-complex-type.2.4.a: Invalid content was found starting with element 'expression-filter'
The program can running but I don't feel right when the project still have error.I want to know how to fix this.
I check http://www.mulesoft.org/schema/mule/ but don't see expression-filter or logger.
my editor is STS 3.4.0 and mule version is 3.4 ,Thank you.
I'd recommend changing your schema locations to name your explicit version, e.g.
xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core
http://www.mulesoft.org/schema/mule/core/3.4/mule.xsd
http://www.mulesoft.org/schema/mule/http
http://www.mulesoft.org/schema/mule/http/3.4/mule-http.xsd"
and also the xmlns statements, similarly. I've experienced this with mule 3.2.x, where certain XML attributes would fail to resolve in Mule IDE, although they compiled just fine. Changing from "current" to my specific version often corrected these resolution errors (although not always).
In general, it's usually safe to ignore these resolution failures if compilation and execution succeeds, but I agree with your general assertion that it's not a good feeling. Try being explicit with your schema definition, as I searched the core mule.xsd and both logger and expression-filter are properly defined in that file, so that should resolve your resolution errors.