[ESBJAVA-4874] Unable to recover Local Registry in Script Mediator Created: 30/Aug/16  Updated: 30/Aug/16

Status: Open
Project: WSO2 ESB
Component/s: Registry
Affects Version/s: 4.9.0
Fix Version/s: None

Type: Bug Priority: High
Reporter: Joao Melo Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

Scenario: carbonContext.getRegistry(RegistryType.LOCAL_REPOSITORY) returns null.

I've a sequence with the following script code:

<sequence name="scenario-sequence" trace="disable" xmlns="http://ws.apache.org/ns/synapse">
<script language="js"><![CDATA[
importPackage(Packages.org.wso2.carbon.context);
importPackage(Packages.org.wso2.carbon.registry.api);

var carbonContext = CarbonContext.getThreadLocalCarbonContext();
var registry = carbonContext.getRegistry(RegistryType.LOCAL_REPOSITORY);

if (registry == null)
mc.getServiceLog().info("+++++ Fail! Unable to recover Local Registry in Script Mediator ");
else
mc.getServiceLog().info("+++++ Success! I love WSO2 ESB! ");
]]></script>
</sequence>

The problem is that depending on "who" is calling the scenario sequence, getRegistry returns a null instance.
Through a service proxy, it's all good:
<proxy name="file-listener-test-proxy"
startOnLoad="true" trace="disable" transports="vfs" xmlns="http://ws.apache.org/ns/synapse">
<target>
<inSequence>
<sequence key="scenario-sequence"/>
</inSequence>
<outSequence/>
<faultSequence/>
</target>
<parameter name="transport.vfs.FileURI">file:///C:/TEMP/WSO2/integrator/in</parameter>
<parameter name="transport.vfs.ContentType">application/xml</parameter>
<parameter name="transport.vfs.FileNamePattern">.*\.xml</parameter>
</proxy>

Through a service proxy, it's not ok:
<messageProcessor
class="org.apache.synapse.message.processor.impl.sampler.SamplingProcessor"
messageStore="request-msg-store"
name="request-msg-processor" xmlns="http://ws.apache.org/ns/synapse">
<parameter name="sequence">scenario-sequence</parameter>
<parameter name="interval">1</parameter>
<parameter name="is.active">true</parameter>
<parameter name="concurrency">1</parameter>
</messageProcessor>



 Comments   
Comment by Joao Melo [ 30/Aug/16 ]

typo at description:
Through a message processor, it's not ok:





[ESBJAVA-4199] zookeeper.session.timeout.ms and zookeeper.connection.timeout.ms parameters in kafka inbound endpoint are not working properly Created: 08/Sep/15  Updated: 06/Aug/16

Status: Open
Project: WSO2 ESB
Component/s: Inbound Endpoints
Affects Version/s: 4.9.0
Fix Version/s: None

Type: Bug Priority: High
Reporter: Nayomi Dayarathne Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Pack : wso2esb-4.9.0-RC4
Java version : Oracle jdk 1.7.0
DB Version : embedded H2
OS : Ubuntu 14.04 LTS


Severity: Major
Estimated Complexity: Moderate
Test cases added: No

 Description   

Create a kafka inbound endpoint and give values for zookeeper.session.timeout.ms and zookeeper.connection.timeout.ms parameters.

Timeouts are not performing within the given time durations.






[ESBJAVA-3837] RequestSecurityTokenTemplate from IssuedToken policy isn't used Created: 22/Jun/15  Updated: 06/Aug/16

Status: Open
Project: WSO2 ESB
Component/s: Core Engine, Registry
Affects Version/s: 4.8.1
Fix Version/s: None

Type: Bug Priority: High
Reporter: Alexey Smirnov Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: ESB, IS
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

RedHat Linux


Attachments: File STS.rar     XML File STSPolicy.xml    
Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

We use STS in WSO2 IS to secure echo service on WSO2ESB. We use non-secure NewTestSTS proxy (attached in archive STS.rar) to access this secured service. STSPolicy.xml (attached) is used to secure echo service. It's stored in configuration registry (or can be stored in governance registry).
First attempt of service call works fine, STS is being got from WSO2IS and is sent to echo service. But all the following attempts end with error "Requested KeyType is missing" on the IS side.
In debug log of ESB we see this message:
[2015-06-22 17:02:12,051] DEBUG - Using RSTTemplate: <spn:RequestSecurityTokenTemplate xmlns:spn="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702" xmlns:t="http://schemas.xmlsoap.org/ws/2005/02/trust">

</spn:RequestSecurityTokenTemplate>

{org.apache.rahas.client.STSClient}

After re-saving of policy, service call can be performed again






[ESBJAVA-4435] Unable to execute EDI to database insertion with smooks mediator Created: 23/Feb/16  Updated: 09/Jun/16

Status: Open
Project: WSO2 ESB
Component/s: Mediators
Affects Version/s: 5.0.0-M2
Fix Version/s: None

Type: Bug Priority: High
Reporter: Chathurika De Silva Assignee: Isuru Udana Loku Narangoda
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

OS: Ubuntu 14.04
JDK: 1.8.0


Attachments: XML File Smooks6.xml     File edi.edi     XML File edimapping.xml     XML File smooks_edi_db_config.xml    
Severity: Major
Estimated Complexity: Moderate
Attachment License: I agree to grant a license to WSO2 for this work for inclusion in WSO2 works as per the WSO2 Contributor License Agreement and the Apache License 2.0
Test cases added: Yes

 Description   

Using the given configuration files, and using [1] as the guide line i have tried in executing this using WSO2 ESB, but failed with the following error

[2016-02-23 18:14:50,191] ERROR - SequenceMediator Failed to set paramater configuration value on 'org.milyn.db.DirectDataSource#driver'.
org.milyn.cdr.SmooksConfigurationException: Failed to set paramater configuration value on 'org.milyn.db.DirectDataSource#driver'.
	at org.milyn.cdr.annotation.Configurator.applyConfigParam(Configurator.java:336)
	at org.milyn.cdr.annotation.Configurator.processFieldConfigParamAnnotations(Configurator.java:146)
	at org.milyn.cdr.annotation.Configurator.processFieldConfigAnnotations(Configurator.java:126)
	at org.milyn.cdr.annotation.Configurator.configure(Configurator.java:82)
	at org.milyn.cdr.annotation.Configurator.configure(Configurator.java:66)
	at org.milyn.delivery.JavaContentHandlerFactory.create(JavaContentHandlerFactory.java:69)
	at org.milyn.delivery.ContentDeliveryConfigBuilder$ContentHandlerExtractionStrategy.addCDU(ContentDeliveryConfigBuilder.java:642)
	at org.milyn.delivery.ContentDeliveryConfigBuilder$ContentHandlerExtractionStrategy.applyCDUStrategy(ContentDeliveryConfigBuilder.java:568)
	at org.milyn.delivery.ContentDeliveryConfigBuilder$ContentHandlerExtractionStrategy.applyStrategy(ContentDeliveryConfigBuilder.java:556)
	at org.milyn.delivery.ContentDeliveryConfigBuilder$SmooksResourceConfigurationTableIterator.iterate(ContentDeliveryConfigBuilder.java:730)
	at org.milyn.delivery.ContentDeliveryConfigBuilder$SmooksResourceConfigurationTableIterator.access$300(ContentDeliveryConfigBuilder.java:709)
	at org.milyn.delivery.ContentDeliveryConfigBuilder.extractContentHandlers(ContentDeliveryConfigBuilder.java:494)
	at org.milyn.delivery.ContentDeliveryConfigBuilder.load(ContentDeliveryConfigBuilder.java:356)
	at org.milyn.delivery.ContentDeliveryConfigBuilder.getConfig(ContentDeliveryConfigBuilder.java:147)
	at org.milyn.container.standalone.StandaloneExecutionContext.<init>(StandaloneExecutionContext.java:91)
	at org.milyn.container.standalone.StandaloneExecutionContext.<init>(StandaloneExecutionContext.java:65)
	at org.milyn.Smooks.createExecutionContext(Smooks.java:418)
	at org.milyn.Smooks.createExecutionContext(Smooks.java:376)
	at org.wso2.carbon.mediator.transform.SmooksMediator.mediate(SmooksMediator.java:115)
	at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:86)
	at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:49)
	at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:163)
	at org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.receive(ProxyServiceMessageReceiver.java:211)
	at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
	at org.apache.axis2.transport.base.AbstractTransportListener.handleIncomingMessage(AbstractTransportListener.java:328)
	at org.apache.synapse.transport.vfs.VFSTransportListener.processFile(VFSTransportListener.java:753)
	at org.apache.synapse.transport.vfs.VFSTransportListener.scanFileOrDirectory(VFSTransportListener.java:407)
	at org.apache.synapse.transport.vfs.VFSTransportListener.poll(VFSTransportListener.java:177)
	at org.apache.synapse.transport.vfs.VFSTransportListener.poll(VFSTransportListener.java:124)
	at org.apache.axis2.transport.base.AbstractPollingTransportListener$1$1.run(AbstractPollingTransportListener.java:67)
	at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Caused by: org.milyn.javabean.DataDecodeException: Failed to decode 'com.mysql.jdbc.Driver' as a Java Class.
	at org.milyn.javabean.decoders.ClassDecoder.decode(ClassDecoder.java:36)
	at org.milyn.cdr.annotation.Configurator.applyConfigParam(Configurator.java:334)
	... 33 more
Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:348)
	at org.milyn.util.ClassUtil.forName(ClassUtil.java:95)
	at org.milyn.javabean.decoders.ClassDecoder.decode(ClassDecoder.java:34)
	... 34 more
[2016-02-23 18:14:50,208]  INFO - LogMediator To: , WSAction: urn:mediate, SOAPAction: urn:mediate, MessageID: urn:uuid:66E5DBEE35D675C51B1456231489841, Direction: request, MESSAGE = Executing default 'fault' sequence, ERROR_CODE = 0, ERROR_MESSAGE = Failed to set paramater configuration value on 'org.milyn.db.DirectDataSource#driver'., Envelope: <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><text xmlns="http://ws.apache.org/commons/ns/payload">MLS*Wed Nov 15 13:45:28 EST 2006
HDR*1*0*59.97*64.92*4.95
CUS*user1*Harry^Fletcher*SD
ORD*1*1*364*HarryPorter*28.98
ORD*2*1*299*Pulp Fiction*30.99
HDR*2*0*81.30*91.06*9.76
CUS*user2*George^Hook*SD
ORD*3*2*983*Gone with The Wind*25.80
ORD*4*3*299*Lethal Weapon 2*55.50
</text></soapenv:Body></soapenv:Envelope>

Followed [2] to get the namespaces for smooks 1.5.

[1] https://github.com/smooks/smooks/blob/v1.5.1/smooks-examples/db-extract-transform-load/smooks-configs/datasources.xml
[2] http://www.smooks.org/mediawiki/index.php?title=V1.5:Smooks_v1.5_User_Guide_c6_c11



 Comments   
Comment by Isuru Udana Loku Narangoda [ 08/Jun/16 ]

Can you please explain the issue in detail.

From the error log it seems it fails to find mysql driver.

Comment by Chathurika De Silva [ 08/Jun/16 ]

Hi Isuru

I have the mysql connector in <Product_Home>/repository/components/lib. There is no WSO2 ESB documentation to follow in this as well.
If you have such a sample documented, please be kind enough to point it to me, so I can verify my configs.

Thank You
Erandi





[ESBJAVA-5210] [RabbitMQ] Publisher caching feature is needed to provide high TPS rates Created: 08/Aug/17  Updated: 25/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: RabbitMQ Transport
Affects Version/s: 4.9.0
Fix Version/s: None

Type: New Feature Priority: High
Reporter: Jason De Silva Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: RabbitMQ
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Major
Estimated Complexity: Moderate
Attachment License: I agree to grant a license to WSO2 for this work for inclusion in WSO2 works as per the WSO2 Contributor License Agreement and the Apache License 2.0
Test cases added: Yes

 Description   

Currently, there is no publisher caching feature when ESB publishes as a RabbitMQ producer. This results in lower rate of tps due to connections are created for each message produced. Hence connection caching will help to achieve high tps numbers.






[ESBJAVA-4836] Rampart exception when response from secured backend service returns HTTP 500 Created: 09/Aug/16  Updated: 27/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: Security
Affects Version/s: 4.9.0
Fix Version/s: None

Type: Bug Priority: High
Reporter: Pedro Canet Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: ESB, rampart
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: XML File FaceDigitalSignature.xml     XML File Face_PS.xml     XML File FacturaSSPP2.xml    
Severity: Blocker
Estimated Complexity: Moderate
Test cases added: No

 Description   

When trying a security scenario (like scenario number 100) in which the backend service is secured by signing the body, but we want the client not to use security, if the backend service returns an HTTP 500 without any soap message, the Rampart produces an exception, that don't returns the process neither to out-sequence nor the fault-sequence, so the client is waiting the response until time-out is produced.

Stack-trace

[2016-08-09 12:00:17,486] ERROR - AxisEngine Missing wsse:Security header in request
org.apache.axis2.AxisFault: Missing wsse:Security header in request
at org.apache.rampart.handler.RampartReceiver.setFaultCodeAndThrowAxisFault(RampartReceiver.java:180)
at org.apache.rampart.handler.RampartReceiver.invoke(RampartReceiver.java:99)
at org.apache.axis2.engine.Phase.invokeHandler(Phase.java:340)
at org.apache.axis2.engine.Phase.invoke(Phase.java:313)
at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:261)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:167)
at org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:247)
at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.rampart.RampartException: Missing wsse:Security header in request
at org.apache.rampart.RampartEngine.process(RampartEngine.java:146)
at org.apache.rampart.handler.RampartReceiver.invoke(RampartReceiver.java:92)
... 9 more
[2016-08-09 12:00:17,488] ERROR - ClientWorker Fault processing response message through Axis2
org.apache.axis2.AxisFault: Missing wsse:Security header in request
at org.apache.rampart.handler.RampartReceiver.setFaultCodeAndThrowAxisFault(RampartReceiver.java:180)
at org.apache.rampart.handler.RampartReceiver.invoke(RampartReceiver.java:99)
at org.apache.axis2.engine.Phase.invokeHandler(Phase.java:340)
at org.apache.axis2.engine.Phase.invoke(Phase.java:313)
at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:261)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:167)
at org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:247)
at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.rampart.RampartException: Missing wsse:Security header in request
at org.apache.rampart.RampartEngine.process(RampartEngine.java:146)
at org.apache.rampart.handler.RampartReceiver.invoke(RampartReceiver.java:92)
... 9 more



 Comments   
Comment by Chanaka Fernando [ 09/Aug/16 ]

Did you define the fault handler in your synapse configuration? If possible, please attach the synapse configuration which you have tried.

Comment by Pedro Canet [ 09/Aug/16 ]

Attached proxy-service, endpoint and policy configurations.

I also have a PasswordCallback to get the key password. The message is generated correctoly and send to the backend, but if the backend sends an empty HTTP 500, the exception is produced

Thank you

Comment by Pedro Canet [ 12/Aug/16 ]

Debugging the code, I can give more information about the case. The received response from the server has a SoapFault:

<?xml version='1.0' encoding='utf-8'?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Call to a member function load() on null</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>

The policy indicates that a security header is required in the response (at least timestamp), so the RampartEngine.process method produces a RampartExcemption with "missingSecurityHeader".

The problem is that the exception is not propagated to the proxyservice's out-sequence, neither fault-sequence, so it is not possible to notify the client with any message

Comment by Pedro Canet [ 13/Sep/16 ]

Debugging the code I saw that Rampart stops processing (with the exception) if the response doesn't satisfy the security policy. I have added a timeout to the endpoint, but i think it could be interesting to return an error to the proxy-service





[ESBJAVA-4843] ESB build the message as text/plain when the jms header content-type in not there in the incoming JMS message Created: 11/Aug/16  Updated: 27/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: JMS Transport
Affects Version/s: 4.9.0
Fix Version/s: None

Type: Task Priority: High
Reporter: Randika Perera Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

ESB build the message as text/plain when the jms header content-type in not there in the incoming JMS message. There is no configuration to select the particular builder at the moment. We encountered this scenario in JMS dual channel when the third party application publish messages to the reply queue without the content type header.






[ESBJAVA-3896] Sample 657 of distributed transaction management is not working properly Created: 13/Jul/15  Updated: 27/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: Samples
Affects Version/s: 4.9.0 - Alpha
Fix Version/s: None

Type: Bug Priority: High
Reporter: Nayomi Dayarathne Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Pack : wso2esb-4.9.0-ALPHA3 - 22.06.2015 pack
Java version : Oracle jdk 1.7.0
DB Version : embedded H2
OS : Ubuntu 14.04 LTS


Severity: Major
Estimated Complexity: Moderate
Test cases added: No

 Description   

Steps to recreate :

1.Create two data sources using management console.
2.Create two derby databases.
3.Insert values into tables as transaction mediator example.(https://docs.wso2.com/display/ESB490/Transaction+Mediator+Example)

4.Since there was no 657 synapse config file, copy the given synapse config to synapse.xml file in ESB_HOME/repository/samples/ location.

5.Invoke the clients as stated in document.

But when we invoke client using commands stated in document, nothing happening to values of database tables as stated.

The successful scenario and failure scenario are not effecting to any of the database table values we have created.






[ESBJAVA-4606] JMS Sender level cache is not working properly with the stale connections. Created: 09/May/16  Updated: 27/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: JMS Transport
Affects Version/s: 4.9.0, 5.0.0-M1
Fix Version/s: None

Type: Bug Priority: High
Reporter: prabath ariyarathna Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

JMS Sender level cache is not working properly with the stale connections.
We need to check this for the session and producer cache levels.
We can reproduce this issue easily with setup JMS broker as the backend and send some requests to fill the JMS connection factory. Then need to restart the JMS broker. You can see the failures in the next subsequent requests.



 Comments   
Comment by Jagath Ariyarathne [ 27/Jul/16 ]

This is fixed for connection caching with following PR. Need to do the same for session and producer caching.

https://github.com/wso2/wso2-axis2-transports/commit/1b738f0e2d2d6dd8d7b48fe326c4d517b6346f1b





[ESBJAVA-4125] Creating a secondary ldap user store in read only mode fails to authenticate users Created: 27/Aug/15  Updated: 29/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: Security
Affects Version/s: 4.9.0 - Beta
Fix Version/s: None

Type: Bug Priority: High
Reporter: Jason De Silva Assignee: Jason De Silva
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Pack : wso2esb-4.9.0-RC1.zip
ldap : default wso2is-5.0.0 with sp
OS: Ubuntu 14.04
JDK: 1.7.0_79
Browser : Google Chrome Version 43.0.2357.65 (64-bit)
Setup: Standalone


Attachments: XML File recreate.xml    
Severity: Major
Estimated Complexity: Moderate
Test cases added: No

 Description   

Steps
1. Started WSO2 IS500 with SP with port off set to use as the ldap user store
2. Created secondary read only ldap user store in esb by filling mandatory fields pointing to IS ldap
3. The secondary user store was created successfully and the ldap users were shown.
4. Login to ESB with the a secondary user store user after applying login and home page permission for the internal/everyone user role

Issue - invalid user name / password popup is shown

Enabled debug log and found the below exception

javax.naming.directory.InvalidSearchFilterException: Unbalanced parenthesis; remaining name 'ou=Users,dc=WSO2,dc=ORG'
	at com.sun.jndi.ldap.Filter.findRightParen(Filter.java:694)
	at com.sun.jndi.ldap.Filter.encodeFilterList(Filter.java:733)
	at com.sun.jndi.ldap.Filter.encodeComplexFilter(Filter.java:657)
	at com.sun.jndi.ldap.Filter.encodeFilter(Filter.java:104)
	at com.sun.jndi.ldap.Filter.encodeFilterString(Filter.java:74)
	at com.sun.jndi.ldap.LdapClient.search(LdapClient.java:547)
	at com.sun.jndi.ldap.LdapCtx.doSearch(LdapCtx.java:1985)
	at com.sun.jndi.ldap.LdapCtx.searchAux(LdapCtx.java:1847)
	at com.sun.jndi.ldap.LdapCtx.c_search(LdapCtx.java:1772)
	at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_search(ComponentDirContext.java:386)
	at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:356)
	at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCompositeDirContext.java:339)
	at javax.naming.directory.InitialDirContext.search(InitialDirContext.java:267)
	at org.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager.getNameInSpaceForUserName(ReadOnlyLDAPUserStoreManager.java:2047)
	at org.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager.getNameInSpaceForUserName(ReadOnlyLDAPUserStoreManager.java:2015)
	at org.wso2.carbon.user.core.ldap.ReadOnlyLDAPUserStoreManager.doAuthenticate(ReadOnlyLDAPUserStoreManager.java:409)
	at org.wso2.carbon.user.core.common.AbstractUserStoreManager.authenticate(AbstractUserStoreManager.java:419)
	at org.wso2.carbon.user.core.common.AbstractUserStoreManager.authenticate(AbstractUserStoreManager.java:375)
	at org.wso2.carbon.user.core.common.AbstractUserStoreManager.authenticate(AbstractUserStoreManager.java:358)
	at org.wso2.carbon.core.services.authentication.AuthenticationAdmin.login(AuthenticationAdmin.java:100)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:212)
	at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:117)
	at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40)
	at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:110)
	at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
	at org.apache.axis2.transport.local.LocalTransportReceiver.processMessage(LocalTransportReceiver.java:169)
	at org.apache.axis2.transport.local.LocalTransportReceiver.processMessage(LocalTransportReceiver.java:82)
	at org.wso2.carbon.core.transports.local.CarbonLocalTransportSender.finalizeSendWithToAddress(CarbonLocalTransportSender.java:45)
	at org.apache.axis2.transport.local.LocalTransportSender.invoke(LocalTransportSender.java:77)
	at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
	at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:430)
	at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:225)
	at org.apache.axis2.client.OperationClient.execute(OperationClient.java:149)
	at org.wso2.carbon.authenticator.stub.AuthenticationAdminStub.login(AuthenticationAdminStub.java:659)
	at org.wso2.carbon.authenticator.proxy.AuthenticationAdminClient.login(AuthenticationAdminClient.java:64)
	at org.wso2.carbon.ui.DefaultCarbonAuthenticator.doAuthentication(DefaultCarbonAuthenticator.java:119)
	at org.wso2.carbon.ui.AbstractCarbonUIAuthenticator.handleSecurity(AbstractCarbonUIAuthenticator.java:218)
	at org.wso2.carbon.ui.BasicAuthUIAuthenticator.authenticate(BasicAuthUIAuthenticator.java:83)
	at org.wso2.carbon.ui.CarbonUILoginUtil.handleLogin(CarbonUILoginUtil.java:377)
	at org.wso2.carbon.ui.CarbonSecuredHttpContext.handleSecurity(CarbonSecuredHttpContext.java:244)
	at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:60)
	at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128)
	at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:68)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	at org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service(DelegationServlet.java:68)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.wso2.carbon.tomcat.ext.filter.CharacterSetFilter.doFilter(CharacterSetFilter.java:61)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:99)
	at org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:49)
	at org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:62)
	at org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:159)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
	at org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:57)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1739)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1698)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:745)
TID: [-1234] [] [2015-08-27 14:56:20,018] DEBUG {org.wso2.carbon.user.core.common.AbstractUserStoreManager} -  Authentication failure. Wrong username or password is provided. {org.wso2.carbon.user.core.common.AbstractUserStoreManager}



 Comments   
Comment by Jason De Silva [ 27/Aug/15 ]

Uploaded the config file(recreate.xml) created for the secondary user store and observed that below elements have an "amp" removing that and restated the server led ldap users also to successfully login

<Property name="UserNameSearchFilter">(&amp;amp;(objectClass=person)(uid=?))</Property>
<Property name="GroupNameSearchFilter">(&amp;amp;(objectClass=groupOfNames)(cn=?))</Property>
Comment by Chanaka Fernando [ 09/Aug/16 ]

Can you check with ESB 5.0.0 RC2 pack and let us know the result?





[ESBJAVA-4155] Fault sequence not invoked in tenant mode Created: 03/Sep/15  Updated: 29/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: MultiTenancy
Affects Version/s: 4.9.0 - Beta
Fix Version/s: None

Type: Bug Priority: High
Reporter: Jason De Silva Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Pack : wso2esb-4.9.0-RC2.zip
Message broker - Apache activemq 5.12.0
OS: Ubuntu 14.04
JDK: 1.7.0_79
Browser : Google Chrome Version 43.0.2357.65 (64-bit)
Setup: Standalone


Attachments: XML File activemq.xml     XML File api.xml     XML File store.xml    
Severity: Major
Estimated Complexity: Moderate
Test cases added: No

 Description   

Steps
1. Create a user in activemq with read / write permissions ( this user does not have admin permission(queue creation) in activemq)
2. Disable anonymous access in activemq
3. Add the activemq jars to esb and create jms message store by giving credentials of the user created in step 1.
4. Create a Tenant and login to esb from that tenant
4. Create a simple api with "post" method and set the in sequence to the message store and set the fault sequence to the default fault sequence.
5. When the api is called the below exception is thrown which is correct but the fault sequence is not called.

In super tenant mode the exact scenario will invoke the fault sequence correctly.

[2015-09-03 18:59:57,743] ERROR - JmsStore Could not create a Message Producer for Store [NewRC1]. Error:User jason is not authorized to create: queue://idntink
javax.jms.JMSSecurityException: User jason is not authorized to create: queue://idntink
	at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:52)
	at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1398)
	at org.apache.activemq.ActiveMQSession.syncSendPacket(ActiveMQSession.java:2085)
	at org.apache.activemq.ActiveMQMessageProducer.<init>(ActiveMQMessageProducer.java:124)
	at org.apache.activemq.ActiveMQSession.createProducer(ActiveMQSession.java:1116)
	at org.apache.synapse.message.store.impl.jms.JmsStore.newProducer(JmsStore.java:361)
	at org.apache.synapse.message.store.impl.jms.JmsStore.getProducer(JmsStore.java:140)
	at org.apache.synapse.mediators.store.MessageStoreMediator.mediate(MessageStoreMediator.java:119)
	at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:81)
	at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:48)
	at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:149)
	at org.apache.synapse.rest.Resource.process(Resource.java:297)
	at org.apache.synapse.rest.API.process(API.java:378)
	at org.apache.synapse.rest.RESTRequestHandler.dispatchToAPI(RESTRequestHandler.java:97)
	at org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:65)
	at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:266)
	at org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:83)
	at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
	at org.wso2.carbon.core.multitenancy.MultitenantMessageReceiver.processRESTRequest(MultitenantMessageReceiver.java:611)
	at org.wso2.carbon.core.multitenancy.MultitenantMessageReceiver.doNhttpREST(MultitenantMessageReceiver.java:555)
	at org.wso2.carbon.core.multitenancy.MultitenantMessageReceiver.doREST(MultitenantMessageReceiver.java:366)
	at org.wso2.carbon.core.multitenancy.MultitenantMessageReceiver.processRequest(MultitenantMessageReceiver.java:224)
	at org.wso2.carbon.core.multitenancy.MultitenantMessageReceiver.receive(MultitenantMessageReceiver.java:78)
	at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
	at org.apache.synapse.transport.passthru.ServerWorker.processNonEntityEnclosingRESTHandler(ServerWorker.java:317)
	at org.apache.synapse.transport.passthru.ServerWorker.processEntityEnclosingRequest(ServerWorker.java:363)
	at org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:142)
	at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
	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:745)
Caused by: java.lang.SecurityException: User jason is not authorized to create: queue://idntink
	at org.apache.activemq.security.AuthorizationBroker.addDestination(AuthorizationBroker.java:115)
	at org.apache.activemq.broker.MutableBrokerFilter.addDestination(MutableBrokerFilter.java:177)
	at org.apache.activemq.broker.region.RegionBroker.addProducer(RegionBroker.java:398)
	at org.apache.activemq.broker.jmx.ManagedRegionBroker.addProducer(ManagedRegionBroker.java:267)
	at org.apache.activemq.broker.BrokerFilter.addProducer(BrokerFilter.java:107)
	at org.apache.activemq.advisory.AdvisoryBroker.addProducer(AdvisoryBroker.java:188)
	at org.apache.activemq.broker.CompositeDestinationBroker.addProducer(CompositeDestinationBroker.java:56)
	at org.apache.activemq.broker.BrokerFilter.addProducer(BrokerFilter.java:107)
	at org.apache.activemq.broker.BrokerFilter.addProducer(BrokerFilter.java:107)
	at org.apache.activemq.broker.BrokerFilter.addProducer(BrokerFilter.java:107)
	at org.apache.activemq.security.AuthorizationBroker.addProducer(AuthorizationBroker.java:201)
	at org.apache.activemq.broker.MutableBrokerFilter.addProducer(MutableBrokerFilter.java:112)
	at org.apache.activemq.broker.TransportConnection.processAddProducer(TransportConnection.java:618)
	at org.apache.activemq.command.ProducerInfo.visit(ProducerInfo.java:108)
	at org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:338)
	at org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:188)
	at org.apache.activemq.transport.MutexTransport.onCommand(MutexTransport.java:50)
	at org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:113)
	at org.apache.activemq.transport.AbstractInactivityMonitor.onCommand(AbstractInactivityMonitor.java:300)
	at org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:83)
	at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:214)
	at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:196)
	... 1 more
[2015-09-03 18:59:57,746]  WARN - JmsProducer [NewRC1-P-2]. Ignored MessageID : urn:uuid:3b254fc3-8979-4829-85e9-05b7383ff84d
[2015-09-03 18:59:57,746] ERROR - MessageStoreMediator Failed to store message [urn:uuid:aecb1192-a044-4b7b-aea1-abe49b81951c] in store [NewRC1].
[2015-09-03 18:59:57,746] ERROR - bbb Failed to store message [urn:uuid:aecb1192-a044-4b7b-aea1-abe49b81951c] in store [NewRC1].
[2015-09-03 18:59:57,747]  INFO - LogMediator To: local://axis2services/aaa, MessageID: urn:uuid:aecb1192-a044-4b7b-aea1-abe49b81951c, Direction: request, Envelope: <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><text xmlns="http://ws.apache.org/commons/ns/payload">abdef</text></soapenv:Body></soapenv:Envelope>
[2015-09-03 19:02:57,929]  WARN - SourceHandler Connection time out after request is read: http-incoming-3


 Comments   
Comment by Jason De Silva [ 03/Sep/15 ]

Attached the activemq.xml xml (broker user configuration) and the ESB api and store configurations.





[ESBJAVA-5251] datamapper.engine.feature cannot be not installed from P2 repository Created: 15/Feb/17  Updated: 13/Dec/17

Status: Open
Project: WSO2 ESB
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: High
Reporter: Chamalee De Silva Assignee: Kasun Indrasiri
Resolution: Unresolved Votes: 0
Labels: P2
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Carbon mediation 4.6.10
APIM 2.1.0


Estimated Complexity: Moderate
Test cases added: Yes

 Description   

Due to the following two advice file properties added in [1], the org.wso2.carbon.mediator.datamapper.engine.feature is not getting installed when trying to install from P2 repository.
(tried in WSO2 API Manager 2.1.0 and 2.0.0 with mediation version 4.6.6 and 4.6.10)

<adviceFile>
    <properties>
       <propertyDef>org.wso2.carbon.p2.category.type:console</propertyDef>
       <propertyDef>org.eclipse.equinox.p2.type.group:false</propertyDef>
    </properties>
</adviceFile>

When trying to install the datamapper mediator 4.6.10 to APIM 2.1.0 from P2 repository [2], only following two jars has downloaded to the plugins directory in WSO2 API Manager.

org.wso2.carbon.mediator.datamapper.ui_4.6.10.jar
org.wso2.carbon.mediator.datamapper_4.6.10.jar

And the following jar is missing.

org.wso2.carbon.mediator.datamapper.engine_4.6.10.jar

Datamapper features has added to the carbon-feature-repository with following featureArtifactDefs.
e.g. For mediator version 4.6.10

<featureArtifactDef>                                    org.wso2.carbon.mediation:org.wso2.carbon.mediator.datamapper.engine.feature:${carbon.mediation.version.4.6.10}
</featureArtifactDef>                               
<featureArtifactDef>                                    org.wso2.carbon.mediation:org.wso2.carbon.mediator.datamapper.feature:${carbon.mediation.version.4.6.10}</featureArtifactDef> 

(same as for mediator version 4.6.6)

This issue exists for mediator version 4.6.6 as well.

[1] https://github.com/wso2/carbon-mediation/blob/v4.6.10/features/mediator-features/datamapper-mediator/org.wso2.carbon.mediator.datamapper.engine.feature/pom.xml#L77
[2] http://product-dist.wso2.com/p2/carbon/releases/wilkes/






[ESBJAVA-5249] XSLT 3.0 and XPath 3.0 with Saxon Created: 06/Dec/17  Updated: 06/Dec/17

Status: Open
Project: WSO2 ESB
Component/s: None
Affects Version/s: 5.0.0
Fix Version/s: None

Type: New Feature Priority: High
Reporter: Philipp Bruegger Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 1
Labels: xpath, xslt
Remaining Estimate: 1 hour
Time Spent: Not Specified
Original Estimate: 1 hour

Severity: Major
Estimated Complexity: Moderate
Attachment License: I agree to grant a license to WSO2 for this work for inclusion in WSO2 works as per the WSO2 Contributor License Agreement and the Apache License 2.0
Test cases added: No

 Description   

WSO2 ESB is still using Saxon 9.4. With Saxon 9.5 and above, XSLT 3.0 and XPath 3.0 would be supported.

Just replacing the saxon9he.jar in the /lib/endorsed does not work - there are plenty of exceptions then like

[2017-12-06 11:27:52,029]  WARN - SynapseXMLConfigurationFactory Sequence configuration: fault cannot be built - Continue in fail-safe mode
java.lang.RuntimeException: XPathFactory#newInstance() failed to create an XPathFactory for the default object model: http://java.sun.com/jaxp/xpath/dom with the XPathFactoryConfigurationException: javax.xml.xpath.XPathFactoryConfigurationException: No XPathFctory implementation found for the object model: http://java.sun.com/jaxp/xpath/dom
        at javax.xml.xpath.XPathFactory.newInstance(Unknown Source)
        at org.apache.synapse.util.xpath.SynapseXPath.<init>(SynapseXPath.java:104)
        at org.apache.synapse.config.xml.SynapsePathFactory.getSynapsePath(SynapsePathFactory.java:51)
        at org.apache.synapse.config.xml.MediatorPropertyFactory.getMediatorProperties(MediatorPropertyFactory.java:100)
        at org.apache.synapse.config.xml.LogMediatorFactory.createSpecificMediator(LogMediatorFactory.java:111)
        at org.apache.synapse.config.xml.AbstractMediatorFactory.createMediator(AbstractMediatorFactory.java:94)
        at org.apache.synapse.config.xml.MediatorFactoryFinder.getMediator(MediatorFactoryFinder.java:223)
        at org.apache.synapse.config.xml.AbstractListMediatorFactory.addChildren(AbstractListMediatorFactory.java:46)
        at org.apache.synapse.config.xml.SequenceMediatorFactory.createSpecificMediator(SequenceMediatorFactory.java:87)
        at org.apache.synapse.config.xml.AbstractMediatorFactory.createMediator(AbstractMediatorFactory.java:94)
        at org.apache.synapse.config.xml.MediatorFactoryFinder.getMediator(MediatorFactoryFinder.java:223)
        at org.apache.synapse.config.xml.SynapseXMLConfigurationFactory.defineSequence(SynapseXMLConfigurationFactory.java:225)
        at org.apache.synapse.config.xml.MultiXMLConfigurationBuilder.createSequences(MultiXMLConfigurationBuilder.java:330)
        at org.apache.synapse.config.xml.MultiXMLConfigurationBuilder.getConfiguration(MultiXMLConfigurationBuilder.java:145)
        at org.apache.synapse.config.SynapseConfigurationBuilder.getConfiguration(SynapseConfigurationBuilder.java:100)
        at org.apache.synapse.Axis2SynapseController.createSynapseConfiguration(Axis2SynapseController.java:471)
        at org.wso2.carbon.mediation.initializer.CarbonSynapseController.createSynapseConfiguration(CarbonSynapseController.java:182)
        at org.apache.synapse.ServerManager.start(ServerManager.java:178)
        at org.wso2.carbon.mediation.initializer.ServiceBusInitializer.initESB(ServiceBusInitializer.java:452)
        at org.wso2.carbon.mediation.initializer.ServiceBusInitializer.activate(ServiceBusInitializer.java:196)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:260)
        at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:146)
        at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:345)
        at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)
        at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)
        at org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:343)
        at org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:222)
        at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107)
        at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861)
        at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
        at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819)
        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771)
        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130)
        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214)
        at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433)
        at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:451)
        at org.wso2.carbon.inbound.endpoint.persistence.service.InboundEndpointPersistenceServiceDSComponent.activate(InboundEndpointPersistenceServiceDSComponent.java:49)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:260)
        at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:146)
        at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:345)
        at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)
        at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)
        at org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:343)
        at org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:222)
        at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107)
        at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861)
        at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
        at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819)
        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771)
        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130)
        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214)
        at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433)
        at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:451)
        at org.wso2.carbon.core.init.CarbonServerManager.initializeCarbon(CarbonServerManager.java:514)
        at org.wso2.carbon.core.init.CarbonServerManager.start(CarbonServerManager.java:219)
        at org.wso2.carbon.core.internal.CarbonCoreServiceComponent.activate(CarbonCoreServiceComponent.java:94)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:260)
        at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:146)
        at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:345)
        at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)
        at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)
        at org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:343)
        at org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:222)
        at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107)
        at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861)
        at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
        at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819)
        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771)
        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130)
        at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214)
        at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433)
        at org.eclipse.equinox.http.servlet.internal.Activator.registerHttpService(Activator.java:81)
        at org.eclipse.equinox.http.servlet.internal.Activator.addProxyServlet(Activator.java:60)
        at org.eclipse.equinox.http.servlet.internal.ProxyServlet.init(ProxyServlet.java:40)
        at org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.init(DelegationServlet.java:38)
        at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1282)
        at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1195)
        at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1085)
        at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5318)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5610)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1572)
        at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1562)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:748)
  • Please update the Saxon HE version to enable very useful XSLT and XPath features.





[ESBJAVA-5301] Cannot encrypt VFS SFTP Passwords in EI Created: 22/Apr/18  Updated: 22/Apr/18

Status: Open
Project: WSO2 ESB
Component/s: None
Affects Version/s: EI-620
Fix Version/s: None

Type: Improvement Priority: High
Reporter: Lasindu Charith Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: vfs
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

EI 6.2.0


Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

In a scenario where EI reads a set of files from a SFTP location and transform them, write them back to another SFTP location via address endpoint, the SFTP password cannot be encrypted either in synapse configuration nor in registry. This seems to be a limitation in EI.






[ESBJAVA-5302] Axis Service Null Error is printed in the backend When invoking a REST API Created: 24/Apr/18  Updated: 24/Apr/18

Status: Open
Project: WSO2 ESB
Component/s: None
Affects Version/s: 4.9.0, 5.0.0
Fix Version/s: None

Type: Bug Priority: High
Reporter: Shanika Wickramasinghe Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

OS
Linux 16.04
JDK 1.7.0_80


Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

Steps to reproduce
1. Create a sample REST API by logging into ESB Management Console as follows

<api xmlns="http://ws.apache.org/ns/synapse" name="testabc1" context="/abc1">
<resource methods="POST">
<inSequence>
<property name="NO_KEEPALIVE" value="true" scope="axis2" type="STRING"/>
<send>
<endpoint>
<address uri="http://www.mocky.io/v2/5addaa6530000068154b27b3"/>
</endpoint>
</send>
</inSequence>
<outSequence>
<send/>
</outSequence>
<faultSequence>
<sequence key="fault_email_seq"/>
<send/>
</faultSequence>
</resource>
</api>

2. Invoke the API using a curl command
curl -i -X POST -H 'Content-Type: application/json' http://10.100.5.74:8280/abc1

3. WSAddressingHandler configs are enabled inside repository/conf/axis2/axis2.xml

When WSAddressingHandler configs are enabled inside the axis2.xml (ESB_HOME/repository/conf/axis2/axis2.xml) file as follows
<phase name="Addressing">
<handler class="org.apache.axis2.dispatchers.AddressingBasedDispatcher" name="AddressingBasedDispatcher">
<order phase="Addressing"/>
</handler>
<handler class="org.apache.synapse.transport.passthru.util.WSAddressingHandler" name="WSAddressingHandler">
<order phase="Addressing"/>
</handler>
</phase>

Below error will get printed in the backend.

[2018-04-24 15:43:21,395] ERROR - WSAddressingHandler Axis Service is null

By analyzing the code related to WSAddressingHandler found that the reason for the above behavior.
public class WSAddressingHandler extends AbstractHandler {
....
if(messageContext.getAxisService() != null) {
if(messageContext.getAxisService().getParameter("enforceWSAddressing") != null && Boolean.parseBoolean((String)messageContext.getAxisService().getParameter("enforceWSAddressing").getValue()))

{ this.build(messageContext); }

} else

{ log.error("Axis Service is null"); }

....
....
}
Proxy services are considered as Axis2 services and API calls are REST calls and they are not considered as Axis2 services. When a request hits to the ESB, it will go through the handlers. Inside the axis2 handlers we identify whether the request goes to the REST API or to the proxy service. As this is a REST API the axis service variable will be null. So, it will print the ERROR message.

Suggest to handle this issue for REST APIs






[ESBJAVA-5300] CGI Generic SQL Injection Created: 18/Apr/18  Updated: 18/Apr/18

Status: Open
Project: WSO2 ESB
Component/s: Carbon Applications
Affects Version/s: EI-610
Fix Version/s: None

Type: Bug Priority: High
Reporter: Chaki Feng Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: ESB
Remaining Estimate: 3 weeks
Time Spent: Not Specified
Original Estimate: 3 weeks
Environment:

operating system


Attachments: Microsoft Word WSO2.docx    
Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

By sending specially crafted parameters to one or more CGI scripts hosted on the remote web server, Nessus
was able to get a very different response, which suggests that it may have been able to modify the behavior of the
application and directly access the underlying database.
An attacker may be able to exploit this issue to bypass authentication, read confidential data, modify the remote
database, or even take control of the remote operating system.
Note that this script is experimental and may be prone to false positives.






[ESBJAVA-5304] optimize cpu consumption of json-eval with large json payloads Created: 30/Apr/18  Updated: 30/Apr/18

Status: Open
Project: WSO2 ESB
Component/s: None
Affects Version/s: 5.0.0
Fix Version/s: None

Type: Bug Priority: High
Reporter: Supun Malinga Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

Hi,

I found out a scenario where ESB performance goes down is a use case where large (20-30 KB) messages are involved.
Problem is that minidev json parser library underneath, json-eval became CPU heavy under high load.
I had an xslt of more than 3000 lines, transforming each message. However, CPU consumption of the json-eval usages (I had about 10-15 json-evals in the code), is far higher than of the XSLT.

Thanks,
Supun






[ESBJAVA-5049] Support for XSD Schema 1.1 Created: 16/Mar/17  Updated: 16/Mar/17

Status: Open
Project: WSO2 ESB
Component/s: None
Affects Version/s: FUTURE
Fix Version/s: None

Type: New Feature Priority: Normal
Reporter: Sachini Rajapakse Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Minor
Estimated Complexity: Moderate
Test cases added: Yes




[ESBJAVA-5012] Aggregate Mediator Does Not Work If Proxy Service Called As local:// service Created: 05/Feb/17  Updated: 05/Feb/17

Status: Open
Project: WSO2 ESB
Component/s: Mediators
Affects Version/s: 5.0.0
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Sami Elhini Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Mac OSX


Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

Calling a proxy service that has an iterate in the in sequence and an aggregate on an out sequence from another proxy service using the local:// transport results in the aggregate mediator hanging and the call timing out. If I change to use a reference to my machine such as hostname the aggregate mediator works.






[ESBJAVA-5037] Tenant domain has not been set in CarbonContext when caching inside the clone mediator Created: 06/Mar/17  Updated: 06/Mar/17

Status: Open
Project: WSO2 ESB
Component/s: Mediators
Affects Version/s: 4.9.0
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Uditha Kumara Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: ESB
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Major
Estimated Complexity: Moderate
Test cases added: No

 Description   

When collecting the cache inside a clone mediator experience the below error.

[2017-03-03 16:02:39,276] ERROR - SequenceMediator Tenant domain has not been set in CarbonContext
java.lang.NullPointerException: Tenant domain has not been set in CarbonContext
	at org.wso2.carbon.caching.impl.CacheManagerFactoryImpl.getCacheManager(CacheManagerFactoryImpl.java:79)
	at org.wso2.carbon.mediator.cache.CacheMediator.getMediatorCache(CacheMediator.java:497)
	at org.wso2.carbon.mediator.cache.CacheMediator.processResponseMessage(CacheMediator.java:280)
	at org.wso2.carbon.mediator.cache.CacheMediator.mediate(CacheMediator.java:208)
	at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:81)
	at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:48)
	at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:149)
	at org.apache.synapse.mediators.MediatorWorker.run(MediatorWorker.java:69)
	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:745)





[ESBJAVA-4944] Restore default Log4j configuration doesn't work Created: 03/Nov/16  Updated: 03/Nov/16

Status: Open
Project: WSO2 ESB
Component/s: Administration Console
Affects Version/s: 5.0.0
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: gregory eve Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Major
Estimated Complexity: Novice
Attachment License: I agree to grant a license to WSO2 for this work for inclusion in WSO2 works as per the WSO2 Contributor License Agreement and the Apache License 2.0
Test cases added: Yes

 Description   

Go to the administration console of ESB 5.0.0.
Click on button "Restore Defaults" on the Configure Logging page.
A Fail popup open.

In the log the stack trace:

TID: [-1234] [] [2016-11-03 15:46:59,260] ERROR {org.apache.axis2.engine.AxisEngine} -  The endpoint reference (EPR) for the Operation not found is local://services/LoggingAdmin and the WSA Action = urn:restoreDefaults. If this EPR was previously reachable, please contact the server administrator. {org.apache.axis2.engine.AxisEngine}
org.apache.axis2.AxisFault: The endpoint reference (EPR) for the Operation not found is local://services/LoggingAdmin and the WSA Action = urn:restoreDefaults. If this EPR was previously reachable, please contact the server administrator.
	at org.apache.axis2.engine.DispatchPhase.checkPostConditions(DispatchPhase.java:102)
	at org.apache.axis2.engine.Phase.invoke(Phase.java:329)
	at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:261)
	at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:167)
	at org.apache.axis2.transport.local.LocalTransportReceiver.processMessage(LocalTransportReceiver.java:169)
	at org.apache.axis2.transport.local.LocalTransportReceiver.processMessage(LocalTransportReceiver.java:82)
	at org.wso2.carbon.core.transports.local.CarbonLocalTransportSender.finalizeSendWithToAddress(CarbonLocalTransportSender.java:45)
	at org.apache.axis2.transport.local.LocalTransportSender.invoke(LocalTransportSender.java:77)
	at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
	at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:430)
	at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:225)
	at org.apache.axis2.client.OperationClient.execute(OperationClient.java:149)
	at org.wso2.carbon.logging.admin.stub.LoggingAdminStub.restoreDefaults(LoggingAdminStub.java:1644)
	at org.wso2.carbon.logging.admin.ui.LoggingAdminClient.restoreToDefaults(LoggingAdminClient.java:194)
	at org.apache.jsp.log_002dadmin.restoreDefaults_002dajaxprocessor_jsp._jspService(restoreDefaults_002dajaxprocessor_jsp.java:159)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:439)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
	at org.wso2.carbon.ui.JspServlet.service(JspServlet.java:155)
	at org.wso2.carbon.ui.TilesJspServlet.service(TilesJspServlet.java:80)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
	at org.eclipse.equinox.http.helper.ContextPathServletAdaptor.service(ContextPathServletAdaptor.java:37)

Check the WSDL of the Admin service https://localhost.lxc:9443/services/LoggingAdmin?wsdl

The operation requested (WSA Action = urn:restoreDefaults) is not present.






[ESBJAVA-5010] API_LOGGER not propagated to iterate mediator Created: 02/Feb/17  Updated: 12/Feb/17

Status: Open
Project: WSO2 ESB
Component/s: Logging and Tracing
Affects Version/s: 5.0.0
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Joe Siponen Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: wso2-esb
Remaining Estimate: 3 days
Time Spent: Not Specified
Original Estimate: 3 days
Environment:

/opt/java/bin/java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)


Severity: Minor
Estimated Complexity: Advanced
Attachment License: I agree to grant a license to WSO2 for this work for inclusion in WSO2 works as per the WSO2 Contributor License Agreement and the Apache License 2.0
Test cases added: Yes

 Description   

File: log4j.properties
{{
log4j.category.API_LOGGER.api_logging_test=INFO, API_LOGGING_TEST_APPENDER
log4j.additivity.API_LOGGER.api_logging_test=false
log4j.appender.API_LOGGING_TEST_APPENDER=org.apache.log4j.DailyRollingFileAppender
log4j.appender.API_LOGGING_TEST_APPENDER.File=$

{carbon.home}

/repository/logs/$

{instance.log}/wso2-esb-api_logging_test${instance.log}

.log
log4j.appender.API_LOGGING_TEST_APPENDER.Append=true
log4j.appender.API_LOGGING_TEST_APPENDER.layout=org.apache.log4j.PatternLayout
log4j.appender.API_LOGGING_TEST_APPENDER.layout.ConversionPattern=%d

{ISO8601}

[%X

{ip}

-%X

{host}

] [%t] %5p %c

{1}

%m%n
}}

File: api_logging_test.xml

<?xml version="1.0" encoding="UTF-8"?>
<api xmlns="http://ws.apache.org/ns/synapse" context="/esb/v1/api_logging_test" name="api_logging_test">
  <resource faultSequence="seq_logging_test_fault" methods="OPTIONS POST" protocol="http" url-mapping="/*">
    <inSequence>
      <sequence key="seq_logging_test"/>
    </inSequence>
    <outSequence/>
  </resource>
</api>

File: seq_logging_test.xml

<?xml version="1.0" encoding="UTF-8"?>
<sequence xmlns="http://ws.apache.org/ns/synapse" name="seq_logging_test" onError="seq_logging_test_fault" trace="disable">
  <log description="Log message" level="custom">
    <property name="Development logging: " value="Message reaching seq_logging_test"/>
  </log>
  <sequence description="Process" key="seq_logging_test_processor"/>
  <header action="remove" name="To" scope="default"/>
  <property name="RESPONSE" scope="default" type="STRING" value="true"/>
  <property name="SC_ACCEPTED" scope="axis2" type="STRING" value="false"/>
  <property name="NO_ENTITY_BODY" scope="axis2" type="BOOLEAN" value="true"/>
  <property name="HTTP_SC" scope="axis2" type="STRING" value="200"/>
  <property name="messageType" scope="axis2" type="STRING" value="application/json"/>
  <payloadFactory media-type="xml">
    <format>
      <response>
        <result>OK</result>
      </response>
    </format>
    <args/>
  </payloadFactory>
  <send/>
</sequence>

File: seq_logging_test_processor.xml

<?xml version="1.0" encoding="UTF-8"?>
<sequence xmlns="http://ws.apache.org/ns/synapse" name="seq_logging_test_processor" onError="seq_logging_test_processor_fault" trace="disable">
  <log description="Log message" level="custom">
    <property name="Development logging: " value="Message reaching seq_logging_test_processor"/>
  </log>
  <iterate continueParent="true" expression="//jsonObject/event" sequential="true">
    <target>
      <sequence>
        <log description="Log message" level="custom">
          <property name="Development logging: " value="Message reaching seq_logging_test_processor iterator sequence"/>
        </log>
      </sequence>
    </target>
  </iterate>
  <log description="Log message" level="custom">
    <property name="Development logging: " value="Ending seq_logging_test_processor"/>
  </log>
</sequence>

The expected outcome (as I see it) would be to see the following output in wso2-esb-api_logging_test.log:
{{
2017-xx-xx xx:xx:xx,xxx [-] [PassThroughMessageProcessor-2] INFO api_logging_test Development logging: = Message reaching seq_logging_test
2017-xx-xx xx:xx:xx,xxx [-] [PassThroughMessageProcessor-2] INFO api_logging_test Development logging: = Message reaching seq_logging_test_processor
2017-xx-xx xx:xx:xx,xxx [-] [PassThroughMessageProcessor-3] INFO api_logging_test Development logging: = Message reaching seq_logging_test_processor iterator sequence
2017-xx-xx xx:xx:xx,xxx [-] [PassThroughMessageProcessor-2] INFO api_logging_test Development logging: = Ending seq_logging_test_processor
}}

However, the actual output is:
{{
2017-xx-xx xx:xx:xx,xxx [-] [PassThroughMessageProcessor-2] INFO api_logging_test Development logging: = Message reaching seq_logging_test
2017-xx-xx xx:xx:xx,xxx [-] [PassThroughMessageProcessor-2] INFO api_logging_test Development logging: = Message reaching seq_logging_test_processor
2017-xx-xx xx:xx:xx,xxx [-] [PassThroughMessageProcessor-2] INFO api_logging_test Development logging: = Ending seq_logging_test_processor
}}

That is, any and all logging appearing within the iterator's sequence is dropped (the message 'Message reaching seq_logging_test_processor iterator sequence' here). This is probably due to the fact that the log context is not (or incorrectly) propagated to the iterator's sequence.



 Comments   
Comment by Joe Siponen [ 02/Feb/17 ]

I can see some formatting errors in the wiki syntax but you should be able to look at the source of the wiki. It does not seem that one can edit issues created by oneself.

Comment by Joe Siponen [ 12/Feb/17 ]

A suggestion is to propagate the service or api specific logger in the following method:

org.apache.synapse.util.MessageHelper.cloneMessageContext(MessageContext, boolean)

That methods seems to set up the cloned context for the iterator's inner sequence.





[ESBJAVA-5240] FATAL Error with Sonic MQ JMS Created: 19/Oct/17  Updated: 19/Oct/17

Status: Open
Project: WSO2 ESB
Component/s: JMS Transport
Affects Version/s: EI-611
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Pavel Litvinov Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: Zip Archive AddJMSSonicMQ.ZIP    
Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

Version: wso2ei-6.1.1
When I try appent libraries for JMS Sonic MQ to WSO2ESB I got the fatal error.
In the attachment you can find axis2 config and three .JAR files and logs.
WSO2CEP with these JARs works fine.

Fatal Error
FATAL

{org.wso2.carbon.core.init.CarbonServerManager} - WSO2 Carbon initialization Failed {org.wso2.carbon.core.init.CarbonServerManager}

java.lang.LinkageError: loader constraint violation: loader (instance of org/eclipse/osgi/internal/baseadaptor/DefaultClassLoader) previously initiated loading for a different type with name "javax/jms/TopicSession"






[ESBJAVA-4880] MessageStore executes about 20 seconds for bigger files - 0.5 mb Created: 01/Sep/16  Updated: 01/Sep/16

Status: Open
Project: WSO2 ESB
Component/s: Message Stores
Affects Version/s: 4.9.0
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Łukasz Andrzejak Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Red Hat Enterprise Linux Server release 7.1


Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

I use a customized JDBCMessageStore.
Message (0.5 mb) executes about 20 seconds.
I measured time in my JDBCMessageStore and there is fine - about 20 ms.
I checked time in internal class org.apache.synapse.mediators.store.MessageStoreMediator and there message executes long time.

When I comment these line, messages got a speed, but some sequences end with error. It depends on structure of message.

// Ensure that the message is fully read
synCtx.getEnvelope().buildWithAttachments();
//Clone the message before sending to the producer
//Fix ESBJAVA-3650
MessageContext newCtx = synCtx;
try

{ newCtx = MessageHelper.cloneMessageContext(synCtx); }

catch (AxisFault af)

{ handleException("Error when cloning the message context", af, synCtx); }

Library: Apache Synapse - Core, version 2.1.3-wso2v11






[ESBJAVA-4890] Exception if database loadbalancing configuration with WSO2 ESB 4.9.0 + MySQL Cluster 7.4.11 + MySQL Connector 5.1.39 Created: 13/Sep/16  Updated: 13/Sep/16

Status: Open
Project: WSO2 ESB
Component/s: Stratos ESB
Affects Version/s: 4.9.0
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Pedro Canet Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

SUSE ES 11 SP4 + Oracle JDK 8u101 64bits + WSO2 ESB 4.9.0 + MySQL Cluster 7.4.11 + MySQL Connector 5.1.39


Attachments: XML File master-datasources.xml     XML File registry.xml    
Severity: Major
Estimated Complexity: Advanced
Test cases added: Yes

 Description   

I am configuring WSO2 ESB with the registry in MySQL Cluster (see versions and products on environment) with the objective to mount a cluster of ESB's.

Scenario 1: 1 ESB node balancing to 2 MySQL nodes. All folders mapped to the same database
If I configure all the registry folders (local, conf, gov) to the same balanced datasource, it works perfectly. Only needs to modify master-datasource.xml as

Scenario 2: 1 ESB node balancing to 2 MySQL nodes. Local folder mapped to one database, conf and gov mapped to another database
In this case, an exception is produced. I added another datasource (WSO2_CARBON_DB_GREG) to the same 2 MySQL nodes, but different database and user

TID: [-1234] [] [2016-09-12 18:01:16,827] ERROR {org.wso2.carbon.registry.core.utils.RegistryUtils} -  Failed to construct the connectionId. {org.wso2.carbon.registry.core.utils.RegistryUtils}
java.sql.SQLException: PooledConnection has already been closed.
        at org.apache.tomcat.jdbc.pool.DisposableConnectionFacade.invoke(DisposableConnectionFacade.java:86)
        at com.sun.proxy.$Proxy15.getMetaData(Unknown Source)
        at org.wso2.carbon.registry.core.utils.RegistryUtils.getConnectionId(RegistryUtils.java:194)
        at org.wso2.carbon.registry.core.jdbc.dataaccess.JDBCDatabaseTransaction$ManagedRegistryConnection.getConnectionId(JDBCDatabaseTransaction.java:1133)
        at org.wso2.carbon.registry.core.jdbc.dataaccess.JDBCDatabaseTransaction$ManagedRegistryConnection.commit(JDBCDatabaseTransaction.java:1207)
        at org.wso2.carbon.registry.core.jdbc.dataaccess.JDBCTransactionManager.commitTransaction(JDBCTransactionManager.java:159)
        at org.wso2.carbon.registry.core.jdbc.EmbeddedRegistry.commitTransaction(EmbeddedRegistry.java:452)
        at org.wso2.carbon.registry.core.jdbc.EmbeddedRegistry.resourceExists(EmbeddedRegistry.java:658)
        at org.wso2.carbon.registry.core.caching.CacheBackedRegistry.resourceExists(CacheBackedRegistry.java:293)
        at org.wso2.carbon.registry.core.session.UserRegistry.resourceExistsInternal(UserRegistry.java:770)
        at org.wso2.carbon.registry.core.session.UserRegistry.access$800(UserRegistry.java:60)
        at org.wso2.carbon.registry.core.session.UserRegistry$9.run(UserRegistry.java:753)
        at org.wso2.carbon.registry.core.session.UserRegistry$9.run(UserRegistry.java:750)
        at java.security.AccessController.doPrivileged(Native Method)

Scenario 3: 1 ESB node without balancing to MySQL cluster. Local folder mapped to one database, conf and gov mapped to another database
In this case, the configuration is similar to scenario 2, but the jdbc URL has not the loadbalance feature. each JDBC url points to a different mysql node. In this case, all works perfectly

So, it seems that the problem appears when configuring 2 datasources with loadbalancing.

Attached master-datasource.xml and registry.xml for the problematic scenario 2

Note: each MySQL node allows 400 connections






[ESBJAVA-4899] publishEvent Mediator not working inside sequences invoked by Clone Mediator Created: 21/Sep/16  Updated: 21/Sep/16

Status: Open
Project: WSO2 ESB
Component/s: Mediators
Affects Version/s: 5.0.0
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Heshitha Hettihewa Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

ESB 5.0.0


Severity: Major
Estimated Complexity: Moderate
Attachment License: I agree to grant a license to WSO2 for this work for inclusion in WSO2 works as per the WSO2 Contributor License Agreement and the Apache License 2.0
Test cases added: No

 Description   

publishEvent mediator works fine with a DAS when invoked through a proxy directly. But when tried to invoke it through a clone mediator (proxy->clone->sequence->publishEvent) it gives this error

ERROR - PublishEventMediator Cannot mediate message. Failed to load event sink 'sampleEventSink'. Error: Event sink "sampleEventSink" not found
org.apache.synapse.SynapseException: Event sink "sampleEventSink" not found






[ESBJAVA-4853] [Intermittent] Exception in the Cluster Environment Created: 19/Aug/16  Updated: 19/Aug/16

Status: Open
Project: WSO2 ESB
Component/s: Administration Console
Affects Version/s: 5.0.0-RC4
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Chaminda Jayawardena Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Cluster : 1 mgr 3 wrks, Ubuntu 14.04, Java 1.8.0_74


Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

Below exception can be intermittently seen in the logs of manager node in ESB cluster environment.

TID: [-1234] [] [2016-08-18 09:03:54,506] ERROR {org.apache.axis2.rpc.receivers.RPCMessageReceiver} -  Exception occurred while trying to invoke service method getServerData {org.apache.axis2.rpc.receivers.RPCMessageReceiver}
java.lang.reflect.InvocationTargetException
	at sun.reflect.GeneratedMethodAccessor201.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:212)
	at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:117)
	at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40)
	at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:110)
	at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
	at org.apache.axis2.transport.local.LocalTransportReceiver.processMessage(LocalTransportReceiver.java:169)
	at org.apache.axis2.transport.local.LocalTransportReceiver.processMessage(LocalTransportReceiver.java:82)
	at org.wso2.carbon.core.transports.local.CarbonLocalTransportSender.finalizeSendWithToAddress(CarbonLocalTransportSender.java:45)
	at org.apache.axis2.transport.local.LocalTransportSender.invoke(LocalTransportSender.java:77)
	at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
	at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:430)
	at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:225)
	at org.apache.axis2.client.OperationClient.execute(OperationClient.java:149)
	at org.wso2.carbon.server.admin.stub.ServerAdminStub.getServerData(ServerAdminStub.java:1621)
	at org.wso2.carbon.server.admin.ui.ServerAdminClient.getServerData(ServerAdminClient.java:131)
	at org.apache.jsp.server_002dadmin.system_005fstatus_005fajaxprocessor_jsp._jspService(system_005fstatus_005fajaxprocessor_jsp.java:165)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:439)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
	at org.wso2.carbon.ui.JspServlet.service(JspServlet.java:155)
	at org.wso2.carbon.ui.TilesJspServlet.service(TilesJspServlet.java:80)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
	at org.eclipse.equinox.http.helper.ContextPathServletAdaptor.service(ContextPathServletAdaptor.java:37)
	at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
	at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128)
	at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:68)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
	at org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service(DelegationServlet.java:68)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.owasp.csrfguard.CsrfGuardFilter.doFilter(CsrfGuardFilter.java:88)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.wso2.carbon.ui.filters.CSRFPreventionFilter.doFilter(CSRFPreventionFilter.java:88)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.wso2.carbon.ui.filters.CRLFPreventionFilter.doFilter(CRLFPreventionFilter.java:59)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.wso2.carbon.tomcat.ext.filter.CharacterSetFilter.doFilter(CharacterSetFilter.java:61)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilter(HttpHeaderSecurityFilter.java:120)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:99)
	at org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:49)
	at org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:62)
	at org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:159)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
	at org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:57)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1749)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1708)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ThreadDeath
	at java.lang.Thread.stop(Thread.java:850)
	at org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.handleStuckThread(CarbonStuckThreadDetectionValve.java:125)
	at org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.backgroundProcess(CarbonStuckThreadDetectionValve.java:178)
	at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1365)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1543)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1553)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1521)
	... 1 more
TID: [-1234] [] [2016-08-18 09:03:54,553] ERROR {org.wso2.carbon.server.admin.ui.ServerAdminClient} -  Cannot get server data. Backend service may be unavailable {org.wso2.carbon.server.admin.ui.ServerAdminClient}
org.apache.axis2.AxisFault: Exception occurred while trying to invoke service method getServerData
	at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:531)
	at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:370)
	at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:445)
	at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:225)
	at org.apache.axis2.client.OperationClient.execute(OperationClient.java:149)
	at org.wso2.carbon.server.admin.stub.ServerAdminStub.getServerData(ServerAdminStub.java:1621)
	at org.wso2.carbon.server.admin.ui.ServerAdminClient.getServerData(ServerAdminClient.java:131)
	at org.apache.jsp.server_002dadmin.system_005fstatus_005fajaxprocessor_jsp._jspService(system_005fstatus_005fajaxprocessor_jsp.java:165)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:439)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
	at org.wso2.carbon.ui.JspServlet.service(JspServlet.java:155)
	at org.wso2.carbon.ui.TilesJspServlet.service(TilesJspServlet.java:80)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
	at org.eclipse.equinox.http.helper.ContextPathServletAdaptor.service(ContextPathServletAdaptor.java:37)
	at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
	at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128)
	at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:68)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
	at org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service(DelegationServlet.java:68)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.owasp.csrfguard.CsrfGuardFilter.doFilter(CsrfGuardFilter.java:88)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.wso2.carbon.ui.filters.CSRFPreventionFilter.doFilter(CSRFPreventionFilter.java:88)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.wso2.carbon.ui.filters.CRLFPreventionFilter.doFilter(CRLFPreventionFilter.java:59)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.wso2.carbon.tomcat.ext.filter.CharacterSetFilter.doFilter(CharacterSetFilter.java:61)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilter(HttpHeaderSecurityFilter.java:120)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:99)
	at org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:49)
	at org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:62)
	at org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:159)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
	at org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:57)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1749)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1708)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:745)





[ESBJAVA-4323] NullPointerException: Tenant domain has not been set in CarbonContext. Using hl7 Inbound Created: 20/Nov/15  Updated: 06/Aug/16

Status: Open
Project: WSO2 ESB
Component/s: Inbound Endpoints
Affects Version/s: 4.9.0
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Adrian Riobo Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Major
Estimated Complexity: Moderate
Attachment License: I agree to grant a license to WSO2 for this work for inclusion in WSO2 works as per the WSO2 Contributor License Agreement and the Apache License 2.0

 Description   

Using event mediator in a sequence where the message is received through an hl7 inbound endpoint I got:

DEBUG

{org.wso2.carbon.user.core.common.DefaultRealmService} - Error occurred while getting tenant user realm for tenant id : -1 {org.wso2.carbon.user.core.common.DefaultRealmService}

java.lang.NullPointerException: Tenant domain has not been set in CarbonContext
at org.wso2.carbon.caching.impl.CacheManagerFactoryImpl.getCacheManager(CacheManagerFactoryImpl.java:79)
at org.wso2.carbon.user.core.tenant.TenantCache.getTenantCache(TenantCache.java:38)
at org.wso2.carbon.user.core.tenant.TenantCache.getValueFromCache(TenantCache.java:73)
at org.wso2.carbon.user.core.tenant.JDBCTenantManager.getTenant(JDBCTenantManager.java:295)
at org.wso2.carbon.user.core.tenant.JDBCTenantManager.getTenant(JDBCTenantManager.java:53)
at org.wso2.carbon.user.core.common.DefaultRealmService.getTenantUserRealm(DefaultRealmService.java:154)
at org.wso2.carbon.event.core.internal.delivery.inmemory.InMemoryDeliveryManager.publish(InMemoryDeliveryManager.java:87)
at org.wso2.carbon.event.core.internal.EventPublisher.run(EventPublisher.java:56)
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:745)
TID: [-1] [] [2015-11-19 10:28:22,971] ERROR

{org.wso2.carbon.event.core.internal.EventPublisher} - Can not publish the message {org.wso2.carbon.event.core.internal.EventPublisher}

org.wso2.carbon.event.core.exception.EventBrokerException: Can not access the user store manager
at org.wso2.carbon.event.core.internal.delivery.inmemory.InMemoryDeliveryManager.publish(InMemoryDeliveryManager.java:109)
at org.wso2.carbon.event.core.internal.EventPublisher.run(EventPublisher.java:56)
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:745)

Sequence definition:

<?xml version="1.0" encoding="UTF-8"?>
<sequence xmlns="http://ws.apache.org/ns/synapse">
<log category="DEBUG" level="full"/>
<filter xmlns:ns="http://org.apache.synapse/xsd" xpath="//[local-name() = 'ADT_A04' and namespace-uri() = 'urn:hl7-org:v2xml']/[local-name() = 'MSH']/[local-name() = 'MSH.9']/[local-name() = 'CM_MSG.2']/text() = 'A04'">
<then>
<log category="DEBUG" level="full"/>
<event topic="adt_a04"/>
</then>
<else/>
</filter>
</sequence>






[ESBJAVA-4291] [MQTT] Temporary directories created for MQTT not getting deleted when removing inbound EP Created: 29/Oct/15  Updated: 06/Aug/16

Status: Open
Project: WSO2 ESB
Component/s: Inbound Endpoints
Affects Version/s: 4.9.0
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Yasassri Ratnayake Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

OS: CentOS JDK: 1.8 Database : MYSQL Browser : Google Chrome Version 43.0.2357.65 (64-bit) Setup: Standalone | ESB 4.9.0


Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

When creating a MQTT Inbound EP a directory will be created for each subscription. These directories will be created in ESB_HOME directory by default. So when we delete a MQTT inbound EP these directories should be deleted along with the EP. ATM these folders are not getting deleted.






[ESBJAVA-4303] Inbound Endpoint "switch to source view" Created: 06/Nov/15  Updated: 06/Aug/16

Status: Open
Project: WSO2 ESB
Component/s: Inbound Endpoints
Affects Version/s: 4.9.0
Fix Version/s: None

Type: Improvement Priority: Normal
Reporter: Philipp Bruegger Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 1
Labels: wso2esb
Remaining Estimate: 1 hour
Time Spent: Not Specified
Original Estimate: 1 hour

Attachments: PNG File wso2_switchtosourceview.png    
Severity: Minor
Estimated Complexity: Novice
Attachment License: I agree to grant a license to WSO2 for this work for inclusion in WSO2 works as per the WSO2 Contributor License Agreement and the Apache License 2.0
Test cases added: No
Affects Docs:
Yes

 Description   

When editing Proxies or Sequences in the Management Console, there is the option "switch to source view". This is a very useful feature.

With the new inbound endpoints the button is missing. Please add the same "switch to source view" button to the edit of inbound endpoints.






[ESBJAVA-4360] Wrong error stack/information provided for scenario Created: 15/Dec/15  Updated: 06/Aug/16

Status: Open
Project: WSO2 ESB
Component/s: Core Engine
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Sivajothy Vanjikumaran Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

1) Create a api
2) Change the namespace with https
3) Error-
Caused by: org.apache.synapse.deployers.SynapseArtifactDeploymentException: API deployment from the file : /etc/opt/wso2am-1.6.0/repository/deployment/server/synapse-configs/default/api/vanji--ServiceSellersAPI.xml : Failed.
at org.apache.synapse.deployers.AbstractSynapseArtifactDeployer.handleSynapseArtifactDeploymentError(AbstractSynapseArtifactDeployer.java:471)
at org.apache.synapse.deployers.APIDeployer.deploySynapseArtifact(APIDeployer.java:67)
at org.apache.synapse.deployers.AbstractSynapseArtifactDeployer.deploy(AbstractSynapseArtifactDeployer.java:190)
... 19 more
Caused by: org.apache.synapse.SynapseException: An API must contain at least one resource definition
at org.apache.synapse.config.xml.rest.APIFactory.handleException(APIFactory.java:160)
at org.apache.synapse.config.xml.rest.APIFactory.createAPI(APIFactory.java:86)
at org.apache.synapse.deployers.APIDeployer.deploySynapseArtifact(APIDeployer.java:44)
... 20 more

4) Issue here is in the wrong error stack or message saying that no resource found. Therefore, in production kind environment it is always good to have a right error code.






[ESBJAVA-4352] Problems with the command ./ciphertool.sh -Dchange Created: 04/Dec/15  Updated: 06/Aug/16

Status: Open
Project: WSO2 ESB
Component/s: Core Engine
Affects Version/s: 4.9.0
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Pedro Díaz Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Development, Integration, Production


Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

We have problems if we want to change one encrypted password.

When I execute:

/opt/soa/wso2esb-4.9.0/bin ./ciphertool.sh -Dchange
[Please Enter Primary KeyStore Password of Carbon Server : ]

Primary KeyStore of Carbon Server is initialized Successfully

[1] Axis2.Https.Sender.TrustStore.Password
.........
[13] Axis2.Https.Listener.KeyStore.KeyPassword
[Please enter the Number which is corresponding to the Password that is needed be changed [Press Enter to Skip] : ]4
[adminsoa@sltcsoa1d bin]$

I don't have option to change the password, after I choose the number of the password that I want change + enter, the ciphertool utility close.

If I execute the same option in esb4.8.1 it is correct:

/var/soa/backups/wso2esb/wso2esb-4.8.1/bin
[adminsoa@sltcsoa1d bin]$ ./ciphertool.sh -Dchange
[Please Enter Primary KeyStore Password of Carbon Server : ]

Primary KeyStore of Carbon Server is initialized Successfully

[1] Carbon.Security.KeyStore.Password
........
[5] Datasources.WSO2_CARBON_DB.Configuration.Password

Please enter the Number which is corresponding to the Password that is needed be changed [Press Enter to Skip] :
2
[Enter Password of Secret Alias - 'Carbon.Security.KeyStore.KeyPassword' :]



 Comments   
Comment by Pedro Díaz [ 09/Dec/15 ]

Please I need a resolution

Comment by Pedro Díaz [ 09/Dec/15 ]

I solve the problem with the ./ciphertool.sh -Dconfigure command:

1- I put the new password in plain text in cipher-text.properties and axis2.xml files
2- ./ciphertool.sh -Dconfigure

The password is encrypted correctly

But the command ./ciphertool.sh -Dchange is wrong in wso2esb-4.9.





[ESBJAVA-4198] [Tenant][Cluster] JMS Connections are not terminated when Forwarding MP is disabled Created: 08/Sep/15  Updated: 06/Aug/16

Status: In Progress
Project: WSO2 ESB
Component/s: Message Processors
Affects Version/s: 4.9.0 - RC2
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Yasassri Ratnayake Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Pack : wso2esb-4.9.0-RC4.zip
Java Version : Java 1.8
Setup : Cluster 3 Node
Browser : Chrome Version 43.0.2357.130 (64-bit) | FireFox 38.0
DB : MYSQL


Attachments: PNG File Selection_273.png    
Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

Steps to recreate

1. In a clustered environment log into a tenant and create the following message processor pointing to activemq.

<messageProcessor name="Message Processor_ActiveMQ" class="org.apache.synapse.message.processor.impl.forwarder.ScheduledMessageForwardingProcessor" targetEndpoint="MP_EP" messageStore="ACTIVEMQ_STORE" xmlns="http://ws.apache.org/ns/synapse">
   <parameter name="interval">3000</parameter>
   <parameter name="client.retry.interval">1000</parameter>
   <parameter name="max.delivery.attempts">4</parameter>
   <parameter name="message.processor.deactivate.sequence">DeActivate</parameter>
   <parameter name="is.active">false</parameter>
   <parameter name="max.delivery.drop">Disabled</parameter>
   <parameter name="member.count">1</parameter>
</messageProcessor>

2. Now activate the processor. In the ActiveMQ console 1 connection will be shown.
3. Now deactivate the processor.

Issue : After deactivating the JMS connection, the connection is not terminated by the ESB. Refer the attached screenshot.



 Comments   
Comment by Yasassri Ratnayake [ 08/Sep/15 ]

Even after removing the MPs the connections were still active.





[ESBJAVA-4185] Cannot deactivate Failover Message Forwarding Processor if the Forwarding interval is small Created: 07/Sep/15  Updated: 07/Sep/15

Status: Open
Project: WSO2 ESB
Component/s: Message Processors
Affects Version/s: 4.9.0 - RC2
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Yasassri Ratnayake Assignee: prabath ariyarathna
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Pack : wso2esb-4.9.0-RC4-SNAPSHOT.zip
Java Version : Java 1.8
Setup : Standalone
Browser : Chrome Version 43.0.2357.130 (64-bit) | FireFox 38.0
DB : MYSQL


Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

Steps to reproduce

1. Create the following message processor.

<messageProcessor
        class="org.apache.synapse.message.processor.impl.failover.FailoverScheduledMessageForwardingProcessor"
        messageStore="JDBC_STORE" name="FailOver_Processor">
        <parameter name="message.processor.deactivate.sequence">DeactivateSEQ</parameter>
        <parameter name="max.delivery.drop">Enabled</parameter>
        <parameter name="max.delivery.attempts">2</parameter>
        <parameter name="client.retry.interval">4000</parameter>
        <parameter name="member.count">1</parameter>
        <parameter name="interval">50</parameter>
        <parameter name="throttle">true</parameter>
        <parameter name="is.active">false</parameter>
        <parameter name="message.target.store.name">Test</parameter>
    </messageProcessor>

Note : I have specified the interval as 50 ms.

2. Activate the processor.
3. Fom the overview page try to deactivate the processor.

Issue : The processor is not getting deactivated some times, as soon as its deactivated its getting reactivated, refer the following logs (Ceck the time stamp of each log).

[2015-09-07 07:44:56,251]  INFO - ScheduledMessageProcessor Successfully re-activated the message processor [FailOver_Processor]
[2015-09-07 07:44:59,344]  INFO - ScheduledMessageProcessor Successfully deactivated the message processor [FailOver_Processor]
[2015-09-07 07:44:59,356]  INFO - FailoverForwardingService Resuming the service of message processor [FailOver_Processor]
[2015-09-07 07:45:06,700]  INFO - ScheduledMessageProcessor Successfully deactivated the message processor [FailOver_Processor]
[2015-09-07 07:45:06,716]  INFO - FailoverForwardingService Resuming the service of message processor [FailOver_Processor]


 Comments   
Comment by prabath ariyarathna [ 07/Sep/15 ]

Hi Yasassri.

Is this happened while FOMP consuming the messages?

Comment by Yasassri Ratnayake [ 07/Sep/15 ]

Yes when consuming messages





[ESBJAVA-4045] Anonymous Endpoint parameter and Pick From Registry parameter has UI issue in target configuration of clone mediator. Created: 11/Aug/15  Updated: 06/Aug/16

Status: Open
Project: WSO2 ESB
Component/s: Mediators
Affects Version/s: 4.9.0 - Beta
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Nayomi Dayarathne Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Pack : wso2esb-4.9.0-BETA-SNAPSHOT
Java version : Oracle jdk 1.7.0
DB Version : embedded H2
OS : Ubuntu 14.04 LTS


Severity: Major
Estimated Complexity: Moderate
Test cases added: No

 Description   

Steps to Recreate :

1. Create a custom proxy using clone mediator including below instructions.
-Proxy name - clonetest
-In insequence,
add a clone mediator and a target
-In Target, add an anonymous endpoint as below
http://localhost:9000/services/MTOMSwASampleService
-Then save the proxy

2. Then if we, go to source view, the code will display as below, without the endpoint name we mentioned in target.

<proxy xmlns="http://ws.apache.org/ns/synapse"
name="testclone"
transports="https,http"
statistics="disable"
trace="disable"
startOnLoad="true">
<target>
<inSequence>
<clone id="12" sequential="true">
<target/>
</clone>
</inSequence>
</target>
<description/>
</proxy>

3. Also when we go to design view of the proxy, the anonymous endpoint of the target configuration has dis-selected.

4.The same scenario happens when referring endpoint via registry for the target config: in clone mediator.






[ESBJAVA-4028] In-Memory store loses ns Created: 06/Aug/15  Updated: 06/Aug/16

Status: Open
Project: WSO2 ESB
Component/s: Message Stores
Affects Version/s: 4.8.1
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: John Hawkins Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

I'm using a MessageStore in a proxy flow. I have a message which I send to a SOAP endpoint. When I use a JMS store it works fine - the correct message gets sent to the endpoint.
However, when I swap that JMSStore for an in-memory store the ns in the message is lost and the message fails to get processed at the EP.

I have copied three versions of the message below: [1] is the message as I sent it before I used a messagestore. [2] is the message that works when I send it through a JMS message store [3] is the failing message as is sent when it comes out of the In-Memory. I'm assuming that the message is serialised in and out of the message store and this is probably where the problem is ?

[1] ORIGINAL MESSAGE
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:cof="http://coffee.suppliers.com/">
<soapenv:Header/>
<soapenv:Body>
<cof:orderSupplies>
<shopName>mylovelyshop</shopName>
<supplyType>morecoffee !!</supplyType>
<quantity>3</quantity>
</cof:orderSupplies>
</soapenv:Body>
</soapenv:Envelope>

[2] WORKING JMS_MESSAGE_STORE MESSAGE
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<cof:orderSupplies xmlns:cof="http://coffee.suppliers.com/">
<shopName>mylovelyshop</shopName>
<supplyType>morecoffee !!</supplyType>
<quantity>3</quantity>
</cof:orderSupplies>
</soapenv:Body>
</soapenv:Envelope>

[3] FAILING IN-MEMORY MESSAGE
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<orderSupplies>
<shopName>mylovelyshop</shopName>
<supplyType>morecoffee !!</supplyType>
<quantity>3</quantity>
</orderSupplies>
</soapenv:Body>
</soapenv:Envelope>






[ESBJAVA-4010] SAMLEntitlementCallbackHandler does not properly return user when SAML created by X.509 authentication Created: 04/Aug/15  Updated: 06/Aug/16

Status: Open
Project: WSO2 ESB
Component/s: Mediators
Affects Version/s: 4.8.1
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Gregory Streetman Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: 1 day
Time Spent: Not Specified
Original Estimate: 1 day

Severity: Major
Estimated Complexity: Novice
Attachment License: I agree to grant a license to WSO2 for this work for inclusion in WSO2 works as per the WSO2 Contributor License Agreement and the Apache License 2.0

 Description   

When you get a SAML token using the wso2carbon-sts service secured with Non-redudiation, the nameId field is populated with the Distinguished Name of the certificate. As a simple example, the name could be CN=admin. More complex examples might be CN=greg.streetnan,OU+EagleTG. This username is then returned by the SAMLEntitlementCallbackMediator, and the XACML PDP is not able to handle the username. It is necessary to pull out the Common name (CN) from the nameId and return that. The solution could be to change the line
return (String) msgContext.getProperty("saml.subject.id");
to
String subject = msgContext.getProperty("saml.subject.id");
if (subject.indexOf("CN=" >=0) {
subject = subject.substring(subject.indexOf("CN=") + 3);
if (subject.indexOf(",") > 0)

{ subject = subject.substring(0, subject.indexOf(",") -1) }

}
return subject;






[ESBJAVA-3631] Connection timeout duration is not serializing correctly in the source view when it has a value like $timeDuration instead of an integer Created: 31/Mar/15  Updated: 20/Jul/15

Status: Open
Project: WSO2 ESB
Component/s: Templates
Affects Version/s: 4.8.1
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Sohani Weerasinghe Assignee: Senduran Balasubramaniyam
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

When creating an Address Endpoint Template if we define a parameter as $timeDuration and if we are going to use that value for the duration in Connection Timeout it is not displaying properly.

The source view will look like

<template xmlns="http://ws.apache.org/ns/synapse" name="testTemplate">
<axis2ns12:parameter xmlns:axis2ns12="http://ws.apache.org/ns/synapse" name="timeDuration"></axis2ns12:parameter>
<endpoint name="$name">
<address uri="$uri">
<suspendOnFailure>
<progressionFactor>1.0</progressionFactor>
</suspendOnFailure>
<markForSuspension>
<retriesBeforeSuspension>0</retriesBeforeSuspension>
<retryDelay>0</retryDelay>
</markForSuspension>
<timeout>
<duration>30000</duration>
<responseAction>discard</responseAction>
</timeout>
</address>
</endpoint>
</template>

The duration tag should be <duration>$timeDuration</duration>

If we check in the file system, the source is getting serialized properly and the main source view also updates properly but the source view of the Address Endpoint Template is not getting updated






[ESBJAVA-3605] NullPointerException when mediation data publisher configuration is changed without server restart Created: 12/Mar/15  Updated: 25/Jul/15

Status: Open
Project: WSO2 ESB
Component/s: Statistics
Affects Version/s: 4.8.1
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Dumidu Handakumbura Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: ESB
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

JDK 1.7, Ubuntu 13.10, MySQL, BAM 2.5.0


Severity: Major
Estimated Complexity: Moderate
Test cases added: No

 Description   

If Mediation Data Publisher Configuration is changed(nickname, adding properties) following error is observed on server. Stats are not published to BAM. Please not that if the esb is restarted after the changes the error is not observed.

to reproduce,
1) fill mediation data publisher configuration and publish proxy stats to bam
2) change mediation data publisher configuration(add property)
3) increment stream version
4) invoke proxy service

ERROR - AsyncDataPublisher
java.lang.NullPointerException
at org.wso2.carbon.databridge.agent.thrift.AsyncDataPublisher$DataPublishWorker.run(AsyncDataPublisher.java:700)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
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)
[2015-03-09 16:53:03,310] ERROR - AsyncDataPublisher Not Supported stream definition type
[2015-03-09 16:53:03,310] ERROR - AsyncDataPublisher
java.lang.NullPointerException
at org.wso2.carbon.databridge.agent.thrift.AsyncDataPublisher$DataPublishWorker.run(AsyncDataPublisher.java:700)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
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)






[ESBJAVA-4795] ThrottleMediator - error in dynamic reload of throttling policy Created: 26/Jul/16  Updated: 26/Jul/16

Status: Open
Project: WSO2 ESB
Component/s: Mediators
Affects Version/s: 4.9.0
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Michal Horváth Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: ESB
Remaining Estimate: 4 hours
Time Spent: Not Specified
Original Estimate: 4 hours

Attachments: Text File wso2_bad.java     Text File wso2_repaired.java    
Severity: Major
Estimated Complexity: Moderate
Test cases added: No

 Description   

I used ThrottleMediator with dynamic policy. I was a problem, that policy was not reload. I identified problem in ThrottleMediator.java file in method: private void doInitializeThrottleDynamicPolicy(MessageContext synCtx, SynapseLog synLog)

There is a this original section of code in this method:

boolean reCreate = false;
// if the key refers to a dynamic resource
if (entry.isDynamic()) {
if ((!entry.isCached() || entry.isExpired()) && version != entry.getVersion())

{ reCreate = true; version = entry.getVersion(); }

}
//we ignore the static initialization case
if (reCreate || throttle == null) {
Object entryValue = synCtx.getEntry(policyKey);
if (entryValue == null)

{ handleException( "Null throttling policy returned by Entry : " + policyKey, synCtx); }

else {
if (!(entryValue instanceof OMElement))

{ handleException("Policy returned from key : " + policyKey + " is not an OMElement", synCtx); }

else

{ ... }

Problem is in this IF section:
if (entry.isDynamic()) {
if ((!entry.isCached() || entry.isExpired()) && version != entry.getVersion()) { ... }
-> this part of IF: version != entry.getVersion() is for dynamic reloading always FALSE, so reloading of throttling policy never come. Reason is, that reload of policy is made by this part of code:
Object entryValue = synCtx.getEntry(policyKey);
-> but this line of code is never call after first call because parameter reCreate is always FALSE. This line is called only first time, because parameter throttle is NULL, but after first call is never called, so policy is never reload after first time.

I changed code to this:
boolean reCreate = false;
// if the key refers to a dynamic resource
if (entry.isDynamic()) {

if ((!entry.isCached() || entry.isExpired())) { // need reload policy file after expiry or if not cached reCreate = true; }
}
// we ignore the static initialization case
if (reCreate) {
Object entryValue = synCtx.getEntry(policyKey); // policy reload
if (entryValue == null) { handleException("Null throttling policy returned by Entry : " + policyKey, synCtx); } else if (version != entry.getVersion()) { // have new version of policy, recreate throttle
version = entry.getVersion();

if (!(entryValue instanceof OMElement)) { handleException("Policy returned from key : " + policyKey + " is not an OMElement", synCtx); } else { ... }

and now dynamic policy reload work correctly. Can you test and repair ThrottleMediator class? Thanks.



 Comments   
Comment by Michal Horváth [ 26/Jul/16 ]

ThrottleMediator.java, method doInitializeDynamicPolicy()
wso2_bad.java -> bad part of method
wso2_repaired.java -> my repair to part of method

Comment by Michal Horváth [ 26/Jul/16 ]

I attached parts of code as java files because in comment it is not readable.





[ESBJAVA-4814] Unable to specify regex flags Created: 03/Aug/16  Updated: 03/Aug/16

Status: Open
Project: WSO2 ESB
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Normal
Reporter: Uditha Kumara Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: ESB
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Major
Estimated Complexity: Moderate
Test cases added: No

 Description   

In ESB mediators, unable to specify regex modifiers as [1].

[1] http://www.w3schools.com/jsref/jsref_obj_regexp.asp






[ESBJAVA-4827] Introduce NONE option for ActionAfterProcess and ActionAfterFailure on file Inbound Created: 06/Aug/16  Updated: 08/Aug/16

Status: Open
Project: WSO2 ESB
Component/s: Inbound Endpoints
Affects Version/s: 5.0.0-RC1
Fix Version/s: None

Type: Improvement Priority: Normal
Reporter: Chaminda Jayawardena Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

N/A


Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

Currently, we have only DELETE and MOVE options for below[1] vfs properties on Inbound Endpoint. Better to implement NONE option as well. This is already implemented for Synapse VFS.
[1]
transport.vfs.ActionAfterProcess
transport.vfs.ActionAfterFailure



 Comments   
Comment by Chanaka Fernando [ 08/Aug/16 ]

Reducing the priority since there is a clear workaround to achieve the same result with VFS transport.





[ESBJAVA-5062] Add Amazon Linux AMI to tested operative systems Created: 27/Mar/17  Updated: 27/Mar/17

Status: Open
Project: WSO2 ESB
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Wish Priority: Normal
Reporter: Miguel Lorono Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

I would like to know if Amazon Linux AMI is tested with following WSO2 Products:

  • WSO2 ESB 5.0.0
  • WSO2 ESB-Analitics 5.0.0 (DAS 3.1.0)

Thanks.






[ESBJAVA-5091] Empty Optional Objects on Datamapper Created: 02/May/17  Updated: 02/May/17

Status: Open
Project: WSO2 ESB
Component/s: Mediators
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Normal
Reporter: Randika Perera Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

Data Mapper is not removing the optional elements from the output mapping. Suppose we are doing xml to json transformation using Data Mapper.
Consider the below input and the output.

scenario 1

input

<input>
<id>1</id>
<repeatingValues>
<value>1</value>
</repeatingValues>
<repeatingValues>
<value>3</value>
</repeatingValues>
<singleValue>
<value>4</value>
</singleValue>
</input>

output

{
"id": "1",
"repeatingValues": [

{ "value": "1" }

,

{ "value": "3" }

],
"singleValue":

{ "value": "4" }

}

scenario 2

input

<input>
<id>2</id>
</input>

output

{
"id": "2",
"repeatingValues": [],
"singleValue": {}
}

According to the above, the empty elements are coming in the scenario 2.






[ESBJAVA-4674] JMS inbound endpoint CacheLevel param Created: 13/Jun/16  Updated: 13/Jun/16

Status: Open
Project: WSO2 ESB
Component/s: Inbound Endpoints
Affects Version/s: 4.9.0, 5.0.0-Beta
Fix Version/s: None

Type: Improvement Priority: Normal
Reporter: gregory eve Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Minor
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

Create a JMS inbound endpoint in the management console.

the parameter transport.jms.CacheLevel* is not explicit we have the choice between

{1,2,3}

.

The solution is to read the documentation to find what are these numbers.

A better solution is to replace the numbers by the JMS constants

{conn = 1, session = 2, consumer = 3,none = 0}




[ESBJAVA-4515] wso2esb dead letter channel example does not work in version 4.9.0 Created: 25/Mar/16  Updated: 25/Mar/16

Status: Open
Project: WSO2 ESB
Component/s: Mediators
Affects Version/s: 4.9.0
Fix Version/s: None

Type: Improvement Priority: Normal
Reporter: Erick Audet Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Major
Estimated Complexity: Novice
Test cases added: Yes
Affects Docs:
Yes

 Description   

Using a vanilla wso2esb 4.9.0 and trying out the dead letter channel design. It fails! The message that is stored in the queue is the soap fault error received from by endpoint. The example that I am following is: https://docs.wso2.com/display/IntegrationPatterns/Dead+Letter+Channel

Need to change the documentation to have a working as design.

Details and solution: http://stackoverflow.com/questions/36194681/wso2esb-dead-letter-channel-does-not-work-in-version-4-9-0

{no_format}
<proxy xmlns="http://ws.apache.org/ns/synapse" name="Proxy1"
transports="https,http" statistics="disable" trace="disable"
startOnLoad="true">
<target>
<inSequence>
<log level="full" />
</inSequence>
<outSequence>
<log level="full">
<property name="MSG" value="Response...." />
</log>
<send />
</outSequence>
<faultSequence>
<log level="full">
<property name="MSG" value="++++++++++FAULT---------...." />
</log>
<property name="target.endpoint" value="ReportDataTransferServiceEp" />
<store messageStore="ReportMessageStore" />
</faultSequence>
<endpoint>
<address uri="http://localhost:8080/TestSoapESB/webservices/ReportDataTransferService" />
</endpoint>
</target>
<publishWSDL
uri="http://localhost:8080/TestSoapESB/webservices/ReportDataTransferService?wsdl" />
<description></description>{no_format}




[ESBJAVA-4454] NullPointer observed when messages are sent and read by message processor. Created: 29/Feb/16  Updated: 06/Aug/16

Status: Open
Project: WSO2 ESB
Component/s: Message Processors
Affects Version/s: 5.0.0-M2
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Yasassri Ratnayake Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

ESB 5.0
Cluster : 4 Node cluster


Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

Following error and NullPointer was observed.

ERROR {org.wso2.carbon.mediation.ntask.NTaskTaskManager} -  Cannot pause task [MSMP_TestProcessor0]. Error: The task server cannot be located for task: MSMP_TestProcessor0 {org.wso2.carbon.mediation.ntask.NTaskTaskManager}
org.wso2.carbon.ntask.common.TaskException: The task server cannot be located for task: MSMP_TestProcessor0
	at org.wso2.carbon.ntask.core.impl.clustered.ClusteredTaskManager.getMemberIdFromTaskName(ClusteredTaskManager.java:285)
	at org.wso2.carbon.ntask.core.impl.clustered.ClusteredTaskManager.pauseTask(ClusteredTaskManager.java:163)
	at org.wso2.carbon.mediation.ntask.NTaskTaskManager.pause(NTaskTaskManager.java:197)
	at org.apache.synapse.message.processor.impl.ScheduledMessageProcessor.pauseService(ScheduledMessageProcessor.java:371)
	at org.apache.synapse.message.processor.impl.ScheduledMessageProcessor.deactivate(ScheduledMessageProcessor.java:325)
	at org.apache.synapse.message.processor.impl.forwarder.ForwardingService.deactivateMessageProcessor(ForwardingService.java:730)
	at org.apache.synapse.message.processor.impl.forwarder.ForwardingService.sendThroughReplySeq(ForwardingService.java:638)
	at org.apache.synapse.message.processor.impl.forwarder.ForwardingService.dispatch(ForwardingService.java:521)
	at org.apache.synapse.message.processor.impl.forwarder.ForwardingService.execute(ForwardingService.java:204)
	at org.wso2.carbon.mediation.ntask.NTaskAdapter.execute(NTaskAdapter.java:90)
	at org.wso2.carbon.ntask.core.impl.TaskQuartzJobAdapter.execute(TaskQuartzJobAdapter.java:67)
	at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
TID: [-1234] [] [2016-02-29 16:24:26,854]  INFO {org.apache.synapse.message.processor.impl.ScheduledMessageProcessor} -  Successfully deactivated the message processor [TestProcessor] {org.apache.synapse.message.processor.impl.ScheduledMessageProcessor}
TID: [-1234] [] [2016-02-29 16:24:26,869] ERROR {org.apache.synapse.message.processor.impl.forwarder.ForwardingService} -  Failed to send the out message. Reply sequence does not Exist. Deactivated the message processor {org.apache.synapse.message.processor.impl.forwarder.ForwardingService}
TID: [-1234] [] [2016-02-29 16:24:26,869]  WARN {org.apache.synapse.message.store.impl.jms.JmsConsumer} -  JMS Session is in an illegal state. Recovering session. {org.apache.synapse.message.store.impl.jms.JmsConsumer}
TID: [-1234] [] [2016-02-29 16:24:26,870] ERROR {org.apache.synapse.message.processor.impl.forwarder.ForwardingService} -  Message processor [TestProcessor] failed to send the message to client {org.apache.synapse.message.processor.impl.forwarder.ForwardingService}
java.lang.NullPointerException
	at org.apache.synapse.message.store.impl.jms.JmsConsumer$CachedMessage.ack(JmsConsumer.java:282)
	at org.apache.synapse.message.store.impl.jms.JmsConsumer.ack(JmsConsumer.java:130)
	at org.apache.synapse.message.processor.impl.forwarder.ForwardingService.dispatch(ForwardingService.java:522)
	at org.apache.synapse.message.processor.impl.forwarder.ForwardingService.execute(ForwardingService.java:204)
	at org.wso2.carbon.mediation.ntask.NTaskAdapter.execute(NTaskAdapter.java:90)
	at org.wso2.carbon.ntask.core.impl.TaskQuartzJobAdapter.execute(TaskQuartzJobAdapter.java:67)
	at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)



 Comments   
Comment by Roussel Jean-michel [ 07/Jul/16 ]

I've had the same NullPointer in org.apache.synapse.message.store.impl.jms.JmsConsumer$CachedMessage.ack(JmsConsumer.java:282) with ESB v5.0.0 Beta2 without cluster config (standalone node) : This NullPointer disapears when I add reply and fault sequences in Scheduled Message Processor configuration





[ESBJAVA-4440] Failed to build sample project. Created: 24/Feb/16  Updated: 06/Aug/16

Status: Open
Project: WSO2 ESB
Component/s: Samples
Affects Version/s: 4.8.1
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Yeiniel Suarez Sosa Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes
Affects Docs:
Yes

 Description   

If you try to build the example https://svn.wso2.org/repos/wso2/carbon/platform/tags/turing-chunk07/products/esb/4.8.1/modules/samples/integration-scenarios/starbucks_sample/BasicAuth-handler using the command `maven clean install` as described at https://docs.wso2.com/display/ESB481/Securing+APIs#SecuringAPIs-BasicAutho it fails because dependencies are missing from the local maven repo. Is not a good idea to add a repo to the pom or improve referenced documentation?






[ESBJAVA-4480] WSS PasswordDigest implementation Created: 09/Mar/16  Updated: 09/Mar/16

Status: Open
Project: WSO2 ESB
Component/s: None
Affects Version/s: 4.9.0
Fix Version/s: None

Type: Task Priority: Normal
Reporter: Maksym Khalin Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: WSS
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

ESB 3.0.1/4.9.0, Red Hat Enterprise Linux Server release 6, Java(TM) SE Runtime Environment 1.6.0_45


Severity: Major
Estimated Complexity: Moderate

 Description   

Hi,

We have implemented WSS with PasswordText according to http://docs.oasis-open.org/wss/v1.1/wss-v1.1-spec-os-UsernameTokenProfile.pdf without optinal tags <wsse:Nonce> and <wsu:Created>. But now our security officer insist on implementing Password_Digest = Base64 ( SHA-2 ( nonce + created + password ) ). As per standard lines 196-197:

"Note that PasswordDigest can only be used if the plain text password (or password equivalent) is available to both the requestor and the recipient."

but as we know ESB 3/4 stores only SHA2 hashed passwords + salt. So questions are:
1. Can we configure ESB 3/4 for using PasswordDigest and Nonce validation to defend from replay attacks? If yes, please send us step by step instructions.
2. Where will be stored plain text passwords?
3. Is it recommended by WSO2 to use PasswordDigest and Nonce?
4. Is it more secure then PasswordText without Nonce if we are using TLS 1.2?
5. What are performance overheads?

Thank you in advance.






[ESBJAVA-4542] [ESB500M2][LongRun] Error observed with jms: failed to store message Created: 07/Apr/16  Updated: 07/Apr/16

Status: Open
Project: WSO2 ESB
Component/s: Message Processors, Message Stores
Affects Version/s: 5.0.0-M2
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Chathurika De Silva Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

ESB500M2 Pack | Clustered Setup with 1 Manager & 3 Workers | NginX | MSSQL | Java8 | Long Running Test


Attachments: File ESB481SP2LongRunninTest.jmx     XML File sourceview.xml    
Severity: Major
Estimated Complexity: Moderate
Attachment License: I agree to grant a license to WSO2 for this work for inclusion in WSO2 works as per the WSO2 Contributor License Agreement and the Apache License 2.0
Test cases added: Not-applicable

 Description   

When run with the attached services (please see sourceview.xml) with the given jmeter script (please see the attached jmeter script) following error is observed

TID: [-1234] [] [2016-04-05 00:34:34,138]  WARN {org.apache.synapse.message.store.impl.jms.JmsProducer} -  [JMSStore-P-941456]. Ignored MessageID : urn:uuid:50e2c142-d4a7-4740-8d90-ceee1fc8feed {org.apache.synapse.message.store.impl.jms.JmsProducer}
TID: [-1234] [] [2016-04-05 00:34:34,138] ERROR {org.apache.synapse.mediators.store.MessageStoreMediator} -  Failed to store message [urn:uuid:652bad3a-2acc-4fa1-b103-89ccff677844] in store [JMSStore]. {org.apache.synapse.mediators.store.MessageStoreMediator}
TID: [-1234] [] [2016-04-05 00:34:34,138] ERROR {API_LOGGER.JMSStoreAPI} -  Failed to store message [urn:uuid:652bad3a-2acc-4fa1-b103-89ccff677844] in store [JMSStore]. {API_LOGGER.JMSStoreAPI}
TID: [-1234] [] [2016-04-05 00:34:34,138]  INFO {org.apache.synapse.mediators.builtin.LogMediator} -  To: /jmsstore, WSAction: , SOAPAction: , MessageID: urn:uuid:652bad3a-2acc-4fa1-b103-89ccff677844, Direction: request, MESSAGE = Executing default 'fault' sequence, ERROR_CODE = 0, ERROR_MESSAGE = Failed to store message [urn:uuid:652bad3a-2acc-4fa1-b103-89ccff677844] in store [JMSStore]., Envelope: <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://www.wso2.org/types"><soapenv:Body>
      <typ:greet> 
         <name>-----------Hello JMS MSMP---------</name>
      </typ:greet>
   </soapenv:Body></soapenv:Envelope> {org.apache.synapse.mediators.builtin.LogMediator}
	at org.wso2.carbon.context.internal.CarbonContextDataHolder.setTenantDomain(CarbonContextDataHolder.java:1390)
	at org.wso2.carbon.context.PrivilegedCarbonContext.setTenantDomain(PrivilegedCarbonContext.java:152)
	at org.wso2.carbon.context.PrivilegedCarbonContext.setTenantDomain(PrivilegedCarbonContext.java:141)
	at org.wso2.carbon.mediation.registry.WSO2Registry.setTenantInfo(WSO2Registry.java:754)
	at org.wso2.carbon.mediation.registry.WSO2Registry.lookup(WSO2Registry.java:130)
	at org.apache.synapse.registry.AbstractRegistry.getResource(AbstractRegistry.java:66)
--
	at org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:83)
	at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
	at org.apache.synapse.transport.passthru.ServerWorker.processNonEntityEnclosingRESTHandler(ServerWorker.java:317)
	at org.apache.synapse.transport.passthru.ServerWorker.processEntityEnclosingRequest(ServerWorker.java:363)
	at org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:142)
	at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)






[ESBJAVA-4310] Need to implement a way to manually trigger to refresh the ESB registry cache Created: 11/Nov/15  Updated: 06/Aug/16

Status: Open
Project: WSO2 ESB
Component/s: Registry
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Normal
Reporter: Randika Perera Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes




[ESBJAVA-5239] JSON builder to support primitive types Created: 17/Oct/17  Updated: 27/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: Core Engine
Affects Version/s: 5.0.0
Fix Version/s: None

Type: Improvement Priority: Normal
Reporter: Buddhima Wijeweera Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: ESB, JSON
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

WSO2 ESB 5.0.0


Severity: Major
Estimated Complexity: Moderate
Test cases added: Not-applicable

 Description   

Hi,
According to the old JSON spec [1], " A JSON text is a serialized object or array."
Later with the spec [2], that has been redefined and current spec says "A JSON text is a serialized value.", which mean JSON builder needs to support primitive types such as Strings, numbers, null & boolean values (See examples at [2]).
Since newest version of serializes (Java libraries etc.) have implemented the latest spec, we have seen ESB returnining error while trying to build the response from backend.
Appreciate if you can consider implementing latest spec[2] in future versions of JSON builders and formatters.

[1] https://tools.ietf.org/html/rfc4627
[2] https://tools.ietf.org/html/rfc7159#appendix-A

Thanks,






[ESBJAVA-5219] Misleading warning is logged when maximum message size and/or maximum size is exceeded in cache mediator Created: 04/Sep/17  Updated: 27/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: Mediators
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Normal
Reporter: Charini Nanayakkara Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: ESB-500
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

When the actual request message size exceeds the maximum message size specified with 'maxMessageSize' parameter, the following warning is displayed on the console.

[2017-09-04 10:12:08,966]  WARN - CacheMediator A response message without a valid mapping to the request hash found. Unable to store the response in cache

To view the actual error message, following debug log must be enabled in in <ESB_HOME>/repository/conf/log4j.properties file.

log4j.logger.org.apache.synapse.mediators.builtin.CacheMediator=DEBUG

Then the actual problem would be conveyed to the user with the following log entry

[2017-09-04 11:31:10,594] DEBUG - CacheMediator Message size exceeds the upper bound for caching, request will not be cached

Similarly, the same misleading warning is displayed when the number of unique request messages exceeds the maximum size depicted with maxSize property. When the debug log is enabled as above, the correct log is displayed as follows.

[2017-09-04 14:15:43,714] DEBUG - CacheMediator In-memory cache is full. Unable to cache

It's best to change the above logs to log.info level (currently it's in log.debug level) in the code since otherwise, users cannot know that the issue is with message size/ cache being full (since they would generally not enable the relevant debug log).

Method to reproduce

  1. The 'SimpleStockQuoteService' is used to demonstrate this problem.
    • To build the SimpleStockQuoteService sample, go to <ESB_HOME>/samples/axis2Server/src/SimpleStockQuoteService and run 'ant' command. The 'BUILD SUCCESSFUL' message would be displayed.
    • To start the SimpleStockQuoteService, go to <ESB_HOME>/samples/axis2Server location and run ./axis2server.sh command
  2. Start the ESB pack (Run ./wso2server.sh command from <ESB_HOME>/bin)
  3. Log on to the management console and create a proxy with the following configuration. Note that maxMessageSize is set to 5 (5 bytes).
    <?xml version="1.0" encoding="UTF-8"?>
    <proxy xmlns="http://ws.apache.org/ns/synapse"
           name="Test"
           startOnLoad="true"
           statistics="disable"
           trace="disable"
           transports="http,https">
       <target faultSequence="faultSequence">
          <inSequence>
             <cache collector="false"
                    hashGenerator="org.wso2.caching.digest.DOMHASHGenerator"
                    maxMessageSize="5"
                    scope="per-host"
                    timeout="20">
                <implementation maxSize="1000" type="memory"/>
             </cache>
             <send>
                <endpoint>
                   <address uri="http://localhost:9000/services/SimpleStockQuoteService"/>
                </endpoint>
             </send>
          </inSequence>
          <outSequence>
             <cache collector="true" scope="per-host"/>
             <send/>
          </outSequence>
       </target>
       <description/>
    </proxy>                      
    
  4. Call the 'Test' proxy with SoapUI. The following request message was sent.
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://services.samples">
      <soapenv:Header/>
      <soapenv:Body>
         <ser:getSimpleQuote>
            <ser:symbol>IBM</ser:symbol>
         </ser:getSimpleQuote>
      </soapenv:Body>
    </soapenv:Envelope>
    
  5. The misleading warning message would be displayed on the console, due to the request message size being larger than 5 bytes.
  6. Now change the maxSize value to 2. (Set maxMessageSize to 500 and timeout to 50000)
  7. Send 3 request messages, by changing symbol as 'IBM', 'WSO2' and 'MSFT' respectively.
  8. When request for 'MSFT' is sent, the misleading warning would be displayed, due to cache being full (cache can only hold two messages)

In both instances, to see the actual issue, relevant debug log (log4j.logger.org.apache.synapse.mediators.builtin.CacheMediator=DEBUG) has to be enabled as specified above.






[ESBJAVA-5236] Can not add namespaces to the property mediator using UI when trying to extract the Xpath value Created: 05/Oct/17  Updated: 27/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: Properties Management
Affects Version/s: 5.0.0
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Dileepa Dissanayake Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File namespace.png    
Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

Hi all,

Use case is described below,

1. Send a SOAP 11 request using below payload,

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://services.samples" xmlns:xsd="http://services.samples/xsd">
   <soapenv:Header/>
   <soapenv:Body>
     <student xmlns="http://ws.apache.org/ns/synapse">
      	<name>Dileepa</name>
     </student>
   </soapenv:Body>
</soapenv:Envelope>

2. Try to extract the name element from the above payload using property mediator as below,

<property expression="$body/student/name/text()" name="xpathvalue" scope="default" type="STRING"/>

3. Above expression is not working because of the namespace in the payload. So I have tried to add the namespace with the prefix with the UI as below,

please refer attached image "namespace.png"

4. The issue is it is not adding to the property mediator through the UI.

We can add the namespace by editing the proxy service from the synapse configurations by manually or we can add it through the car file.

But when we adding the namespace through the UI, changes (namespace) won't apply to the property mediator.

Thanks,
Dileepa






[ESBJAVA-3491] JSON <-> XML conversion; handling null vs empty string Created: 13/Jan/15  Updated: 27/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: Core Engine
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Normal
Reporter: Ishan Jayawardena Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Reference
relates to ESBJAVA-4467 XML to JSON returns wrong result when... Resolved
Severity: Major
Estimated Complexity: Moderate
Attachment License: I agree to grant a license to WSO2 for this work for inclusion in WSO2 works as per the WSO2 Contributor License Agreement and the Apache License 2.0
Test cases added: Yes

 Description   

Currently, ESB treats both null and empty strings in JSON values the same way. Look beblow

{"test":null}
{"test": ""}

both get converted into

<test/>

But the null value must be converted into XML Schema defined null value mentioned here [1]. ie into,

<test xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true" ></test>

[1] http://www.w3.org/TR/xmlschema-1/#xsi_nil






[ESBJAVA-5134] Accessing a non-existent context on the ESB does not return an error Created: 30/Jun/17  Updated: 27/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: Core Engine
Affects Version/s: 4.9.0
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Jang-Vijay Singh Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

ESB 4.9.0


Attachments: PNG File image-2017-06-30-12-56-01-638.png     PNG File image-2017-06-30-12-56-47-829.png     PNG File image-2017-06-30-12-58-11-056.png    
Severity: Major
Estimated Complexity: Unknown
Attachment License: I agree to grant a license to WSO2 for this work for inclusion in WSO2 works as per the WSO2 Contributor License Agreement and the Apache License 2.0
Test cases added: Yes

 Description   

Description
When you send an HTTP request (GET or POST) to either a non-existent *context * in ESB4.9.0, you get an "HTTP 202 - Accepted" response instead of 404 - Not Found.
This situation can be a bit error prone.

Detail

I created a simple API (code inline) which on deployment on ESB 4.9.0 becomes available at:
http://127.0.0.1:8280/helloworld/test
1) This works fine when I POST something to it as expected - returns the mock response
2) When I POST something to http://127.0.0.1:8280/helloworld/NonExistentResource , I get an HTTP 404 as configured according to https://docs.wso2.com/display/ESB490/Configuring+Specific+Use+Cases#ConfiguringSpecificUseCases-Handlingnon-matchingresources

3) When I POST something to NonExistentContext/test" class="external-link" rel="nofollow">http://127.0.0.1:8280/NonExistentContext/test I also get an HTTP 202 (instead of 404).

Expected:
Posting something to a non-existent context should also return an error message

Issue:

Normal operation (When configured for non-existent resource)

Normal operation:

References
1) https://docs.wso2.com/display/ESB490/Configuring+Specific+Use+Cases#ConfiguringSpecificUseCases-Handlingnon-matchingresources

2) API source:
{{<api xmlns="http://ws.apache.org/ns/synapse" name="HelloWorld" context="/helloworld">
<resource methods="POST" uri-template="/test">
<inSequence>
<payloadFactory media-type="json" description="set-response-payload">
<format>

{ "root":"mock" }

</format>
<args/>
</payloadFactory>
<respond description="test echo"/>
</inSequence>
<outSequence>
<send description="respond"/>
</outSequence>
<faultSequence>
<makefault version="soap11">
<code xmlns:soap11Env="http://schemas.xmlsoap.org/soap/envelope/" value="soap11Env:Server"/>
<reason value="TEST_Configured_fault"/>
<role/>
<detail>Test Fault from API</detail>
</makefault>
<send/>
</faultSequence>
</resource>
</api>
}}






[ESBJAVA-5133] Message processor not retrying for HTTPS proxy endpoint Created: 29/Jun/17  Updated: 27/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: Message Processors
Affects Version/s: 4.9.0
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Chethana Darshanamali Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: ESB-490
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

ESB 4.9.0


Severity: Major
Estimated Complexity: Moderate
Attachment License: I agree to grant a license to WSO2 for this work for inclusion in WSO2 works as per the WSO2 Contributor License Agreement and the Apache License 2.0
Test cases added: Yes

 Description   

Message processor is not retrying for status 500 response code for an HTTPS proxy service endpoint when the patch0049 and patch0114 patches are applied in ESB 4.9.0.






[ESBJAVA-5099] NullPointerException when the tenant being cleaned up before the scheduled task is executed Created: 22/May/17  Updated: 27/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: Scheduled Tasks
Affects Version/s: 5.0.0
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Asanka Abeyweera Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Major
Estimated Complexity: Moderate
Attachment License: I agree to grant a license to WSO2 for this work for inclusion in WSO2 works as per the WSO2 Contributor License Agreement and the Apache License 2.0
Test cases added: No

 Description   

Steps to reproduce

  1. Set the tenant lazy loading idle time to a low value like 3 and restart the server.
    <Tenant>
         <LoadingPolicy>
             <LazyLoading>
                 <IdleTime>3</IdleTime>
             </LazyLoading>
             <!-- <EagerLoading>
                    <Include>*,!foo.com,!bar.com</Include>
             </EagerLoading>-->
         </LoadingPolicy>
    </Tenant>
    
  2. Create a new tenant
  3. Using the new tenant add a scheduled task to run every five minutes. Please note that the time used in the scheduled task should be greater than the configured tenant idle time. Sample configuration is mentioned below.
    <?xml version="1.0" encoding="UTF-8"?>
    <task class="org.apache.synapse.startup.tasks.MessageInjector" group="synapse.simple.quartz" name="MyTask" xmlns="http://ws.apache.org/ns/synapse">
      <trigger cron="0 0/5 * 1/1 * ? *"/>
      <property name="injectTo" value="sequence" xmlns:task="http://www.wso2.org/products/wso2commons/tasks"/>
      <property name="message" xmlns:task="http://www.wso2.org/products/wso2commons/tasks">
        <request xmlns=""/>
      </property>
      <property name="sequenceName" value="MySequence" xmlns:task="http://www.wso2.org/products/wso2commons/tasks"/>
    </task>
    

Observed behaviour

Following exception was observed when the scheduled task was run after the tenant was unloaded and reloaded.

[2017-05-17 13:18:59,449] ERROR - SequenceMediator Error while building message
java.lang.NullPointerException
	at org.apache.axis2.context.AbstractContext.needPropertyDifferences(AbstractContext.java:239)
	at org.apache.axis2.context.AbstractContext.setProperty(AbstractContext.java:202)
	at org.apache.synapse.transport.passthru.util.RelayUtils.buildMessage(RelayUtils.java:107)
	at org.apache.synapse.mediators.AbstractListMediator.buildMessage(AbstractListMediator.java:140)
	at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:83)
	at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:59)
	at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158)
	at org.apache.synapse.mediators.MediatorWorker.run(MediatorWorker.java:80)
	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:745)

Workaround

Set the tenant idle time to a value greater than the scheduled time interval






[ESBJAVA-5081] Improve JMS transport to receive and send can be done in same XA transaction Created: 18/Apr/17  Updated: 27/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: JMS Transport
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Normal
Reporter: Vijitha Ekanayake Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

In current JMS transport implementation message consuming and producing happens over Two separate JMS sessions. Due to that reason, it isn't possible to rollback the consumed messages to original queue when a failure occurs while publishing messages to multiple JMS endpoints.






[ESBJAVA-4858] [DataMapper Mediator] NPE for Script Engine in Alpine Linux in Docker Created: 21/Aug/16  Updated: 28/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: Mediators
Affects Version/s: 5.0.0-RC4
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Maheeka Jayasuriya Assignee: Maheeka Jayasuriya
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

Script Engine is not initialized in Alpine Linux with Java8.



 Comments   
Comment by Maheeka Jayasuriya [ 22/Aug/16 ]

Upon further analysis, the reason for this issue is that Alpine docker image for 8_server-jre_unlimited has removed Nashorn support [1]. This issue can be resolved by installing openjdk-8 on Alpine (this is not the best solution since we are loosing the advantage of Alpine).

To address the problem from DM engine perspective , shall we add a null check during the Script Engine creation? [2]

[1] https://github.com/anapsix/docker-alpine-java/blob/master/8/102b14/server-jre/unlimited/Dockerfile#L71
[2] https://github.com/wso2/carbon-mediation/blob/master/components/mediators/datamapper/org.wso2.carbon.mediator.datamapper.engine/src/main/java/org/wso2/carbon/mediator/datamapper/engine/core/executors/ScriptExecutor.java#L57





[ESBJAVA-4243] RabbitMQ correlation ID set to null Created: 30/Sep/15  Updated: 28/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: RabbitMQ Transport
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Maheeka Jayasuriya Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

correlation id is set to null in request response scenarios if the endpoint url doesnt contain correlationid






[ESBJAVA-4189] Quartz configuration is not picked up when creating a Message processor Created: 07/Sep/15  Updated: 28/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: Message Processors
Affects Version/s: 4.9.0 - RC2
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Yasassri Ratnayake Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Pack : wso2esb-4.9.0-RC4-SNAPSHOT.zip
Java Version : Java 1.8
Setup : Standalone
Browser : Chrome Version 43.0.2357.130 (64-bit) | FireFox 38.0
DB : MYSQL


Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

When you create a message processor the given quartz.properties file is not picked up. This is applicable to all the message processors.

If this config file is not used this should be removed.






[ESBJAVA-4258] ESB 4.9.0 is not supporting to set cipher suite for RabbitMQ secure communication Created: 08/Oct/15  Updated: 28/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: RabbitMQ Transport
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Krishan Malan Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

There's no option to set ciphers supported by the RabbitMQ Server in WSO2 ESB 4.9.0






[ESBJAVA-4375] Test for ipv6 compatibility Created: 05/Jan/16  Updated: 28/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Normal
Reporter: Vinod Kavinda Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: ipv6
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

WSO2 kernel already has ipv6 support. But ESB has not yet been tested for this compatibility. We need to properly test it for that.






[ESBJAVA-4109] An error message "null" is shown when trying to save/view a sequence which consists of a script mediator which does not have a function name Created: 25/Aug/15  Updated: 28/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: Administration Console
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Gayan Dhanushka Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Major
Estimated Complexity: Moderate
Test cases added: No

 Description   

When trying to save the source of a sequence in the Web Console of the ESB (Home > Manage > Service Bus > Sequences and try to save the following as a sequence mediator body.

<script language="js" key="gov:js/test.js"/>

An error pops up with "null" inside, there is nothing in wso2carbon.log.






[ESBJAVA-4414] "\r" is dropped when payload is sent through payload factory mediator Created: 15/Feb/16  Updated: 28/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: Mediators
Affects Version/s: 4.9.0, 5.0.0-M2
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Yasassri Ratnayake Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

ESB 4.9
Java 1.8


Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

Steps

1. Create the following API along with the given sequence. (Note: I have enabled CDATA support in ESB)

<?xml version="1.0" encoding="UTF-8"?>
<api xmlns="http://ws.apache.org/ns/synapse" name="aoi02" context="/api02">
   <resource methods="POST">
      <inSequence>
         <property name="MESSAGE_FLOW"
                   value="PUSH_DATA"
                   scope="default"
                   type="STRING"/>
         <property name="uri.var.header"
                   expression="fn:concat('User-Agent: ', $trp:User-Agent, '&#xD;', 'Host: ', $trp:Host, '&#xD;', 'SOAPAction: ', $trp:SOAPAction, '&#xD;', 'Content-type: ', $trp:Content-type, '&#xD;', 'ETag: ', $trp:ETag)"
                   scope="default"
                   type="STRING"/>
         <property xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                   name="uri.var.body"
                   expression="//soapenv:Body/*"
                   scope="default"
                   type="STRING"/>
         <sequence key="MYSEQ"/>
      </inSequence>
   </resource>
</api>

The sequence

<?xml version="1.0" encoding="UTF-8"?>
<sequence xmlns="http://ws.apache.org/ns/synapse" name="MYSEQ">
   <log level="full"/>
   <property name="CURRENT_SEQUENCE"
             value="PushDataMsgIngestionHandler"
             scope="default"
             type="STRING"/>
   <header name="Action" scope="default" value="urn:addMessage"/>
   <payloadFactory media-type="xml">
      <format>&lt;raw:addMessage xmlns:raw="http://www.verisk.com/dataservice/message/raw"&gt;
   &lt;raw:push_msg_id&gt;$1&lt;/raw:push_msg_id&gt;
   &lt;raw:push_msg_body&gt;
      &lt;![CDATA[$2]]&gt;&lt;/raw:push_msg_body&gt;
      &lt;raw:push_msg_hdr&gt;$3&lt;/raw:push_msg_hdr&gt;
      &lt;raw:push_msg_ip&gt;$4&lt;/raw:push_msg_ip&gt;
   &lt;/raw:addMessage&gt;</format>
      <args>
         <arg xmlns:ns="http://org.apache.synapse/xsd"
              evaluator="xml"
              expression="$ctx:uri.var.uuid"/>
         <arg xmlns:ns="http://org.apache.synapse/xsd"
              evaluator="xml"
              expression="$ctx:uri.var.body"/>
         <arg xmlns:ns="http://org.apache.synapse/xsd"
              evaluator="xml"
              expression="$ctx:uri.var.header"/>
         <arg xmlns:ns="http://org.apache.synapse/xsd"
              evaluator="xml"
              expression="$trp:X-Forwarded-For"/>
      </args>
   </payloadFactory>
   <call>
      <endpoint>
         <address uri="http://localhost:8080/getesb"/>
      </endpoint>
   </call>
</sequence>

2. Now send a request with \r\n characters. Refer the following wire logs.

TID: [-1] [] [2016-02-09 22:23:54,851] DEBUG
{org.apache.synapse.transport.http.wire} - >> "POST /onstar-us/ingestion/pushdata/1.0/ HTTP/1.1[\r][\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,852] DEBUG
{org.apache.synapse.transport.http.wire} - >> "Host: jdwatiesb01:8243[\r][\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,852] DEBUG
{org.apache.synapse.transport.http.wire} - >> "Connection: keep-alive[\r][\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,852] DEBUG
{org.apache.synapse.transport.http.wire} - >> "Content-Length: 1776[\r][\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,852] DEBUG
{org.apache.synapse.transport.http.wire} - >> "Cache-Control: no-cache[\r][\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,852] DEBUG
{org.apache.synapse.transport.http.wire} - >> "Origin: chrome-extension://fhbjgbiflinjbdggehcddcbncdddomop[\r][\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,852] DEBUG
{org.apache.synapse.transport.http.wire} - >> "Content-Type: text/xml[\r][\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,852] DEBUG
{org.apache.synapse.transport.http.wire} - >> "ETag: WfQHJtAYFvzqYR9IlqLtWiWvAPkoVyC3W/0lwJmjs9A=[\r][\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,853] DEBUG
{org.apache.synapse.transport.http.wire} - >> "User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.97 Safari/537.36[\r][\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,853] DEBUG
{org.apache.synapse.transport.http.wire} - >> "Postman-Token: 2ec68b98-c433-c31a-a726-88ca0d918e54[\r][\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,853] DEBUG
{org.apache.synapse.transport.http.wire} - >> "Accept: /[\r][\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,853] DEBUG
{org.apache.synapse.transport.http.wire} - >> "Accept-Encoding: gzip, deflate[\r][\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,853] DEBUG
{org.apache.synapse.transport.http.wire} - >> "Accept-Language: en-US,en;q=0.8[\r][\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,853] DEBUG
{org.apache.synapse.transport.http.wire} - >> "[\r][\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,853] DEBUG
{org.apache.synapse.transport.http.wire} - >> "<?xml version="1.0" encoding="UTF-8" standalone="yes"?>[\r][\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,853] DEBUG
{org.apache.synapse.transport.http.wire} - >> "<PostTelemetryRequestType xmlns:ns2="urn:com:onstar:global:common:schema:PostTelemetryData:1">[\r][\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,854] DEBUG
{org.apache.synapse.transport.http.wire} - >> " <ns2:vehicleDataDetails>Timestamp LocationTimeOffset SPEED_RATE_OF_CHANGE SPEED_RATE_OF_CHANGE_POSITIVE CURRENT_SPEED CURRENT_SPEED_VALIDITY ODO_READ SYSTEM_POWER_MODE TRIP_ID</ns2:vehicleDataDetails>[\r][\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,854] DEBUG
{org.apache.synapse.transport.http.wire} - >> " <ns2:vehicleData>[\r][\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,854] DEBUG
{org.apache.synapse.transport.http.wire} - >> " <ns2:vin xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>[\r][\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,854] DEBUG
{org.apache.synapse.transport.http.wire} - >> " <ns2:partnerNotificationID>1030233223</ns2:partnerNotificationID>[\r][\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,854] DEBUG
{org.apache.synapse.transport.http.wire} - >> " <ns2:telemetryData>[\r][\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,854] DEBUG
{org.apache.synapse.transport.http.wire} - >> " <!-- Timestamp follows format yyyy-MM-dd'T'HH:mm:ss:Z Time passed is GMT Time. Adjust with the Offset to determine exact local time from the Vehicle-->[\r][\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,854] DEBUG
{org.apache.synapse.transport.http.wire} - >> " <ns2:telemetry>2014-11-21T19:18:52.000Z -6:0 N/A N/A N/A N/A 34567.0 RUN T102121</ns2:telemetry>[\r][\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,854] DEBUG
{org.apache.synapse.transport.http.wire} - >> " <ns2:telemetry>2014-11-21T19:28:58.000Z -6:0 2.847 true 15.984375 VALID 34667.0 N/A N/A</ns2:telemetry>[\r][\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,854] DEBUG
{org.apache.synapse.transport.http.wire} - >> " <ns2:telemetry>2014-11-21T19:29:02.000Z -6:0 4.444 false 11.984375 VALID 34677.0 N/A N/A</ns2:telemetry>[\r][\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,855] DEBUG
{org.apache.synapse.transport.http.wire} - >> " <ns2:telemetry>2014-11-21T19:29:13.000Z -6:0 2.847 true 15.984375 VALID 34687.0 N/A N/A</ns2:telemetry>[\r][\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,855] DEBUG
{org.apache.synapse.transport.http.wire} - >> " <ns2:telemetry>2014-11-21T19:29:28.000Z -6:0 6.666 false 7.984375 VALID 34697.0 N/A N/A</ns2:telemetry>[\r][\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,855] DEBUG
{org.apache.synapse.transport.http.wire} - >> " <ns2:telemetry>2014-11-21T19:29:36.000Z -6:0 2.847 true 15.984375 VALID 34707.0 N/A N/A</ns2:telemetry>[\r][\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,855] DEBUG
{org.apache.synapse.transport.http.wire} - >> " <ns2:telemetry>2014-11-21T19:29:49.000Z -6:0 6.666 false 7.984375 VALID 34717.0 N/A N/A</ns2:telemetry>[\r][\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,855] DEBUG
{org.apache.synapse.transport.http.wire} - >> " <ns2:telemetry>2014-11-21T19:29:55.000Z -6:0 2.847 true 15.984375 VALID 34727.0 N/A N/A</ns2:telemetry>[\r][\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,855] DEBUG
{org.apache.synapse.transport.http.wire} - >> " <ns2:telemetry>2014-11-21T19:30:31.000Z -6:0 N/A N/A N/A N/A 34767.0 OFF N/A</ns2:telemetry>[\r][\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,855] DEBUG
{org.apache.synapse.transport.http.wire} - >> " </ns2:telemetryData>[\r][\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,855] DEBUG
{org.apache.synapse.transport.http.wire} - >> " </ns2:vehicleData>[\r][\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,856] DEBUG
{org.apache.synapse.transport.http.wire} - >> "</PostTelemetryRequestType>" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,959] DEBUG
{org.apache.synapse.transport.http.wire} - << "POST /telematics/api/onstar-us/ingestion/pushdata/1.0/ HTTP/1.1[\r][\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,959] DEBUG
{org.apache.synapse.transport.http.wire} - << "messageid: cdfe2590-cf7b-11e5-81e7-0b36a19de43b[\r][\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,960] DEBUG
{org.apache.synapse.transport.http.wire} - << "Content-Type: application/xml; charset=UTF-8[\r][\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,960] DEBUG
{org.apache.synapse.transport.http.wire} - << "Transfer-Encoding: chunked[\r][\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,960] DEBUG
{org.apache.synapse.transport.http.wire} - << "Host: JDWATINETAPP:443[\r][\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,960] DEBUG
{org.apache.synapse.transport.http.wire} - << "Connection: Keep-Alive[\r][\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,960] DEBUG
{org.apache.synapse.transport.http.wire} - << "User-Agent: Synapse-PT-HttpComponents-NIO[\r][\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,960] DEBUG
{org.apache.synapse.transport.http.wire} - << "[\r][\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,960] DEBUG
{org.apache.synapse.transport.http.wire} - << "870[\r][\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,960] DEBUG
{org.apache.synapse.transport.http.wire} - << "<message xmlns="http://ws.apache.org/ns/synapse"><header>User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.97 Safari/537.36[\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,960] DEBUG
{org.apache.synapse.transport.http.wire} - << "Host: jdwatiesb01:8243[\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,961] DEBUG
{org.apache.synapse.transport.http.wire} - << "SOAPAction: [\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,961] DEBUG
{org.apache.synapse.transport.http.wire} - << "Content-type: text/xml[\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,961] DEBUG
{org.apache.synapse.transport.http.wire} - << "ETag: WfQHJtAYFvzqYR9IlqLtWiWvAPkoVyC3W/0lwJmjs9A=</header><body><![CDATA[<?xml version="1.0" encoding="UTF-8" standalone="yes"?>[\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,961] DEBUG
{org.apache.synapse.transport.http.wire} - << "<PostTelemetryRequestType xmlns:ns2="urn:com:onstar:global:common:schema:PostTelemetryData:1">[\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,961] DEBUG
{org.apache.synapse.transport.http.wire} - << " <ns2:vehicleDataDetails>Timestamp LocationTimeOffset SPEED_RATE_OF_CHANGE SPEED_RATE_OF_CHANGE_POSITIVE CURRENT_SPEED CURRENT_SPEED_VALIDITY ODO_READ SYSTEM_POWER_MODE TRIP_ID</ns2:vehicleDataDetails>[\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,961] DEBUG
{org.apache.synapse.transport.http.wire} - << " <ns2:vehicleData>[\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,961] DEBUG
{org.apache.synapse.transport.http.wire} - << " <ns2:vin xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>[\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,961] DEBUG
{org.apache.synapse.transport.http.wire} - << " <ns2:partnerNotificationID>1030233223<]]><Unable to render embedded object: File (partnerNotificationID>]]><) not found.[CDATA[[\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,961] DEBUG
{org.apache.synapse.transport.http.wire} - << " <ns2:telemetryData>[\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,962] DEBUG
{org.apache.synapse.transport.http.wire} - << " <!-- Timestamp follows format yyyy-MM-dd'T'HH:mm:ss:Z Time passed is GMT Time. Adjust with the Offset to determine exact local time from the Vehicle-->[\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,962] DEBUG
{org.apache.synapse.transport.http.wire} - << " <ns2:telemetry>2014-11-21T19:18:52.000Z -6:0 N/A N/A N/A N/A 34567.0 RUN T102121</ns2:telemetry>[\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,962] DEBUG
{org.apache.synapse.transport.http.wire} - << " <ns2:telemetry>2014-11-21T19:28:58.000Z -6:0 2.847 true 15.984375 VALID 34667.0 N/A N/A</ns2:telemetry>[\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,962] DEBUG
{org.apache.synapse.transport.http.wire} - << " <ns2:telemetry>2014-11-21T19:29:02.000Z -6:0 4.444 false 11.984375 VALID 34677.0 N/A N/A</ns2:tel]]><Unable to render embedded object: File ([CDATA[emetry>]]><) not found.[CDATA[[\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,962] DEBUG
{org.apache.synapse.transport.http.wire} - << " <ns2:telemetry>2014-11-21T19:29:13.000Z -6:0 2.847 true 15.984375 VALID 34687.0 N/A N/A</ns2:telemetry>[\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,962] DEBUG
{org.apache.synapse.transport.http.wire} - << " <ns2:telemetry>2014-11-21T19:29:28.000Z -6:0 6.666 false 7.984375 VALID 34697.0 N/A N/A</ns2:telemetry>[\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,962] DEBUG
{org.apache.synapse.transport.http.wire} - << " <ns2:telemetry>2014-11-21T19:29:36.000Z -6:0 2.847 true 15.984375 VALID 34707.0 N/A N/A</ns2:telemetry>[\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,962] DEBUG
{org.apache.synapse.transport.http.wire} - << " <ns2:telemetry>2014-11-21T19:29:49.000Z -6:0 6.666 false 7.984375 VALID 34717.0 N/A N/A</ns2:telemetry>[\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,962] DEBUG
{org.apache.synapse.transport.http.wire} - << " <ns2:telemetry>2014-11-21T19:29:55.000Z -6:0 2.847 tr]]><Unable to render embedded object: File (telemetry>]]><) not found.[CDATA[[\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,963] DEBUG
{org.apache.synapse.transport.http.wire} - << " <ns2:telemetry>2014-11-21T19:30:31.000Z -6:0 N/A N/A N/A N/A 34767.0 OFF N/A</ns2:telemetry>[\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,963] DEBUG
{org.apache.synapse.transport.http.wire} - << " </ns2:telemetryData>[\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,963] DEBUG
{org.apache.synapse.transport.http.wire} - << " </ns2:vehicleData>[\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,963] DEBUG
{org.apache.synapse.transport.http.wire} - << "</PostTelemetryRequestType>]]></body></message>[\r][\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,963] DEBUG
{org.apache.synapse.transport.http.wire} - << "0[\r][\n]" {org.apache.synapse.transport.http.wire}
TID: [-1] [] [2016-02-09 22:23:54,963] DEBUG
{org.apache.synapse.transport.http.wire} - << "[\r][\n]" {org.apache.synapse.transport.http.wire}

Issue : As evident in the above wire logs \r is dropped by the payload factory mediator.






[ESBJAVA-4320] OM type property value is being changed in sequence with enrich mediator Created: 18/Nov/15  Updated: 28/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: Mediators
Affects Version/s: 4.8.1
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: isuru ranawaka Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Major
Estimated Complexity: Moderate
Attachment License: I agree to grant a license to WSO2 for this work for inclusion in WSO2 works as per the WSO2 Contributor License Agreement and the Apache License 2.0
Test cases added: Yes

 Description   

When OM type property value is being changed in sequence with enrich mediator the value gets persisted and the proxy definition redeployed.
Every consecutive request will have the property value as set by the previous one






[ESBJAVA-4249] Cannot set values to entitlement mediator, using properties Created: 02/Oct/15  Updated: 28/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: Mediators
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Krishan Malan Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

ESB 4.8.1


Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

Can not set values dynamically to entitlement mediator.

Ex-
<property name="remoteUserName" value="admin"/>

How can we add above property to entitlement mediator. I tried like following, using the " get-property()" but seems this is not working.

<entitlementService remoteServiceUrl="https://localhost:9443/services/"
remoteServiceUserName="get-property('remoteUserName')" remoteServicePassword="pwdtenant1">






[ESBJAVA-3604] Add more debug log to the ESB SAP connector Created: 12/Mar/15  Updated: 28/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: Logging and Tracing
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Normal
Reporter: Upul Bandara Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

ESB 4.8.1


Severity: Minor
Estimated Complexity: Novice
Test cases added: No

 Description   

In order to debug issues in the ESB SAP connector easily and quickly, please add more debug logs. It would be really helpful, if we can add debug log at each execution path. Additionally, while creating and parsing iDocs, please log few properties belonging to that iDoc.






[ESBJAVA-4632] [ESB 500][JMS] Missing messages when using "transport.Transactionality" parameter Created: 25/May/16  Updated: 28/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: JMS Transport
Affects Version/s: 5.0.0-Alpha
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Dilshani Subasinghe Assignee: prabath ariyarathna
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System : Linux (ubuntu 15.10)
Java Version : JDK1.7
Packs : ESB 5.0.0 Alpha
ESB Setup: Standalone
JMS Broker: ActiveMQ (5.11.1)


Attachments: PNG File inboundResult.png     PNG File proxyResult.png    
Severity: Critical
Estimated Complexity: Moderate
Attachment License: I agree to grant a license to WSO2 for this work for inclusion in WSO2 works as per the WSO2 Contributor License Agreement and the Apache License 2.0

 Description   

Preconditions:
1. ESB should be configured with ActiveMQ.
Configure JMS parameters as follows in axis2.xml

  • JMS receiver
  <transportReceiver name="jms" class="org.apache.axis2.transport.jms.JMSListener">
        <parameter name="myTopicConnectionFactory" locked="false">
                <parameter name="java.naming.factory.initial" locked="false">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
                <parameter name="java.naming.provider.url" locked="false">failover:tcp://localhost:61616</parameter>
                <parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">TopicConnectionFactory</parameter>
                <parameter name="transport.jms.ConnectionFactoryType" locked="false">topic</parameter>
                <parameter name="transport.jms.DestinationType" locked="false">topic</parameter>
                <parameter name="transport.Transactionality" locked="false">local</parameter>
                <parameter name="transport.jms.SessionTransacted" locked="false">true</parameter>
        </parameter>

        <parameter name="myQueueConnectionFactory" locked="false">
                <parameter name="java.naming.factory.initial" locked="false">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
                <parameter name="java.naming.provider.url" locked="false">failover:tcp://localhost:61616</parameter>
                <parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">QueueConnectionFactory</parameter>
                <parameter name="transport.jms.ConnectionFactoryType" locked="false">queue</parameter>
                <parameter name="transport.Transactionality" locked="false">local</parameter>
                <parameter name="transport.jms.SessionTransacted" locked="false">true</parameter>
        </parameter>

        <parameter name="default" locked="false">
                <parameter name="java.naming.factory.initial" locked="false">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
                <parameter name="java.naming.provider.url" locked="false">failover:tcp://localhost:61616</parameter>
                <parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">TopicConnectionFactory</parameter>
                <parameter name="transport.jms.ConnectionFactoryType" locked="false">topic</parameter>
                <parameter name="transport.jms.DestinationType" locked="false">topic</parameter>
                <parameter name="transport.Transactionality" locked="false">local</parameter>
                <parameter name="transport.jms.SessionTransacted" locked="false">true</parameter>
        </parameter>
    </transportReceiver>
  • JMS sender
  <transportSender name="jms" class="org.apache.axis2.transport.jms.JMSSender">
           <parameter name="myTopicConnectionFactory" locked="false">
                <parameter name="java.naming.factory.initial" locked="false">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
                <parameter name="java.naming.provider.url" locked="false">failover:tcp://localhost:61616</parameter>
                <parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">TopicConnectionFactory</parameter>
                <parameter name="transport.jms.ConnectionFactoryType" locked="false">topic</parameter>
                <parameter name="transport.jms.DestinationType" locked="false">topic</parameter>
                <parameter name="transport.Transactionality" locked="false">local</parameter>
                <parameter name="transport.jms.SessionTransacted" locked="false">true</parameter>
        </parameter>

        <parameter name="myQueueConnectionFactory" locked="false">
                <parameter name="java.naming.factory.initial" locked="false">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
                <parameter name="java.naming.provider.url" locked="false">failover:tcp://localhost:61616</parameter>
                <parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">QueueConnectionFactory</parameter>
                <parameter name="transport.jms.ConnectionFactoryType" locked="false">queue</parameter>
                <parameter name="transport.Transactionality" locked="false">local</parameter>
                <parameter name="transport.jms.SessionTransacted" locked="false">true</parameter>
        </parameter>
     </transportSender>

Steps to reproduce:
1. Create ESB proxy with jms transport.

 <proxy name="QueueProxy" startOnLoad="true" transports="https http jms">
        <description/>
        <target>
            <inSequence>
                <property name="OUT_ONLY" value="true"/>
                <log level="full"/>
                <send>
                    <endpoint>
                        <address uri="jms:/MyQueue?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&amp;java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&amp;java.naming.provider.url=failover:tcp://localhost:61616&amp;transport.jms.DestinationType=queue&amp;transport.jms.SessionTransacted=true&amp;transport.Transactionality=local"/>
                    </endpoint>
                </send>
            </inSequence>
        </target>
        <parameter name="transport.jms.ConnectionFactory">myQueueConnectionFactory</parameter>
        <parameter name="transport.jms.DestinationType">queue</parameter>
        <parameter name="transport.jms.Destination">QueueProxy</parameter>
    </proxy>

2. Publish messages to queue "QueueProxy"

Expected result:

  • All messages should be send to other queue "MyQueue"

Actual Result:

  • Messages will be missing.

Note: Refer attachments. When testing same scenario with inbound endpoints, it may work properly.



 Comments   
Comment by Nuwan Wimalasekara [ 27/May/16 ]

Hi Dilshani,
I could not observed this behaviour on ESB 5.0.0-BETA. Can you please test this issue on 5.0.0-BETA and verify

Thanks,
Nuwanw

Comment by Dilshani Subasinghe [ 27/May/16 ]

Hi Nuwan,
I can reproduce the issue with Beta pack.

Regards,
Dilshani

Comment by Nuwan Wimalasekara [ 01/Jun/16 ]

This issue can not be reproduced with ActiveMQ client 5.8 versions. only reproduced with ActiveMQ client 5.9 or later versions

Even if the 5.9 version, when we send the messages with DeliveryMode.PERSISTENT, all the messages are consumed by ESB properly.

producer.setDeliveryMode(DeliveryMode.PERSISTENT)

Comment by Isuru Udana Loku Narangoda [ 08/Jun/16 ]

Hi,

Is this only happening when transport.Transactionality is set ?

Comment by Dilshani Subasinghe [ 08/Jun/16 ]

Hi,

Yes, It is.

Regards,
Dilshani

Comment by prabath ariyarathna [ 05/Aug/16 ]

This is only reproduced when we set transaction in the JMS listener side and send messages with non-persistent DeliveryMode . This scenario is highly unlike hence I have reduced the priority level of the ticket.





[ESBJAVA-3952] Problem with invoke proxy with custom URIService and secure Created: 23/Jul/15  Updated: 28/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: Proxy Services Management, Security
Affects Version/s: 4.8.1
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Gregory Goodweather Assignee: prabath ariyarathna
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Critical
Estimated Complexity: Moderate
Test cases added: Not-applicable

 Description   

Proxy parameters:
<parameter name="ServiceURI">/somepath/proxyName</parameter>
<policy key="gov:PathToPolicy/PolicyName.policy"/>
<parameter name="allowRoles">RuleName</parameter>
<enableSec/>

Policy:
<?xml version="1.0" encoding="UTF-8"?>
<wsp:Policy xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="policyFromRegistry">
<wsp:ExactlyOne>
<wsp:All>
<sp:TransportBinding xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
<wsp:Policy>
<sp:TransportToken>
<wsp:Policy>
<sp:HttpsToken RequireClientCertificate="false" />
</wsp:Policy>
</sp:TransportToken>
<sp:AlgorithmSuite>
<wsp:Policy>
<sp:Basic256 />
</wsp:Policy>
</sp:AlgorithmSuite>
<sp:Layout>
<wsp:Policy>
<sp:Lax />
</wsp:Policy>
</sp:Layout>
<sp:IncludeTimestamp />
</wsp:Policy>
</sp:TransportBinding>
<sp:SignedSupportingTokens xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
<wsp:Policy>
<sp:UsernameToken sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient" />
</wsp:Policy>
</sp:SignedSupportingTokens>
</wsp:All>
</wsp:ExactlyOne>
<rampart:RampartConfig xmlns:rampart="http://ws.apache.org/rampart/policy">
<rampart:user>wso2carbon</rampart:user>
<rampart:encryptionUser>useReqSigCert</rampart:encryptionUser>
<rampart:timestampPrecisionInMilliseconds>true</rampart:timestampPrecisionInMilliseconds>
<rampart:timestampTTL>300</rampart:timestampTTL>
<rampart:timestampMaxSkew>300</rampart:timestampMaxSkew>
<rampart:timestampStrict>false</rampart:timestampStrict>
<rampart:tokenStoreClass>org.wso2.carbon.security.util.SecurityTokenStore</rampart:tokenStoreClass>
<rampart:nonceLifeTime>300</rampart:nonceLifeTime>
<rampart:encryptionCrypto>
<rampart:crypto provider="org.wso2.carbon.security.util.ServerCrypto" cryptoKey="org.wso2.carbon.security.crypto.privatestore">
<rampart:property name="org.wso2.carbon.security.crypto.alias">wso2carbon</rampart:property>
<rampart:property name="org.wso2.carbon.security.crypto.privatestore">wso2carbon.jks</rampart:property>
<rampart:property name="org.wso2.stratos.tenant.id">-1234</rampart:property>
<rampart:property name="rampart.config.user">wso2carbon</rampart:property>
</rampart:crypto>
</rampart:encryptionCrypto>
<rampart:signatureCrypto>
<rampart:crypto provider="org.wso2.carbon.security.util.ServerCrypto" cryptoKey="org.wso2.carbon.security.crypto.privatestore">
<rampart:property name="org.wso2.carbon.security.crypto.alias">wso2carbon</rampart:property>
<rampart:property name="org.wso2.carbon.security.crypto.privatestore">wso2carbon.jks</rampart:property>
<rampart:property name="org.wso2.stratos.tenant.id">-1234</rampart:property>
<rampart:property name="rampart.config.user">wso2carbon</rampart:property>
</rampart:crypto>
</rampart:signatureCrypto>
</rampart:RampartConfig>
</wsp:Policy>

Errors:
TID[-1234] [ESB] [2015-07-23 13:20:37,414] ERROR

{org.apache.axis2.engine.AxisEngine}

- InvalidSecurity org.apache.rampart.handler.PostDispatchVerificationHandler.invoke(PostDispatchVerificationHandler.java:151) org.apache.axis2.engine.Phase.invokeHandler(Phase.java:340) org.apache.axis2.engine.Phase.invoke(Phase.java:313) org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:261) org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:167) org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172) org.apache.synapse.transport.nhttp.ServerWorker.processEntityEnclosingMethod(ServerWorker.java:459) org.apache.synapse.transport.nhttp.ServerWorker.run(ServerWorker.java:279) org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) java.lang.Thread.run(Thread.java:745)

TID[-1234] [ESB] [2015-07-23 13:20:37,415] ERROR

{org.apache.synapse.transport.nhttp.ServerWorker}

- Error processing POST request org.apache.rampart.handler.PostDispatchVerificationHandler.invoke(PostDispatchVerificationHandler.java:151) org.apache.axis2.engine.Phase.invokeHandler(Phase.java:340) org.apache.axis2.engine.Phase.invoke(Phase.java:313) org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:261) org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:167) org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172) org.apache.synapse.transport.nhttp.ServerWorker.processEntityEnclosingMethod(ServerWorker.java:459) org.apache.synapse.transport.nhttp.ServerWorker.run(ServerWorker.java:279) org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) java.lang.Thread.run(Thread.java:745)






[ESBJAVA-4523] Inconsistency in get-property when retrieving null values Created: 28/Mar/16  Updated: 28/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: Core Engine
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Madhawa Gunasekara Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Major
Estimated Complexity: Moderate
Attachment License: I agree to grant a license to WSO2 for this work for inclusion in WSO2 works as per the WSO2 Contributor License Agreement and the Apache License 2.0
Test cases added: Yes

 Description   

Normally In, property mediator we send Empty Strings for null values but when we use db lookup mediator to set properties it will send null for null values rather sending empty strings.

This null value is occurring only when statement retrieves 0 rows






[ESBJAVA-5025] Unable to read the response of a RPC message Created: 21/Feb/17  Updated: 29/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: RabbitMQ Transport
Affects Version/s: 5.0.0
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Fabio Masini Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Linux/ESB5.0 with latest patches applied/RabbitMQ


Attachments: XML File wso2ToPMS.xml    
Severity: Major
Estimated Complexity: Moderate

 Description   

I'm trying to send a message to an amqp consumer using the RPC pattern.
The consumer correctly receive the message and responds to rabbitmq in the correct generated queue with the right correlation_id.
When the ESB receive the response it raise an exception:

TID[-1234] AppID[RabbitMQRPCProxyGeo2] [ESB] [2017-02-21 15:35:12,977] ERROR {org.apache.synapse.core.axis2.Axis2Sender} - Unexpected error during sending message out org.apache.axis2.transport.rabbitmq.utils.RabbitMQUtils.getTransportHeaders(RabbitMQUtils.java:125) org.apache.axis2.transport.rabbitmq.RabbitMQSender.sendOverAMQP(RabbitMQSender.java:101) org.apache.axis2.transport.rabbitmq.RabbitMQSender.sendMessage(RabbitMQSender.java:81) org.apache.axis2.transport.base.AbstractTransportSender.invoke(AbstractTransportSender.java:112) org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442) org.apache.synapse.core.axis2.DynamicAxisOperation$DynamicOperationClient.send(DynamicAxisOperation.java:185) org.apache.synapse.core.axis2.DynamicAxisOperation$DynamicOperationClient.executeImpl(DynamicAxisOperation.java:167) org.apache.axis2.client.OperationClient.execute(OperationClient.java:149) org.apache.synapse.core.axis2.Axis2FlexibleMEPClient.send(Axis2FlexibleMEPClient.java:581) org.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java:78) org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:548) org.apache.synapse.endpoints.AbstractEndpoint.send(AbstractEndpoint.java:382) org.apache.synapse.endpoints.AddressEndpoint.send(AddressEndpoint.java:65) org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:121) org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97) org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:59) org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158) org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.receive(ProxyServiceMessageReceiver.java:210) org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:173) org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:146) org.wso2.carbon.core.transports.CarbonServlet.doPost(CarbonServlet.java:231) javax.servlet.http.HttpServlet.service(HttpServlet.java:650) javax.servlet.http.HttpServlet.service(HttpServlet.java:731) org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61) org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128) org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:68) javax.servlet.http.HttpServlet.service(HttpServlet.java:731) org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service(DelegationServlet.java:68) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) org.owasp.csrfguard.CsrfGuardFilter.doFilter(CsrfGuardFilter.java:72) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) org.wso2.carbon.ui.filters.CSRFPreventionFilter.doFilter(CSRFPreventionFilter.java:88) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) org.wso2.carbon.ui.filters.CRLFPreventionFilter.doFilter(CRLFPreventionFilter.java:59) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) org.wso2.carbon.tomcat.ext.filter.CharacterSetFilter.doFilter(CharacterSetFilter.java:61) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilter(HttpHeaderSecurityFilter.java:120) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:99) org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:49) org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:62) org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:159) org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956) org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:57) org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436) org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078) org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625) org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1749) org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1708) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) java.lang.Thread.run(Thread.java:745) 

I already tried to not set any application header but the problem still perxists.






[ESBJAVA-4924] In Validate mediator, Dynamic registry values not working with the resource attribute. Only work with Schema attribute. Created: 15/Oct/16  Updated: 29/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: Mediators
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Normal
Reporter: Malintha Madusanka Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Major
Estimated Complexity: Moderate
Attachment License: I agree to grant a license to WSO2 for this work for inclusion in WSO2 works as per the WSO2 Contributor License Agreement and the Apache License 2.0
Test cases added: Yes

 Description   

Used validate mediator by using the dynamic registry values for schema and resource attribute. But when we using the dynamic registry values
for schema attribute it worked properly as below.

<property name="xsdSchema" scope="axis2" type="STRING" value="gov:/TestSchema.xsd"/>  
<validate>
        <schema key="{$axis2:xsdSchema}"/>
        <resource key="gov:/referenceSchema.xsd" location="referenceSchema.xsd"/>

But if we use dynamic registry values for the resource attribute it didn't work properly and provided the
error as below.

<property name="xsdSchema" value="gov:/TestSchema.xsd" scope="axis2" type="STRING"/>
<property name="xsdSchema" value="gov:/referenceSchema.xsd" scope="axis2" type="STRING"/>
<validate>
        <schema key="{$axis2:xsdSchema}"/>
        <resource key="{$axis2:xsdResource}" location="referenceSchema.xsd"/>

Error when using the above scenario.

[2016-10-11 15:42:10,134] ERROR - ResourceMap Registry item '{$axis2:xsdResource}' for location 'referenceSchema.xsd' is not an OMElement
[2016-10-11 15:42:10,134] ERROR - ValidateMediator Error creating a new schema objects for schemas : [Value {name ='null', expression =$axis2:xsdSchema}]
org.apache.synapse.SynapseException: Registry item '{$axis2:xsdResource}' for location 'referenceSchema.xsd' is not an OMElement	





[ESBJAVA-4522] Configuring an Inbound MQTT endpoint which consume multiple indexed (positioned) topics Created: 28/Mar/16  Updated: 29/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: Inbound Endpoints
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Normal
Reporter: Asitha Dias Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: ESB
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Major
Estimated Complexity: Moderate

 Description   

It is better if ESB has a functionality of configuring an Inbound MQTT endpoint which consumes multiple indexed topics names as follows only by changing a single character, in this case just “3” and “6”

"/abcd/3//testxyz" and "/abcd/6//testxyz"






[ESBJAVA-4478] Need to validate the payload in the payload mediator Created: 09/Mar/16  Updated: 29/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: Mediators
Affects Version/s: 5.0.0-M2
Fix Version/s: None

Type: Improvement Priority: Normal
Reporter: Nuwan Silva Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

ESB 500M2 standlaone


Severity: Major
Estimated Complexity: Moderate
Attachment License: I agree to grant a license to WSO2 for this work for inclusion in WSO2 works as per the WSO2 Contributor License Agreement and the Apache License 2.0
Test cases added: Yes

 Description   

It would be better if we can verify the actual payload added into the payload mediator.

Payload:
<quote>
<symbol1></symbol1>
<symbol2>Silva</symbol2>

This is not validated and saved in the service.






[ESBJAVA-5117] Error in starting ESB 5.0.0 after executing cipher tool Created: 06/Jun/17  Updated: 29/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: Security
Affects Version/s: 5.0.0
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Randika Perera Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

ESB 5.0.0 + secure vault


Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

Reproducing steps(ESB 5.0.0 vanila pack)

1). Created our own keystore.
2). Copied that to <ESB_HOME>/repository/resources/security
3). Changed the new keystore related information in carbon.xml, axis2.xml, catalina-server.xml.
4). Added the configuration to 'cipher-text' and 'cipher-tool' property files.
5). Run the cipher tool.
6). Restarted the server and observed the below error.

techops@techops:~/Projects/2017/INGDIRECTPROD-93/wumesb/wso2esb-5.0.0/bin$ ./wso2server.sh
JAVA_HOME environment variable is set to /usr/lib/jvm/java-7-oracle
CARBON_HOME environment variable is set to /home/techops/Projects/2017/INGDIRECTPROD-93/wumesb/wso2esb-5.0.0
Using Java memory options: -Xms256m -Xmx1024m -XX:MaxPermSize=256m
[Enter KeyStore and Private Key Password :]
[2017-06-03 01:08:12,708]  INFO - CarbonCoreActivator Starting WSO2 Carbon...
[2017-06-03 01:08:12,712]  INFO - CarbonCoreActivator Operating System : Linux 3.19.0-42-generic, amd64
[2017-06-03 01:08:12,712]  INFO - CarbonCoreActivator Java Home        : /usr/lib/jvm/java-7-oracle/jre
[2017-06-03 01:08:12,712]  INFO - CarbonCoreActivator Java Version     : 1.7.0_80
[2017-06-03 01:08:12,712]  INFO - CarbonCoreActivator Java VM          : Java HotSpot(TM) 64-Bit Server VM 24.80-b11,Oracle Corporation
[2017-06-03 01:08:12,713]  INFO - CarbonCoreActivator Carbon Home      : /home/techops/Projects/2017/INGDIRECTPROD-93/wumesb/wso2esb-5.0.0
[2017-06-03 01:08:12,713]  INFO - CarbonCoreActivator Java Temp Dir    : /home/techops/Projects/2017/INGDIRECTPROD-93/wumesb/wso2esb-5.0.0/tmp
[2017-06-03 01:08:12,713]  INFO - CarbonCoreActivator User             : techops, en-US, Asia/Colombo
[2017-06-03 01:08:12,951]  INFO - KafkaEventAdapterServiceDS Successfully deployed the Kafka output event adaptor service
[2017-06-03 01:08:13,056]  INFO - ManagementModeConfigurationLoader CEP started in Single node mode
[2017-06-03 01:08:13,948] FATAL - TomcatBundleActivator Error while starting server NOT_FOUND_ERR: An attempt is made to reference a node in a context where it does not exist.
org.w3c.dom.DOMException: NOT_FOUND_ERR: An attempt is made to reference a node in a context where it does not exist.
	at org.apache.xerces.dom.AttributeMap.internalRemoveNamedItem(Unknown Source)
	at org.apache.xerces.dom.AttributeMap.removeNamedItem(Unknown Source)
	at org.wso2.carbon.tomcat.internal.ServerManager.init(ServerManager.java:98)
	at org.wso2.carbon.tomcat.internal.TomcatBundleActivator.start(TomcatBundleActivator.java:45)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683)
	at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)
	at org.eclipse.osgi.framework.internal.core.AbstractBundle.resume(AbstractBundle.java:390)
	at org.eclipse.osgi.framework.internal.core.Framework.resumeBundle(Framework.java:1176)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:559)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.resumeBundles(StartLevelManager.java:544)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.incFWSL(StartLevelManager.java:457)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:243)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:438)
	at org.eclipse.osgi.framework.internal.core.StartLevelManager.dispatchEvent(StartLevelManager.java:1)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
[2017-06-03 01:08:16,956]  INFO - EmbeddedRegistryService Configured Registry in 45ms
[2017-06-03 01:08:17,049]  INFO - RegistryCoreServiceComponent Registry Mode    : READ-WRITE
[2017-06-03 01:08:18,486]  INFO - SolrClient Default Embedded Solr Server Initialized
[2017-06-03 01:08:18,737]  INFO - UserStoreMgtDSComponent Carbon UserStoreMgtDSComponent activated successfully.

Checked the same with "WUM update of ESB 5.0.0" and observed the same error in there as well.






[ESBJAVA-5109] Intermittent exception javax.xml.stream.XMLStreamException: java.io.IOException: Unexpected symbol: END_OBJECT in ESB Created: 05/Jun/17  Updated: 29/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: Mediators, Transport
Affects Version/s: 4.9.0
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Manuri Perera Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: XML File one_clone_api.xml    
Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   
[2017-05-16 12:24:11,882] ERROR - OMSourcedElementImpl Could not get parser from data source for element jsonObject
javax.xml.stream.XMLStreamException: java.io.IOException: Unexpected symbol: END_OBJECT
	at org.apache.synapse.commons.staxon.core.base.AbstractXMLStreamReader.initialize(AbstractXMLStreamReader.java:245)
	at org.apache.synapse.commons.staxon.core.json.JsonXMLStreamReader.<init>(JsonXMLStreamReader.java:66)
	at org.apache.synapse.commons.staxon.core.json.JsonXMLInputFactory.createXMLStreamReader(JsonXMLInputFactory.java:165)
	at org.apache.synapse.commons.json.JsonUtil.getReader(JsonUtil.java:274)
	at org.apache.synapse.commons.json.JsonDataSource.getReader(JsonDataSource.java:153)
	at org.apache.axiom.om.impl.llom.OMSourcedElementImpl.getDirectReader(OMSourcedElementImpl.java:225)
	at org.apache.axiom.om.impl.llom.OMSourcedElementImpl.forceExpand(OMSourcedElementImpl.java:254)
	at org.apache.axiom.om.impl.llom.OMSourcedElementImpl.toString(OMSourcedElementImpl.java:941)
	at uk.co.tpplc.middleware.logger.LoggerV2Mediator.getBody(LoggerV2Mediator.java:91)
	at uk.co.tpplc.middleware.logger.LoggerV2Mediator.buildLog(LoggerV2Mediator.java:72)
	at uk.co.tpplc.middleware.logger.LoggerV2Mediator.mediate(LoggerV2Mediator.java:34)
	at org.apache.synapse.mediators.ext.ClassMediator.mediate(ClassMediator.java:78)
	at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:89)
	at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:56)
	at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:149)
	at org.apache.synapse.mediators.MediatorWorker.run(MediatorWorker.java:69)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.IOException: Unexpected symbol: END_OBJECT
	at org.apache.synapse.commons.staxon.core.json.stream.impl.JsonStreamSourceImpl.startJsonValue(JsonStreamSourceImpl.java:125)
	at org.apache.synapse.commons.staxon.core.json.stream.impl.JsonStreamSourceImpl.next(JsonStreamSourceImpl.java:144)
	at org.apache.synapse.commons.staxon.core.json.stream.impl.JsonStreamSourceImpl.peek(JsonStreamSourceImpl.java:272)
	at org.apache.synapse.commons.staxon.core.json.JsonXMLStreamReader.consume(JsonXMLStreamReader.java:129)
	at org.apache.synapse.commons.staxon.core.base.AbstractXMLStreamReader.initialize(AbstractXMLStreamReader.java:243)

Reproducing

1. Write a class mediator that calls toString method on the body obtained from the soap envelope as follows and deploy it in ESB.

SOAPBody body = messageContext.getEnvelope().getBody();
body.getFirstElement().toString();

2. Deploy the attached API in the ESB.
3. The aforementioned exception can be observed intermittently when doing a load sending a request to this API

Sample request

curl -v http://172.17.0.1:8280/oneclone --data '{"hello":"world"}' -H'Content-Type:Application/json'





[ESBJAVA-4865] Need to return the response code base on the resource mismatching reason(malformed character or bad request) Created: 23/Aug/16  Updated: 29/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: Logging and Tracing
Affects Version/s: 4.9.0
Fix Version/s: None

Type: Improvement Priority: Normal
Reporter: Randika Perera Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

The current implemented logic is not supported to identify the specific reason("malformed request" or "not found") for the resource mismatching. In both cases it's called to the same "resource_mismatch_handler" sequence.
Need to distinguish the reason and return the response code base on that.
Ex:
400 - BAD REQUEST: for all malformed requests, like requests with '@' in the URL
404 - NOT FOUND: for all resources, not mapped






[ESBJAVA-5042] Fault sequence source code is overridden in case of failure. Created: 09/Mar/17  Updated: 29/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: Core Engine
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Chethana Darshanamali Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: ESB
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

ESB 4.9.0


Severity: Major
Estimated Complexity: Moderate
Attachment License: I agree to grant a license to WSO2 for this work for inclusion in WSO2 works as per the WSO2 Contributor License Agreement and the Apache License 2.0
Test cases added: Yes

 Description   

In the configured fault sequence there is a simple property with OM type and default scopes to fill in value there. We want to return all details from exception as a SOAP Fault message when failure occurs. When we invoke the proxy with the request (that will execute the fault sequence), we are receiving a correct response describing Fault. Then after checking the current form of the Fault Sequence in Management console we can observe that the property has been overridden after this invocation. Also next invocation is invalid as for another error since it contains previous details.

Fault Sequence

<?xml version="1.0" encoding="UTF-8"?>
<sequence name="TestProxyFaultSequence" xmlns="http://ws.apache.org/ns/synapse">
    <property expression="fn:concat('[', get-property('ERROR_CODE'), ']: ', get-property('ERROR_MESSAGE'))"
        name="ERROR_REASON" scope="axis2" type="STRING" xmlns:ns="http://org.apache.synapse/xsd" xmlns:ns3="http://org.apache.synapse/xsd"/>
    <property name="ERROR_DATA" scope="default" type="OM">
        <data xmlns=""/>
    </property>
    <filter xmlns:ns="http://org.apache.synapse/xsd" xmlns:ns3="http://org.apache.synapse/xsd" xpath="string-length(get-property('ERROR_DETAIL')) > 0">
        <then>
            <enrich>
                <source clone="true" property="ERROR_DETAIL" type="property"/>
                <target action="replace" type="custom" xpath="$ctx:ERROR_DATA"/>
            </enrich>
        </then>
    </filter>
    <makefault version="soap11">
        <code value="soap11Env:Server" xmlns:soap11Env="http://schemassoap.org/soap/envelope/"/>
        <reason expression="get-property('axis2', 'ERROR_REASON')" xmlns:ns="http://org.apache.synapse/xsd" xmlns:ns3="http://org.apache.synapse/xsd"/>
        <detail expression="get-property('ERROR_DATA')" xmlns:ns="http://org.apache.synapse/xsd" xmlns:ns3="http://org.apache.synapse/xsd"/>
    </makefault>
    <log level="full"/>
    <respond/>
</sequence>

Fault Sequence(After the response)

<?xml version="1.0" encoding="UTF-8"?>
<sequence name="TestProxyFaultSequence" xmlns="http://ws.apache.org/ns/synapse">
    <property
        expression="fn:concat('[', get-property('ERROR_CODE'), ']: ', get-property('ERROR_MESSAGE'))"
        name="ERROR_REASON" scope="axis2" type="STRING"
        xmlns:ns="http://org.apache.synapse/xsd" xmlns:ns3="http://org.apache.synapse/xsd"/>
    <property name="ERROR_DATA" scope="default">
        <data xmlns="">org.apache.synapse.SynapseException: Sequence named Value {name ='null', keyValue ='NonExistent_1'} cannot be found&#xd;
	at org.apache.synapse.mediators.AbstractMediator.handleException(AbstractMediator.java:285)&#xd;
	at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:203)&#xd;
	at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:81)&#xd;
	at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:48)&#xd;
	at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:149)&#xd;
	at org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.receive(ProxyServiceMessageReceiver.java:185)&#xd;
	at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)&#xd;
	at org.apache.synapse.transport.passthru.ServerWorker.processEntityEnclosingRequest(ServerWorker.java:395)&#xd;
	at org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:142)&#xd;
	at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)&#xd;
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)&#xd;
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)&#xd;
	at java.lang.Thread.run(Thread.java:745)&#xd;
</data>
    </property>
    <filter xmlns:ns="http://org.apache.synapse/xsd"
        xmlns:ns3="http://org.apache.synapse/xsd" xpath="string-length(get-property('ERROR_DETAIL')) > 0">
        <then>
            <enrich>
                <source clone="true" property="ERROR_DETAIL" type="property"/>
                <target action="replace" type="custom" xpath="$ctx:ERROR_DATA"/>
            </enrich>
        </then>
    </filter>
    <makefault version="soap11">
        <code value="soap11Env:Server" xmlns:soap11Env="http://schemassoap.org/soap/envelope/"/>
        <reason expression="get-property('axis2', 'ERROR_REASON')"
            xmlns:ns="http://org.apache.synapse/xsd" xmlns:ns3="http://org.apache.synapse/xsd"/>
        <detail expression="get-property('ERROR_DATA')"
            xmlns:ns="http://org.apache.synapse/xsd" xmlns:ns3="http://org.apache.synapse/xsd"/>
    </makefault>
    <log level="full"/>
    <respond/>
</sequence>

Thanks & Regards,
Chethana.






[ESBJAVA-5002] Backend security policy is applied to the front end out flow Created: 24/Jan/17  Updated: 29/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: Proxy Services Management, Security
Affects Version/s: 4.8.1
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Darshana Akalanka Pagoda Arachchi Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: XML File BEPolicy-sign-encrypt.xml     XML File UTPolicy.xml     XML File echo_end.xml     XML File test-1.0.0.xml    
Severity: Major
Estimated Complexity: Moderate
Attachment License: I agree to grant a license to WSO2 for this work for inclusion in WSO2 works as per the WSO2 Contributor License Agreement and the Apache License 2.0
Test cases added: Yes

 Description   

Steps to reproduce.

1. Create a proxy that calls a sign and encrypt secure backend using the send mediator (test-1.0.0.xml).
2. Apply two security policies to in flow and out flow of the endpoint (can use the same policy file) (echo_end.xml endpoint is secured with BEPolicy-sign-encrypt.xml).
3. Secure the proxy with UT policy(UTPolicy.xml).

Expected result
Response to the original client should be in plain text without encryption as it is the expected response for UT policy

Actual result
The response to the original client will be signed and encrypted instead of returning plain response which is expected in the UT policy scenario.

When a backed is secured with a out policy and send mediator is invoked a property named 'rampartOutPolicy' is set. This property is not reset when the send mediator is invoked again in the outSequence.

Removing this property before the send mediator in the outSequence by using a property mediator does not seem to remove this property.

This seem to work when the default endpoint is used in the outSequence send mediator as below.

<outSequence>
<log level="full"/>
<send>
<endpoint>
<default/>
</endpoint>
</send>
</outSequence>






[ESBJAVA-4653] [ESB][JMS][Sender] Did not create queue in broker when add configuration in axis2.xml Created: 03/Jun/16  Updated: 29/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: JMS Transport
Affects Version/s: 5.0.0-Beta
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Dilshani Subasinghe Assignee: Eranda Rajapakshe
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System : Linux (ubuntu 15.10)
Java Version : JDK1.7
Packs : ESB 5.0.0 Alpha
ESB Setup: Standalone
JMS Broker: MB (3.1.0)


Severity: Major
Estimated Complexity: Moderate
Attachment License: I agree to grant a license to WSO2 for this work for inclusion in WSO2 works as per the WSO2 Contributor License Agreement and the Apache License 2.0

 Description   

Preconditions:
1. ESB should be configured with MB.
Sample configuration in axis2.xml

 <transportSender name="jms" class="org.apache.axis2.transport.jms.JMSSender">
<parameter name="myQueueConnectionFactory" locked="false">
            <parameter name="java.naming.factory.initial" locked="false">org.wso2.andes.jndi.PropertiesFileInitialContextFactory</parameter>
            <parameter name="java.naming.provider.url" locked="false">repository/conf/jndi.properties</parameter>
            <parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">QueueConnectionFactory</parameter>
            <parameter name="transport.jms.ConnectionFactoryType" locked="false">queue</parameter>
</transportSender>

2. MB should be up and running
3. ESB should be up and running

Steps to reproduce:
1. Create a proxy in ESB.
Sample configuration:

 <proxy name="StockQuoteProxy" startOnLoad="true" transports="http">
        <description/>
        <target>
            <inSequence>
                <property name="OUT_ONLY" value="true"/>
                <send>
                    <endpoint>
                        <address uri="jms:/StockQuotesQueue?&amp;transport.jms.ConnectionFactory=myQueueConnectionFactory"/>
                    </endpoint>
                </send>
            </inSequence>
            <outSequence>
                <send/>
            </outSequence>
        </target>
    </proxy>

2. Publish messages to proxy

Expected Result:

  • Creating queue in MB side and publishing messages to it

Actual Result:

  • Giving an error indicating missing listener in broker side.
[2016-06-03 00:36:43,425] ERROR - AMQConnection Throwable Received but no listener set: org.wso2.andes.client.AMQNoRouteException: Error: No Route for message [error code 312: no route]

Note: when created queue in MB, it doesn't give any error. But according to other configurations, it may create queue automatically.



 Comments   
Comment by Eranda Rajapakshe [ 07/Dec/16 ]

WSO2 Message Broker doesn't support queue creation for messages sent from JMS Sender, it only creates queues when a JMS Consumer subscribes to a new queue. In other scenarios, user will have to create queues manually before sending anything.

This use-case is valid for most of other JMS brokers, but with WSO2 MB this is the intended behavior.

A workaround is added to ESB for previous JMS version ("1.0.2b") but its no longer supported in JMS 1.1 API with WSO2 MB.

Thanks,
Eranda





[ESBJAVA-4956] Unable to pick passwords from secure vault, when having multiple concurrent requests Created: 21/Nov/16  Updated: 29/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: Platform, Security
Affects Version/s: 4.8.1
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Sarindu Udagepala Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

WSO2 ESB 4.8.1 Cluster (One Manager, Two Workers)
Java Version 1.7.0_79
OS - Linux
Shared Registry Database - MariaDB 10.1 / MYSQL 5.7


Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

Hi Team,

Please note that the we are having an issue with reading passwords from the secure vault through an API. We are having an ESB 4.8.1 cluster and use MariaDB as the database. The issue is that "wso2:vault-lookup('test.password')" is occasionally returning an empty string when concurrent requests are sent to the API.

Please note that you can reproduce this issue by following the below mentioned steps.

  1. Set up an ESB (Version:4.8.1) cluster with a manager node and two worker nodes. Use MariaDB for the database with default configurations.
  2. Add a password to the secure vault
  3. Write an API to retrieve and log the password specified in step 2.
  4. Write and execute a JMeter script to invoke the API specified in step 3. Use a thread group of 800 threads and set the ramp up period to two seconds.

Please note that we implemented the same scenario using MYSQL as well, and we are still encountering the same issue. Highly appreciate if you can look into this issue and provide a resolution.

Thanks.






[ESBJAVA-4941] Sample 253 gives NPE in axis2 client when sending the request Created: 01/Nov/16  Updated: 29/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: Samples
Affects Version/s: 5.0.0
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Jagath Ariyarathne Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

While executing request in axis2client as mentioned in Sample 253, it throws NullpointerException. But message is correctly delivered to the back-end.

[java] [2016-11-01 14:57:55,708] ERROR

{org.apache.sandesha2.SandeshaModule}

- Could not load module policies. Using default values.
[java] [2016-11-01 14:57:55,784] INFO

{org.apache.axis2.transport.jms.JMSSender} - JMS Sender started
[java] [2016-11-01 14:57:55,785] INFO {org.apache.axis2.transport.jms.JMSSender}

- JMS Transport Sender initialized...
[java] [2016-11-01 14:57:55,786] INFO

{org.apache.axis2.transport.mail.MailTransportSender}

- MAILTO Sender started
[java] SLF4J: Class path contains multiple SLF4J bindings.
[java] SLF4J: Found binding in [jar:file:/home/jagatha/Documents/work/temp/Dimuthu/wso2esb-5.0.0/repository/components/plugins/quickfixj_1.4.0.wso2v2.jar!/org/slf4j/impl/StaticLoggerBinder.class]
[java] SLF4J: Found binding in [jar:file:/home/jagatha/Documents/work/temp/Dimuthu/wso2esb-5.0.0/repository/components/plugins/slf4j.log4j12_1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
[java] SLF4J: Found binding in [jar:file:/home/jagatha/Documents/work/temp/Dimuthu/wso2esb-5.0.0/repository/components/plugins/slf4j.log4j12_1.7.13.jar!/org/slf4j/impl/StaticLoggerBinder.class]
[java] SLF4J: Found binding in [jar:file:/home/jagatha/Documents/work/temp/Dimuthu/wso2esb-5.0.0/repository/components/plugins/slf4j_1.5.10.wso2v1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
[java] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
[java] java.lang.NullPointerException
[java] at org.apache.axis2.transport.jms.JMSSender.sendOverJMS(JMSSender.java:296)
[java] at org.apache.axis2.transport.jms.JMSSender.sendMessage(JMSSender.java:200)
[java] at org.apache.axis2.transport.base.AbstractTransportSender.invoke(AbstractTransportSender.java:107)
[java] at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
[java] at org.apache.axis2.description.OutOnlyAxisOperationClient.executeImpl(OutOnlyAxisOperation.java:297)
[java] at org.apache.axis2.client.OperationClient.execute(OperationClient.java:149)
[java] at org.apache.axis2.client.ServiceClient.fireAndForget(ServiceClient.java:511)
[java] at org.apache.axis2.client.ServiceClient.fireAndForget(ServiceClient.java:488)
[java] at samples.userguide.StockQuoteClient.executeClient(Unknown Source)
[java] at samples.userguide.StockQuoteClient.main(Unknown Source)






[ESBJAVA-4925] "Error creating a new schema objects for schemas" message thrown for validation errors Created: 17/Oct/16  Updated: 29/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: Mediators
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Samisa Abeysinghe Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

See line 353 of https://github.com/wso2/wso2-synapse/blob/master/modules/core/src/main/java/org/apache/synapse/mediators/builtin/ValidateMediator.java

Looks like the error message is wrong, It is a validation error and not an Error creating a new schema objects for schemas.
Please fix.






[ESBJAVA-4870] Data mapper mediator cannot be used with Salesforce connector Created: 25/Aug/16  Updated: 29/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: Cloud Connectors, Mediators
Affects Version/s: 5.0.0-RC3
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Chintana Wilamuna Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File NewConfig.dmc     File NewConfig_inputSchema.json     File NewConfig_outputSchema.json    
Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

Here's my proxy service config,

<proxy name="SFReadContacts" startOnLoad="true" transports="http https" xmlns="http://ws.apache.org/ns/synapse">
    <target>
        <inSequence>
            <salesforce.init>
                <username>chintana@engwar.com</username>
                <password>{wso2:vault-lookup('sf_password')}</password>
                <loginUrl>https://login.salesforce.com/services/Soap/u/36.0</loginUrl>
            </salesforce.init>
            <salesforce.query>
                <batchSize>5</batchSize>
                <queryString>SELECT id, firstName, lastName, accountId FROM Contact</queryString>
            </salesforce.query>
            <log level="full"/>
            <xslt key="gov:datamapper/removens.xslt.xslt"/>
            <datamapper config="gov:datamapper/NewConfig.dmc" inputSchema="gov:datamapper/NewConfig_inputSchema.json" inputType="XML" outputSchema="gov:datamapper/NewConfig_outputSchema.json" outputType="XML"/>
            <log level="full"/>
            <respond/>
        </inSequence>
        <outSequence/>
        <faultSequence/>
    </target>
</proxy>

I've also attached my input and output schemas. I'm getting the following exception,

[2016-08-15 23:36:11,835] ERROR - SequenceMediator Runtime error occurred while mediating the message
java.util.EmptyStackException
       	at java.util.Stack.peek(Stack.java:102)
       	at org.wso2.carbon.mediator.datamapper.DataMapperMediator.getPropertiesMap(DataMapperMediator.java:471)
       	at org.wso2.carbon.mediator.datamapper.DataMapperMediator.transform(DataMapperMediator.java:303)
       	at org.wso2.carbon.mediator.datamapper.DataMapperMediator.mediate(DataMapperMediator.java:256)
       	at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:89)
       	at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:281)
       	at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.mediateFromContinuationStateStack(Axis2SynapseEnvironment.java:766)
       	at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:282)
       	at org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:554)
       	at org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:182)
       	at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
       	at org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:261)
       	at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
       	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
       	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
       	at java.lang.Thread.run(Thread.java:745)

This is working if I move the data mapper mediator into a call template and use than in my proxy service.

Here's my sequence,

<sequence name="mapper_seq" trace="disable" xmlns="http://ws.apache.org/ns/synapse">
    <datamapper config="gov:datamapper/NewConfig.dmc" inputSchema="gov:datamapper/NewConfig_inputSchema.json" inputType="XML" outputSchema="gov:datamapper/NewConfig_outputSchema.json" outputType="JSON"/>
</sequence>

Call template,

<template name="SFMapTemplate" xmlns="http://ws.apache.org/ns/synapse">
    <parameter name="mapconf"/>
    <sequence>
        <sequence key="mapper_seq"/>
    </sequence>
</template>

Proxy service,

<proxy name="SFReadContacts" startOnLoad="true" transports="http https" xmlns="http://ws.apache.org/ns/synapse">
    <target>
        <inSequence>
            <salesforce.init>
                <username>chintana@engwar.com</username>
                <password>{wso2:vault-lookup('sf_password')}</password>
                <loginUrl>https://login.salesforce.com/services/Soap/u/36.0</loginUrl>
            </salesforce.init>
            <salesforce.query>
                <batchSize>5</batchSize>
                <queryString>SELECT id, firstName, lastName, accountId FROM Contact</queryString>
            </salesforce.query>
            <log level="full"/>
            <xslt key="gov:datamapper/removens.xslt.xslt"/>
            <call-template description="" target="SFMapTemplate">
                <with-param name="mapconf" value="Salesforce"/>
            </call-template>
            <log level="full"/>
            <respond/>
        </inSequence>
        <outSequence/>
        <faultSequence/>
    </target>
</proxy>





[ESBJAVA-4102] Message processor allows duplicate names when creating message processors Created: 24/Aug/15  Updated: 29/Nov/17

Status: In Progress
Project: WSO2 ESB
Component/s: Message Processors
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: viraj senevirathne Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

Prints error message in console about duplicate message processors but don't show warning in the UI

[2015-08-24 12:33:59,014] ERROR - SynapseConfiguration Duplicate Message Processor sdsd
[2015-08-24 12:33:59,014] ERROR - RPCInOnlyMessageReceiver Duplicate Message Processor sdsd
org.apache.synapse.SynapseException: Duplicate Message Processor sdsd
at org.apache.synapse.config.SynapseConfiguration.handleException(SynapseConfiguration.java:1588)
at org.apache.synapse.config.SynapseConfiguration.addMessageProcessor(SynapseConfiguration.java:1767)
at org.wso2.carbon.message.processor.service.MessageProcessorAdminService.addMessageProcessor(MessageProcessorAdminService.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:212)
at org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver.invokeBusinessLogic(RPCInOnlyMessageReceiver.java:66)
at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:110)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
at org.apache.axis2.transport.local.LocalTransportReceiver.processMessage(LocalTransportReceiver.java:169)
at org.apache.axis2.transport.local.LocalTransportReceiver.processMessage(LocalTransportReceiver.java:82)
at org.wso2.carbon.core.transports.local.CarbonLocalTransportSender.finalizeSendWithToAddress(CarbonLocalTransportSender.java:45)
at org.apache.axis2.transport.local.LocalTransportSender.invoke(LocalTransportSender.java:77)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
at org.apache.axis2.description.OutOnlyAxisOperationClient.executeImpl(OutOnlyAxisOperation.java:297)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:149)
at org.wso2.carbon.message.processor.stub.MessageProcessorAdminServiceStub.addMessageProcessor(MessageProcessorAdminServiceStub.java:417)
at org.wso2.carbon.message.processor.ui.MessageProcessorAdminServiceClient.addMessageProcessor(MessageProcessorAdminServiceClient.java:66)
at org.apache.jsp.message_005fprocessor.ServiceCaller_jsp._jspService(ServiceCaller_jsp.java:276)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.wso2.carbon.ui.JspServlet.service(JspServlet.java:155)
at org.wso2.carbon.ui.TilesJspServlet.service(TilesJspServlet.java:80)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.eclipse.equinox.http.helper.ContextPathServletAdaptor.service(ContextPathServletAdaptor.java:37)
at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:68)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service(DelegationServlet.java:68)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:604)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:543)
at org.eclipse.equinox.http.servlet.internal.RequestDispatcherAdaptor.include(RequestDispatcherAdaptor.java:37)
at org.eclipse.equinox.http.helper.ContextPathServletAdaptor$RequestDispatcherAdaptor.include(ContextPathServletAdaptor.java:369)
at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:954)
at org.apache.jasper.runtime.PageContextImpl.doInclude(PageContextImpl.java:688)
at org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:682)
at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.tiles.jsp.context.JspUtil.doInclude(JspUtil.java:87)
at org.apache.tiles.jsp.context.JspTilesRequestContext.include(JspTilesRequestContext.java:88)
at org.apache.tiles.jsp.context.JspTilesRequestContext.dispatch(JspTilesRequestContext.java:82)
at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:465)
at org.apache.tiles.jsp.taglib.InsertAttributeTag.render(InsertAttributeTag.java:140)
at org.apache.tiles.jsp.taglib.InsertAttributeTag.render(InsertAttributeTag.java:117)
at org.apache.tiles.jsp.taglib.RenderTagSupport.execute(RenderTagSupport.java:171)
at org.apache.tiles.jsp.taglib.RoleSecurityTagSupport.doEndTag(RoleSecurityTagSupport.java:75)
at org.apache.tiles.jsp.taglib.ContainerTagSupport.doEndTag(ContainerTagSupport.java:80)
at org.apache.jsp.admin.layout.template_jsp._jspx_meth_tiles_005finsertAttribute_005f7(template_jsp.java:640)
at org.apache.jsp.admin.layout.template_jsp._jspService(template_jsp.java:356)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.wso2.carbon.ui.JspServlet.service(JspServlet.java:155)
at org.wso2.carbon.ui.TilesJspServlet.service(TilesJspServlet.java:80)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.eclipse.equinox.http.helper.ContextPathServletAdaptor.service(ContextPathServletAdaptor.java:37)
at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:68)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service(DelegationServlet.java:68)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:486)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:411)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:338)
at org.eclipse.equinox.http.servlet.internal.RequestDispatcherAdaptor.forward(RequestDispatcherAdaptor.java:30)
at org.eclipse.equinox.http.helper.ContextPathServletAdaptor$RequestDispatcherAdaptor.forward(ContextPathServletAdaptor.java:362)
at org.apache.tiles.servlet.context.ServletTilesRequestContext.forward(ServletTilesRequestContext.java:198)
at org.apache.tiles.servlet.context.ServletTilesRequestContext.dispatch(ServletTilesRequestContext.java:185)
at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:419)
at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:370)
at org.wso2.carbon.ui.action.ActionHelper.render(ActionHelper.java:52)
at org.wso2.carbon.ui.TilesJspServlet.service(TilesJspServlet.java:101)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.eclipse.equinox.http.helper.ContextPathServletAdaptor.service(ContextPathServletAdaptor.java:37)
at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128)
at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:68)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service(DelegationServlet.java:68)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.wso2.carbon.tomcat.ext.filter.CharacterSetFilter.doFilter(CharacterSetFilter.java:61)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:99)
at org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:49)
at org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:62)
at org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:159)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
at org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:57)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1739)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1698)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)



 Comments   
Comment by Chanaka Fernando [ 05/Aug/16 ]

reducing the priority since management console usage is discouraged.





[ESBJAVA-4638] Processor should deactivate before send Through the deactivate Seq Created: 30/May/16  Updated: 29/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: Message Processors
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: prabath ariyarathna Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

Processor should deactivate before send Through the deactivate Seq

https://github.com/wso2/wso2-synapse/blob/master/modules/core/src/main/java/org/apache/synapse/message/processor/impl/forwarder/ForwardingService.java#L749-L751






[ESBJAVA-4273] [MB] ESB continuously retries to connect to a MB node when one MB node fails Created: 16/Oct/15  Updated: 29/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: JMS Transport
Affects Version/s: 4.9.0
Fix Version/s: None

Type: Improvement Priority: Normal
Reporter: Dilini Gunatilake Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

OS: Ubuntu 14.04
JDK: 1.7.0_79
Database : H2
Browser : Firefox 40.0
Setup : Standalone

MB- wso2mb-3.0.0-ALPHA4
Setup : Cluster (2 MB Nodes)


Severity: Major
Estimated Complexity: Moderate
Test cases added: No

 Description   

Steps to recreate
--------------------------------------------------------------------------------------------------------
1. Create JMS proxies as queue publishers and consumers
2. Publish 100000 messages
3. While publishing, stop 1 MB node

Issue
---------------------------------------------------------------------------------------------------------
For each message, ESB checks if it can connect to the initial node and then only try the other node and send the message. This is very inefficient when it comes to publishing millions of messages.
The log is as follows.

[2015-10-15 15:21:57,053] DEBUG - wire >> "User-Agent: Apache-HttpClient/4.2.6 (java 1.5)[\r][\n]"
[2015-10-15 15:21:57,053] DEBUG - wire >> "[\r][\n]"
[2015-10-15 15:21:57,054] DEBUG - wire >> "<?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><m0:placeOrder xmlns:m0="http://services.samples"><m0:order><m0:price>185.536796230966</m0:price><m0:quantity>15716</m0:quantity><m0:symbol>MSFT</m0:symbol></m0:order></m0:placeOrder></soapenv:Body></soapenv:Envelope>"
[2015-10-15 15:21:57,056]  INFO - LogMediator To: http://127.0.1.1:8280/services/StockQuoteProxy, MessageID: urn:uuid:986e393c-6758-4d92-a8fd-ed55c9b0ed03, Direction: request, CasePutProxy = ===============START================
[2015-10-15 15:21:57,370] ERROR - AMQProtocolHandler Exception processing frame
java.lang.NullPointerException
	at org.wso2.andes.client.protocol.AMQProtocolSession.setFlowControl(AMQProtocolSession.java:456)
	at org.wso2.andes.client.handler.ChannelFlowMethodHandler.methodReceived(ChannelFlowMethodHandler.java:47)
	at org.wso2.andes.client.handler.ClientMethodDispatcherImpl.dispatchChannelFlow(ClientMethodDispatcherImpl.java:175)
	at org.wso2.andes.framing.amqp_0_91.ChannelFlowBodyImpl.execute(ChannelFlowBodyImpl.java:117)
	at org.wso2.andes.client.state.AMQStateManager.methodReceived(AMQStateManager.java:111)
	at org.wso2.andes.client.protocol.AMQProtocolHandler.methodBodyReceived(AMQProtocolHandler.java:515)
	at org.wso2.andes.client.protocol.AMQProtocolSession.methodFrameReceived(AMQProtocolSession.java:461)
	at org.wso2.andes.framing.AMQMethodBodyImpl.handle(AMQMethodBodyImpl.java:96)
	at org.wso2.andes.client.protocol.AMQProtocolHandler$2.run(AMQProtocolHandler.java:466)
	at org.wso2.andes.pool.Job.processAll(Job.java:109)
	at org.wso2.andes.pool.Job.run(Job.java:153)
	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:745)
[2015-10-15 15:21:57,375] ERROR - AMQConnection error:
org.wso2.andes.AMQException: Woken up due to class java.lang.NullPointerException
	at org.wso2.andes.client.util.BlockingWaiter.block(BlockingWaiter.java:207)
	at org.wso2.andes.client.protocol.BlockingMethodFrameListener.blockForFrame(BlockingMethodFrameListener.java:123)
	at org.wso2.andes.client.protocol.AMQProtocolHandler.writeCommandFrameAndWaitForReply(AMQProtocolHandler.java:653)
	at org.wso2.andes.client.protocol.AMQProtocolHandler.syncWrite(AMQProtocolHandler.java:674)
	at org.wso2.andes.client.protocol.AMQProtocolHandler.closeConnection(AMQProtocolHandler.java:705)
	at org.wso2.andes.client.AMQConnectionDelegate_8_0.closeConnection(AMQConnectionDelegate_8_0.java:61)
	at org.wso2.andes.client.AMQConnection.doClose(AMQConnection.java:903)
	at org.wso2.andes.client.AMQConnection.close(AMQConnection.java:854)
	at org.wso2.andes.client.AMQConnection.close(AMQConnection.java:845)
	at org.wso2.andes.client.AMQConnection.close(AMQConnection.java:840)
	at org.apache.axis2.transport.jms.JMSMessageSender.close(JMSMessageSender.java:277)
	at org.apache.axis2.transport.jms.JMSSender.sendMessage(JMSSender.java:171)
	at org.apache.axis2.transport.base.AbstractTransportSender.invoke(AbstractTransportSender.java:112)
	at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
	at org.apache.axis2.description.OutOnlyAxisOperationClient.executeImpl(OutOnlyAxisOperation.java:297)
	at org.apache.axis2.client.OperationClient.execute(OperationClient.java:149)
	at org.apache.synapse.core.axis2.Axis2FlexibleMEPClient.send(Axis2FlexibleMEPClient.java:542)
	at org.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java:79)
	at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:461)
	at org.apache.synapse.endpoints.AbstractEndpoint.send(AbstractEndpoint.java:372)
	at org.apache.synapse.endpoints.AddressEndpoint.send(AddressEndpoint.java:65)
	at org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:105)
	at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:81)
	at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:48)
	at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:149)
	at org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.receive(ProxyServiceMessageReceiver.java:185)
	at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
	at org.apache.synapse.transport.passthru.ServerWorker.processEntityEnclosingRequest(ServerWorker.java:395)
	at org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:142)
	at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
	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:745)
Caused by: java.lang.NullPointerException
	at org.wso2.andes.client.protocol.AMQProtocolSession.setFlowControl(AMQProtocolSession.java:456)
	at org.wso2.andes.client.handler.ChannelFlowMethodHandler.methodReceived(ChannelFlowMethodHandler.java:47)
	at org.wso2.andes.client.handler.ClientMethodDispatcherImpl.dispatchChannelFlow(ClientMethodDispatcherImpl.java:175)
	at org.wso2.andes.framing.amqp_0_91.ChannelFlowBodyImpl.execute(ChannelFlowBodyImpl.java:117)
	at org.wso2.andes.client.state.AMQStateManager.methodReceived(AMQStateManager.java:111)
	at org.wso2.andes.client.protocol.AMQProtocolHandler.methodBodyReceived(AMQProtocolHandler.java:515)
	at org.wso2.andes.client.protocol.AMQProtocolSession.methodFrameReceived(AMQProtocolSession.java:461)
	at org.wso2.andes.framing.AMQMethodBodyImpl.handle(AMQMethodBodyImpl.java:96)
	at org.wso2.andes.client.protocol.AMQProtocolHandler$2.run(AMQProtocolHandler.java:466)
	at org.wso2.andes.pool.Job.processAll(Job.java:109)
	at org.wso2.andes.pool.Job.run(Job.java:153)
	... 3 more
[2015-10-15 15:21:57,383]  INFO - FailoverRoundRobinServers ==== Checking failoverAllowed() ====
[2015-10-15 15:21:57,382]  INFO - FailoverRoundRobinServers ==== Checking failoverAllowed() ====
[2015-10-15 15:21:57,382]  INFO - FailoverRoundRobinServers ==== Checking failoverAllowed() ====
[2015-10-15 15:21:57,382]  INFO - FailoverRoundRobinServers ==== Checking failoverAllowed() ====
[2015-10-15 15:21:57,382]  INFO - FailoverRoundRobinServers ==== Checking failoverAllowed() ====
[2015-10-15 15:21:57,382]  INFO - FailoverRoundRobinServers ==== Checking failoverAllowed() ====
[2015-10-15 15:21:57,382]  INFO - FailoverRoundRobinServers ==== Checking failoverAllowed() ====
[2015-10-15 15:21:57,382]  INFO - FailoverRoundRobinServers ==== Checking failoverAllowed() ====
[2015-10-15 15:21:57,382]  INFO - FailoverRoundRobinServers ==== Checking failoverAllowed() ====
[2015-10-15 15:21:57,379]  INFO - FailoverRoundRobinServers ==== Checking failoverAllowed() ====
[2015-10-15 15:21:57,382]  INFO - FailoverRoundRobinServers ==== Checking failoverAllowed() ====
[2015-10-15 15:21:57,390]  INFO - FailoverRoundRobinServers Cycle Servers:
Cycle Retries:2
Current Cycle:0
Server Retries:0
Current Retry:0
Current Broker:0
>tcp://192.168.48.140:5672?connectdelay='10'&retries='5'
tcp://192.168.48.142:5672?connectdelay='10'&retries='5'

[2015-10-15 15:21:57,390]  INFO - FailoverRoundRobinServers ====================================
[2015-10-15 15:21:57,382]  INFO - FailoverRoundRobinServers ==== Checking failoverAllowed() ====
[2015-10-15 15:21:57,382]  INFO - FailoverRoundRobinServers ==== Checking failoverAllowed() ====
[2015-10-15 15:21:57,381]  INFO - FailoverRoundRobinServers ==== Checking failoverAllowed() ====
[2015-10-15 15:21:57,392]  INFO - FailoverRoundRobinServers Cycle Servers:
Cycle Retries:2
Current Cycle:0
Server Retries:0
Current Retry:0
Current Broker:0
>tcp://192.168.48.140:5672?connectdelay='10'&retries='5'
tcp://192.168.48.142:5672?connectdelay='10'&retries='5'

[2015-10-15 15:21:57,393]  INFO - FailoverRoundRobinServers ====================================
[2015-10-15 15:21:57,391]  INFO - AMQStateManager Setting ProtocolSession:AMQProtocolSession[AMQConnection:
Host: 192.168.48.140
Port: 5672
Virtual Host: carbon
Client ID: carbon
Active session count: 0]
[2015-10-15 15:21:57,393]  INFO - FailoverHandler Starting failover process
[2015-10-15 15:21:57,394]  INFO - FailoverRoundRobinServers ==== Checking failoverAllowed() ====
[2015-10-15 15:21:57,391]  INFO - FailoverRoundRobinServers Cycle Servers:
Cycle Retries:2
Current Cycle:0
Server Retries:0
Current Retry:0
Current Broker:0
>tcp://192.168.48.140:5672?connectdelay='10'&retries='5'
tcp://192.168.48.142:5672?connectdelay='10'&retries='5'

[2015-10-15 15:21:57,395]  INFO - FailoverRoundRobinServers ====================================
[2015-10-15 15:21:57,389]  INFO - FailoverRoundRobinServers Cycle Servers:
Cycle Retries:2
Current Cycle:0
Server Retries:0
Current Retry:0
Current Broker:0
>tcp://192.168.48.140:5672?connectdelay='10'&retries='5'
tcp://192.168.48.142:5672?connectdelay='10'&retries='5'

[2015-10-15 15:21:57,396]  INFO - FailoverRoundRobinServers ====================================
[2015-10-15 15:21:57,389]  INFO - FailoverRoundRobinServers Cycle Servers:
Cycle Retries:2
Current Cycle:0
Server Retries:0
Current Retry:0
Current Broker:0
>tcp://192.168.48.140:5672?connectdelay='10'&retries='5'
tcp://192.168.48.142:5672?connectdelay='10'&retries='5'

[2015-10-15 15:21:57,397]  INFO - FailoverRoundRobinServers ====================================
[2015-10-15 15:21:57,388]  INFO - FailoverRoundRobinServers Cycle Servers:
Cycle Retries:2
Current Cycle:0
Server Retries:0
Current Retry:0
Current Broker:0
>tcp://192.168.48.140:5672?connectdelay='10'&retries='5'
tcp://192.168.48.142:5672?connectdelay='10'&retries='5'

[2015-10-15 15:21:57,398]  INFO - FailoverRoundRobinServers ====================================
[2015-10-15 15:21:57,387]  INFO - FailoverRoundRobinServers Cycle Servers:
Cycle Retries:2
Current Cycle:0
Server Retries:0
Current Retry:0
Current Broker:0
>tcp://192.168.48.140:5672?connectdelay='10'&retries='5'
tcp://192.168.48.142:5672?connectdelay='10'&retries='5'


[2015-10-15 15:21:57,405]  INFO - FailoverRoundRobinServers ====================================
[2015-10-15 15:21:57,383] ERROR - AMQConnection Throwable Received but no listener set: java.lang.NullPointerException
[2015-10-15 15:21:57,383] ERROR - JMSMessageSender Error closing JMS Connection after send
javax.jms.JMSException: Error closing connection: org.wso2.andes.AMQException: Woken up due to class java.lang.NullPointerException
	at org.wso2.andes.client.AMQConnection.doClose(AMQConnection.java:919)
	at org.wso2.andes.client.AMQConnection.close(AMQConnection.java:854)
	at org.wso2.andes.client.AMQConnection.close(AMQConnection.java:845)
	at org.wso2.andes.client.AMQConnection.close(AMQConnection.java:840)
	at org.apache.axis2.transport.jms.JMSMessageSender.close(JMSMessageSender.java:277)
	at org.apache.axis2.transport.jms.JMSSender.sendMessage(JMSSender.java:171)
	at org.apache.axis2.transport.base.AbstractTransportSender.invoke(AbstractTransportSender.java:112)
	at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
	at org.apache.axis2.description.OutOnlyAxisOperationClient.executeImpl(OutOnlyAxisOperation.java:297)
	at org.apache.axis2.client.OperationClient.execute(OperationClient.java:149)
	at org.apache.synapse.core.axis2.Axis2FlexibleMEPClient.send(Axis2FlexibleMEPClient.java:542)
	at org.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java:79)
	at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:461)
	at org.apache.synapse.endpoints.AbstractEndpoint.send(AbstractEndpoint.java:372)
	at org.apache.synapse.endpoints.AddressEndpoint.send(AddressEndpoint.java:65)
	at org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:105)
	at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:81)
	at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:48)
	at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:149)
	at org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.receive(ProxyServiceMessageReceiver.java:185)
	at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
	at org.apache.synapse.transport.passthru.ServerWorker.processEntityEnclosingRequest(ServerWorker.java:395)
	at org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:142)
	at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
	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:745)
Caused by: org.wso2.andes.AMQException: Woken up due to class java.lang.NullPointerException
	at org.wso2.andes.client.util.BlockingWaiter.block(BlockingWaiter.java:207)
	at org.wso2.andes.client.protocol.BlockingMethodFrameListener.blockForFrame(BlockingMethodFrameListener.java:123)
	at org.wso2.andes.client.protocol.AMQProtocolHandler.writeCommandFrameAndWaitForReply(AMQProtocolHandler.java:653)
	at org.wso2.andes.client.protocol.AMQProtocolHandler.syncWrite(AMQProtocolHandler.java:674)
	at org.wso2.andes.client.protocol.AMQProtocolHandler.closeConnection(AMQProtocolHandler.java:705)
	at org.wso2.andes.client.AMQConnectionDelegate_8_0.closeConnection(AMQConnectionDelegate_8_0.java:61)
	at org.wso2.andes.client.AMQConnection.doClose(AMQConnection.java:903)
	... 26 more
Caused by: java.lang.NullPointerException
	at org.wso2.andes.client.protocol.AMQProtocolSession.setFlowControl(AMQProtocolSession.java:456)
	at org.wso2.andes.client.handler.ChannelFlowMethodHandler.methodReceived(ChannelFlowMethodHandler.java:47)
	at org.wso2.andes.client.handler.ClientMethodDispatcherImpl.dispatchChannelFlow(ClientMethodDispatcherImpl.java:175)
	at org.wso2.andes.framing.amqp_0_91.ChannelFlowBodyImpl.execute(ChannelFlowBodyImpl.java:117)
	at org.wso2.andes.client.state.AMQStateManager.methodReceived(AMQStateManager.java:111)
	at org.wso2.andes.client.protocol.AMQProtocolHandler.methodBodyReceived(AMQProtocolHandler.java:515)
	at org.wso2.andes.client.protocol.AMQProtocolSession.methodFrameReceived(AMQProtocolSession.java:461)
	at org.wso2.andes.framing.AMQMethodBodyImpl.handle(AMQMethodBodyImpl.java:96)
	at org.wso2.andes.client.protocol.AMQProtocolHandler$2.run(AMQProtocolHandler.java:466)
	at org.wso2.andes.pool.Job.processAll(Job.java:109)
	at org.wso2.andes.pool.Job.run(Job.java:153)
	... 3 more
[2015-10-15 15:21:57,406]  INFO - AMQStateManager Setting ProtocolSession:AMQProtocolSession[AMQConnection:
Host: 192.168.48.140
Port: 5672
Virtual Host: carbon
Client ID: carbon
Active session count: 1]
[2015-10-15 15:21:57,405]  INFO - AMQStateManager Setting ProtocolSession:AMQProtocolSession[AMQConnection:
Host: 192.168.48.140
Port: 5672
Virtual Host: carbon
Client ID: carbon
Active session count: 0]
[2015-10-15 15:21:57,417]  INFO - FailoverHandler Starting failover process
[2015-10-15 15:21:57,417]  INFO - FailoverRoundRobinServers ==== Checking failoverAllowed() ====
[2015-10-15 15:21:57,404]  INFO - AMQStateManager Setting ProtocolSession:AMQProtocolSession[AMQConnection:
Host: 192.168.48.140
Port: 5672
Virtual Host: carbon
Client ID: carbon
Active session count: 1]
[2015-10-15 15:21:57,418]  INFO - FailoverHandler Starting failover process
[2015-10-15 15:21:57,403]  INFO - AMQStateManager Setting ProtocolSession:AMQProtocolSession[AMQConnection:
Host: 192.168.48.140
Port: 5672
Virtual Host: carbon
Client ID: carbon

Active session count: 0]
[2015-10-15 15:21:57,425]  INFO - FailoverHandler Starting failover process
[2015-10-15 15:21:57,426]  INFO - FailoverRoundRobinServers ==== Checking failoverAllowed() ====
[2015-10-15 15:21:57,397]  INFO - AMQStateManager Setting ProtocolSession:AMQProtocolSession[AMQConnection:
Host: 192.168.48.140
Port: 5672
Virtual Host: carbon
Client ID: carbon
Active session count: 1]
[2015-10-15 15:21:57,396]  INFO - AMQStateManager Setting ProtocolSession:AMQProtocolSession[AMQConnection:
Host: 192.168.48.140
Port: 5672
Virtual Host: carbon
Client ID: carbon
Active session count: 0]
[2015-10-15 15:21:57,394]  INFO - FailoverRoundRobinServers Cycle Servers:
Cycle Retries:2
Current Cycle:0
Server Retries:0
Current Retry:0
Current Broker:0
>tcp://192.168.48.140:5672?connectdelay='10'&retries='5'
tcp://192.168.48.142:5672?connectdelay='10'&retries='5'

[2015-10-15 15:21:57,428]  INFO - FailoverRoundRobinServers ====================================
[2015-10-15 15:21:57,393]  INFO - AMQStateManager Setting ProtocolSession:AMQProtocolSession[AMQConnection:
Host: 192.168.48.140
Port: 5672
Virtual Host: carbon
Client ID: carbon
Active session count: 0]
[2015-10-15 15:21:57,429]  INFO - FailoverHandler Starting failover process
[2015-10-15 15:21:57,392]  INFO - FailoverRoundRobinServers Cycle Servers:
Cycle Retries:2
Current Cycle:0
Server Retries:0
Current Retry:0
Current Broker:0
>tcp://192.168.48.140:5672?connectdelay='10'&retries='5'
tcp://192.168.48.142:5672?connectdelay='10'&retries='5'

[2015-10-15 15:21:57,430]  INFO - FailoverRoundRobinServers ==== Checking failoverAllowed() ====
[2015-10-15 15:21:57,429]  INFO - FailoverRoundRobinServers Delay between connect retries:10
[2015-10-15 15:21:57,428]  INFO - FailoverHandler Starting failover process
[2015-10-15 15:21:57,427]  INFO - FailoverHandler Starting failover process
[2015-10-15 15:21:57,426]  INFO - FailoverRoundRobinServers Cycle Servers:
Cycle Retries:2
Current Cycle:0
Server Retries:0
Current Retry:0
Current Broker:0
>tcp://192.168.48.140:5672?connectdelay='10'&retries='5'
tcp://192.168.48.142:5672?connectdelay='10'&retries='5'

[2015-10-15 15:21:57,425]  INFO - FailoverHandler Starting failover process
[2015-10-15 15:21:57,432]  INFO - FailoverRoundRobinServers ==== Checking failoverAllowed() ====
[2015-10-15 15:21:57,424]  INFO - FailoverRoundRobinServers ==== Checking failoverAllowed() ====
[2015-10-15 15:21:57,423]  INFO - FailoverRoundRobinServers Cycle Servers:
Cycle Retries:2
Current Cycle:0
Server Retries:0
Current Retry:0
Current Broker:0
>tcp://192.168.48.140:5672?connectdelay='10'&retries='5'
tcp://192.168.48.142:5672?connectdelay='10'&retries='5'

[2015-10-15 15:21:57,434]  INFO - FailoverRoundRobinServers ====================================
[2015-10-15 15:21:57,422]  INFO - FailoverRoundRobinServers Cycle Servers:
Cycle Retries:2
Current Cycle:0
Server Retries:0
Current Retry:0
Current Broker:0
>tcp://192.168.48.140:5672?connectdelay='10'&retries='5'
tcp://192.168.48.142:5672?connectdelay='10'&retries='5'

[2015-10-15 15:21:57,435]  INFO - FailoverRoundRobinServers ====================================
[2015-10-15 15:21:57,420]  INFO - FailoverRoundRobinServers Cycle Servers:
Cycle Retries:2
Current Cycle:0
Server Retries:0
Current Retry:0
Current Broker:0
>tcp://192.168.48.140:5672?connectdelay='10'&retries='5'
tcp://192.168.48.142:5672?connectdelay='10'&retries='5'

[2015-10-15 15:21:57,419]  INFO - FailoverRoundRobinServers ==== Checking failoverAllowed() ====
[2015-10-15 15:21:57,417]  INFO - FailoverRoundRobinServers Cycle Servers:
Cycle Retries:2
Current Cycle:0
Server Retries:0
Current Retry:0
Current Broker:0
>tcp://192.168.48.140:5672?connectdelay='10'&retries='5'
tcp://192.168.48.142:5672?connectdelay='10'&retries='5'

[2015-10-15 15:21:57,436]  INFO - FailoverRoundRobinServers ====================================
[2015-10-15 15:21:57,417] DEBUG - wire << "HTTP/1.1 202 Accepted[\r][\n]"
[2015-10-15 15:21:57,415]  INFO - FailoverHandler Starting failover process
[2015-10-15 15:21:57,437] DEBUG - wire << "Date: Thu, 15 Oct 2015 09:51:57 GMT[\r][\n]"
[2015-10-15 15:21:57,438] DEBUG - wire << "Transfer-Encoding: chunked[\r][\n]"
[2015-10-15 15:21:57,438] DEBUG - wire << "Connection: keep-alive[\r][\n]"
[2015-10-15 15:21:57,439] DEBUG - wire << "[\r][\n]"
[2015-10-15 15:21:57,439] DEBUG - wire << "0[\r][\n]"
[2015-10-15 15:21:57,439] DEBUG - wire << "[\r][\n]"
[2015-10-15 15:21:57,437]  INFO - FailoverRoundRobinServers Delay between connect retries:10
[2015-10-15 15:21:57,436]  INFO - FailoverRoundRobinServers Cycle Servers:
Cycle Retries:2
Current Cycle:0
Server Retries:0
Current Retry:0
Current Broker:0
>tcp://192.168.48.140:5672?connectdelay='10'&retries='5'
tcp://192.168.48.142:5672?connectdelay='10'&retries='5'

[2015-10-15 15:21:57,436]  INFO - FailoverRoundRobinServers ====================================
[2015-10-15 15:21:57,435]  INFO - FailoverRoundRobinServers Delay between connect retries:10
[2015-10-15 15:21:57,434]  INFO - FailoverRoundRobinServers Delay between connect retries:10
[2015-10-15 15:21:57,433]  INFO - FailoverRoundRobinServers Cycle Servers:
Cycle Retries:2
Current Cycle:0
Server Retries:0
Current Retry:0
Current Broker:0
>tcp://192.168.48.140:5672?connectdelay='10'&retries='5'
tcp://192.168.48.142:5672?connectdelay='10'&retries='5'

[2015-10-15 15:21:57,444]  INFO - FailoverRoundRobinServers ====================================
[2015-10-15 15:21:57,433]  INFO - FailoverRoundRobinServers Cycle Servers:
Cycle Retries:2
Current Cycle:0
Server Retries:0
Current Retry:0
Current Broker:0
>tcp://192.168.48.140:5672?connectdelay='10'&retries='5'
tcp://192.168.48.142:5672?connectdelay='10'&retries='5'

[2015-10-15 15:21:57,445]  INFO - FailoverRoundRobinServers ====================================
[2015-10-15 15:21:57,432]  INFO - FailoverRoundRobinServers ====================================
[2015-10-15 15:21:57,431]  INFO - FailoverRoundRobinServers ==== Checking failoverAllowed() ====
[2015-10-15 15:21:57,431]  INFO - FailoverRoundRobinServers ==== Checking failoverAllowed() ====
[2015-10-15 15:21:57,430]  INFO - FailoverRoundRobinServers Cycle Servers:
Cycle Retries:2
Current Cycle:0
Server Retries:0
Current Retry:0
Current Broker:0
>tcp://192.168.48.140:5672?connectdelay='10'&retries='5'
tcp://192.168.48.142:5672?connectdelay='10'&retries='5'

[2015-10-15 15:21:57,451]  INFO - FailoverRoundRobinServers ====================================
[2015-10-15 15:21:57,430]  INFO - FailoverRoundRobinServers ====================================
[2015-10-15 15:21:57,451]  INFO - FailoverRoundRobinServers Delay between connect retries:10
[2015-10-15 15:21:57,450]  INFO - FailoverRoundRobinServers Cycle Servers:
Cycle Retries:2
Current Cycle:0
Server Retries:0
Current Retry:0
Current Broker:0
>tcp://192.168.48.140:5672?connectdelay='10'&retries='5'
tcp://192.168.48.142:5672?connectdelay='10'&retries='5'

[2015-10-15 15:21:57,449]  INFO - FailoverRoundRobinServers Cycle Servers:
Cycle Retries:2
Current Cycle:0
Server Retries:0
Current Retry:0
Current Broker:0
>tcp://192.168.48.140:5672?connectdelay='10'&retries='5'
tcp://192.168.48.142:5672?connectdelay='10'&retries='5'

[2015-10-15 15:21:57,453]  INFO - FailoverRoundRobinServers ====================================
[2015-10-15 15:21:57,446]  INFO - FailoverRoundRobinServers Delay between connect retries:10
[2015-10-15 15:21:57,445]  INFO - FailoverRoundRobinServers Delay between connect retries:10
[2015-10-15 15:21:57,444]  INFO - FailoverRoundRobinServers Delay between connect retries:10
[2015-10-15 15:21:57,441]  INFO - FailoverRoundRobinServers Delay between connect retries:10
[2015-10-15 15:21:57,441]  INFO - FailoverRoundRobinServers ====================================
[2015-10-15 15:21:57,440] DEBUG - wire >> "POST http://127.0.1.1:8280/services/StockQuoteProxy HTTP/1.1[\r][\n]"
[2015-10-15 15:21:57,437]  INFO - FailoverRoundRobinServers ==== Checking failoverAllowed() ====
[2015-10-15 15:21:57,464] DEBUG - wire >> "Connection: keep-alive[\r][\n]"
[2015-10-15 15:21:57,462]  INFO - FailoverRoundRobinServers Delay between connect retries:10
[2015-10-15 15:21:57,454]  INFO - FailoverRoundRobinServers Delay between connect retries:10
[2015-10-15 15:21:57,452]  INFO - FailoverRoundRobinServers ====================================
[2015-10-15 15:21:57,452]  INFO - AMQStateManager Setting ProtocolSession:AMQProtocolSession[AMQConnection:
Host: 192.168.48.140
Port: 5672
Virtual Host: carbon
Client ID: carbon
Active session count: 1]
[2015-10-15 15:21:57,466]  INFO - FailoverRoundRobinServers Delay between connect retries:10
[2015-10-15 15:21:57,465] DEBUG - wire >> "Content-Type: text/xml[\r][\n]"
[2015-10-15 15:21:57,468] DEBUG - wire >> "Content-Length: 345[\r][\n]"
[2015-10-15 15:21:57,464]  INFO - FailoverRoundRobinServers Cycle Servers:
Cycle Retries:2
Current Cycle:0
Server Retries:0
Current Retry:0
Current Broker:0
>tcp://192.168.48.140:5672?connectdelay='10'&retries='5'
tcp://192.168.48.142:5672?connectdelay='10'&retries='5'

[2015-10-15 15:21:57,473]  INFO - FailoverRoundRobinServers ====================================
[2015-10-15 15:21:57,475]  INFO - FailoverRoundRobinServers Delay between connect retries:10
[2015-10-15 15:21:57,472] DEBUG - wire >> "Host: 127.0.1.1:8280[\r][\n]"
[2015-10-15 15:21:57,467]  INFO - FailoverHandler Starting failover process
[2015-10-15 15:21:57,478] DEBUG - wire >> "Proxy-Connection: Keep-Alive[\r][\n]"
[2015-10-15 15:21:57,479]  INFO - FailoverRoundRobinServers ==== Checking failoverAllowed() ====
[2015-10-15 15:21:57,479] DEBUG - wire >> "User-Agent: Apache-HttpClient/4.2.6 (java 1.5)[\r][\n]"
[2015-10-15 15:21:57,480] DEBUG - wire >> "[\r][\n]"
[2015-10-15 15:21:57,481] DEBUG - wire >> "<?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><m0:placeOrder xmlns:m0="http://services.samples"><m0:order><m0:price>185.536796230966</m0:price><m0:quantity>15716</m0:quantity><m0:symbol>MSFT</m0:symbol></m0:order></m0:placeOrder></soapenv:Body></soapenv:Envelope>"
[2015-10-15 15:21:57,480]  INFO - FailoverRoundRobinServers Cycle Servers:
Cycle Retries:2
Current Cycle:0
Server Retries:0
Current Retry:0
Current Broker:0
>tcp://192.168.48.140:5672?connectdelay='10'&retries='5'
tcp://192.168.48.142:5672?connectdelay='10'&retries='5'

[2015-10-15 15:21:57,484]  INFO - FailoverRoundRobinServers ====================================
[2015-10-15 15:21:57,484]  INFO - FailoverRoundRobinServers Delay between connect retries:10
[2015-10-15 15:21:57,488]  INFO - LogMediator To: http://127.0.1.1:8280/services/StockQuoteProxy, MessageID: urn:uuid:45ab186b-664b-4687-b6e6-1a164249e19a, Direction: request, CasePutProxy = ===============START================
[2015-10-15 15:21:57,496]  INFO - AMQConnection Unable to connect to broker at tcp://192.168.48.140:5672?connectdelay='10'&retries='5'
org.wso2.andes.transport.TransportException: Could not open connection
	at org.wso2.andes.transport.network.mina.MinaNetworkTransport$IoConnectorCreator.connect(MinaNetworkTransport.java:216)
	at org.wso2.andes.transport.network.mina.MinaNetworkTransport.connect(MinaNetworkTransport.java:74)
	at org.wso2.andes.client.AMQConnectionDelegate_8_0.makeBrokerConnection(AMQConnectionDelegate_8_0.java:120)
	at org.wso2.andes.client.AMQConnection.makeBrokerConnection(AMQConnection.java:615)
	at org.wso2.andes.client.AMQConnection.<init>(AMQConnection.java:397)
	at org.wso2.andes.client.AMQConnectionFactory.createConnection(AMQConnectionFactory.java:327)
	at org.wso2.andes.client.AMQConnectionFactory.createQueueConnection(AMQConnectionFactory.java:427)
	at org.apache.axis2.transport.jms.JMSOutTransportInfo.createJMSSender(JMSOutTransportInfo.java:361)
	at org.apache.axis2.transport.jms.JMSSender.sendMessage(JMSSender.java:127)
	at org.apache.axis2.transport.base.AbstractTransportSender.invoke(AbstractTransportSender.java:112)
	at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
	at org.apache.axis2.description.OutOnlyAxisOperationClient.executeImpl(OutOnlyAxisOperation.java:297)
	at org.apache.axis2.client.OperationClient.execute(OperationClient.java:149)
	at org.apache.synapse.core.axis2.Axis2FlexibleMEPClient.send(Axis2FlexibleMEPClient.java:542)
	at org.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java:79)
	at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:461)
	at org.apache.synapse.endpoints.AbstractEndpoint.send(AbstractEndpoint.java:372)
	at org.apache.synapse.endpoints.AddressEndpoint.send(AddressEndpoint.java:65)
	at org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:105)
	at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:81)
	at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:48)
	at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:149)
	at org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.receive(ProxyServiceMessageReceiver.java:185)
	at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
	at org.apache.synapse.transport.passthru.ServerWorker.processEntityEnclosingRequest(ServerWorker.java:395)
	at org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:142)
	at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
	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:745)
[2015-10-15 15:21:57,499]  INFO - FailoverRoundRobinServers ==== Checking failoverAllowed() ====
[2015-10-15 15:21:57,500]  INFO - FailoverRoundRobinServers Cycle Servers:
Cycle Retries:2
Current Cycle:0
Server Retries:0
Current Retry:0
Current Broker:0
>tcp://192.168.48.140:5672?connectdelay='10'&retries='5'
tcp://192.168.48.142:5672?connectdelay='10'&retries='5'

[2015-10-15 15:21:57,500]  INFO - FailoverRoundRobinServers ====================================
[2015-10-15 15:21:57,500]  INFO - FailoverRoundRobinServers Delay between connect retries:10
[2015-10-15 15:21:57,618]  INFO - AMQStateManager Setting ProtocolSession:AMQProtocolSession[AMQConnection:
Host: 192.168.48.142
Port: 5672
Virtual Host: carbon
Client ID: carbon
Active session count: 0]
[2015-10-15 15:21:57,619]  INFO - AMQStateManager Setting ProtocolSession:AMQProtocolSession[AMQConnection:
Host: 192.168.48.142
Port: 5672
Virtual Host: carbon
Client ID: carbon
Active session count: 0]
[2015-10-15 15:21:57,620]  INFO - AMQStateManager Setting ProtocolSession:AMQProtocolSession[AMQConnection:
Host: 192.168.48.142
Port: 5672
Virtual Host: carbon
Client ID: carbon
Active session count: 1]
[2015-10-15 15:21:57,620]  INFO - AMQStateManager Setting ProtocolSession:AMQProtocolSession[AMQConnection:
Host: 192.168.48.142
Port: 5672
Virtual Host: carbon
Client ID: carbon
Active session count: 0]
[2015-10-15 15:21:57,620]  INFO - AMQStateManager Setting ProtocolSession:AMQProtocolSession[AMQConnection:
Host: 192.168.48.142
Port: 5672
Virtual Host: carbon
Client ID: carbon
Active session count: 0]
[2015-10-15 15:21:57,620]  INFO - FailoverHandler Resubscribing on new connection
[2015-10-15 15:21:57,621]  INFO - AMQStateManager Setting ProtocolSession:AMQProtocolSession[AMQConnection:
Host: 192.168.48.142
Port: 5672
Virtual Host: carbon
Client ID: carbon
Active session count: 0]
[2015-10-15 15:21:57,621]  INFO - AMQStateManager Setting ProtocolSession:AMQProtocolSession[AMQConnection:
Host: 192.168.48.142
Port: 5672
Virtual Host: carbon
Client ID: carbon
Active session count: 0]
[2015-10-15 15:21:57,620]  INFO - AMQStateManager Setting ProtocolSession:AMQProtocolSession[AMQConnection:
Host: 192.168.48.142
Port: 5672
Virtual Host: carbon
Client ID: carbon
Active session count: 1]
[2015-10-15 15:21:57,623]  INFO - FailoverHandler Resubscribing on new connection
[2015-10-15 15:21:57,623]  INFO - FailoverHandler Resubscribing on new connection
[2015-10-15 15:21:57,622]  INFO - FailoverHandler Connection failover completed successfully
[2015-10-15 15:21:57,625]  INFO - FailoverHandler Connection failover completed successfully
[2015-10-15 15:21:57,625]  INFO - AMQStateManager Setting ProtocolSession:AMQProtocolSession[AMQConnection:
Host: 192.168.48.142
Port: 5672
Virtual Host: carbon
Client ID: carbon
Active session count: 0]
[2015-10-15 15:21:57,625]  INFO - AMQStateManager Setting ProtocolSession:AMQProtocolSession[AMQConnection:
Host: 192.168.48.142
Port: 5672
Virtual Host: carbon
Client ID: carbon
Active session count: 0]
[2015-10-15 15:21:57,627]  INFO - AMQStateManager Setting ProtocolSession:AMQProtocolSession[AMQConnection:
Host: 192.168.48.142
Port: 5672
Virtual Host: carbon
Client ID: carbon
Active session count: 0]
[2015-10-15 15:21:57,628]  INFO - FailoverHandler Resubscribing on new connection
[2015-10-15 15:21:57,628]  INFO - FailoverHandler Connection failover completed successfully
[2015-10-15 15:21:57,624]  INFO - FailoverHandler Connection failover completed successfully
[2015-10-15 15:21:57,624]  INFO - FailoverHandler Resubscribing on new connection
[2015-10-15 15:21:57,626]  INFO - AMQStateManager Setting ProtocolSession:AMQProtocolSession[AMQConnection:
Host: 192.168.48.142
Port: 5672
Virtual Host: carbon
Client ID: carbon
Active session count: 0]
[2015-10-15 15:21:57,630]  INFO - FailoverHandler Resubscribing on new connection
[2015-10-15 15:21:57,631]  INFO - FailoverHandler Connection failover completed successfully
[2015-10-15 15:21:57,633]  INFO - AMQStateManager Setting ProtocolSession:AMQProtocolSession[AMQConnection:
Host: 192.168.48.142
Port: 5672
Virtual Host: carbon
Client ID: carbon
Active session count: 0]
[2015-10-15 15:21:57,633]  INFO - AMQStateManager Setting ProtocolSession:AMQProtocolSession[AMQConnection:
Host: 192.168.48.142
Port: 5672
Virtual Host: carbon
Client ID: carbon
Active session count: 0]
[2015-10-15 15:21:57,634]  INFO - AMQStateManager Setting ProtocolSession:AMQProtocolSession[AMQConnection:
Host: 192.168.48.142
Port: 5672
Virtual Host: carbon
Client ID: carbon
Active session count: 1]
[2015-10-15 15:21:57,634]  INFO - AMQStateManager Setting ProtocolSession:AMQProtocolSession[AMQConnection:
Host: 192.168.48.142
Port: 5672
Virtual Host: carbon
Client ID: carbon
Active session count: 0]
[2015-10-15 15:21:57,634]  INFO - FailoverHandler Resubscribing on new connection
[2015-10-15 15:21:57,635]  INFO - AMQStateManager Setting ProtocolSession:AMQProtocolSession[AMQConnection:
Host: 192.168.48.142
Port: 5672
Virtual Host: carbon
Client ID: carbon
Active session count: 0]
[2015-10-15 15:21:57,635]  INFO - AMQStateManager Setting ProtocolSession:AMQProtocolSession[AMQConnection:
Host: 192.168.48.142
Port: 5672
Virtual Host: carbon
Client ID: carbon
Active session count: 1]
[2015-10-15 15:21:57,636]  INFO - AMQStateManager Setting ProtocolSession:AMQProtocolSession[AMQConnection:
Host: 192.168.48.142
Port: 5672
Virtual Host: carbon
Client ID: carbon
Active session count: 1]
[2015-10-15 15:21:57,637]  INFO - FailoverHandler Resubscribing on new connection
[2015-10-15 15:21:57,635]  INFO - AMQStateManager Setting ProtocolSession:AMQProtocolSession[AMQConnection:
Host: 192.168.48.142
Port: 5672
Virtual Host: carbon
Client ID: carbon
Active session count: 1]

Active session count: 1]
[2015-10-15 15:21:57,644]  INFO - FailoverHandler Resubscribing on new connection
[2015-10-15 15:21:57,636]  INFO - FailoverHandler Resubscribing on new connection
[2015-10-15 15:21:57,646]  INFO - FailoverHandler Connection failover completed successfully
[2015-10-15 15:21:57,635]  INFO - FailoverHandler Connection failover completed successfully
[2015-10-15 15:21:57,643]  INFO - FailoverHandler Resubscribing on new connection
[2015-10-15 15:21:58,062]  WARN - AMQSession Broker enforced flow control is no longer in effect
[2015-10-15 15:21:58,063]  INFO - FailoverHandler Connection failover completed successfully
[2015-10-15 15:21:58,189]  WARN - AMQSession Broker enforced flow control is no longer in effect
[2015-10-15 15:21:58,190]  INFO - FailoverHandler Connection failover completed successfully
[2015-10-15 15:21:58,501]  WARN - AMQSession Broker enforced flow control is no longer in effect
[2015-10-15 15:21:58,502]  WARN - AMQSession Broker enforced flow control is no longer in effect
[2015-10-15 15:21:58,503]  INFO - FailoverHandler Connection failover completed successfully
[2015-10-15 15:21:58,502]  INFO - FailoverHandler Connection failover completed successfully
[2015-10-15 15:21:58,609] DEBUG - wire << "HTTP/1.1 202 Accepted[\r][\n]"
[2015-10-15 15:21:58,610] DEBUG - wire << "Date: Thu, 15 Oct 2015 09:51:58 GMT[\r][\n]"
[2015-10-15 15:21:58,610] DEBUG - wire << "Transfer-Encoding: chunked[\r][\n]"
[2015-10-15 15:21:58,610] DEBUG - wire << "Connection: keep-alive[\r][\n]"
[2015-10-15 15:21:58,611] DEBUG - wire << "[\r][\n]"
[2015-10-15 15:21:58,611] DEBUG - wire << "0[\r][\n]"
[2015-10-15 15:21:58,612] DEBUG - wire << "[\r][\n]"
[2015-10-15 15:21:58,613] DEBUG - wire >> "POST http://127.0.1.1:8280/services/StockQuoteProxy HTTP/1.1[\r][\n]"
[2015-10-15 15:21:58,614] DEBUG - wire >> "Connection: keep-alive[\r][\n]"
[2015-10-15 15:21:58,614] DEBUG - wire >> "Content-Type: text/xml[\r][\n]"
[2015-10-15 15:21:58,614] DEBUG - wire >> "Content-Length: 345[\r][\n]"
[2015-10-15 15:21:58,615] DEBUG - wire >> "Host: 127.0.1.1:8280[\r][\n]"
[2015-10-15 15:21:58,615] DEBUG - wire >> "Proxy-Connection: Keep-Alive[\r][\n]"
[2015-10-15 15:21:58,615] DEBUG - wire >> "User-Agent: Apache-HttpClient/4.2.6 (java 1.5)[\r][\n]"
[2015-10-15 15:21:58,616] DEBUG - wire >> "[\r][\n]"
[2015-10-15 15:21:58,616] DEBUG - wire >> "<?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><m0:placeOrder xmlns:m0="http://services.samples"><m0:order><m0:price>185.536796230966</m0:price><m0:quantity>15716</m0:quantity><m0:symbol>MSFT</m0:symbol></m0:order></m0:placeOrder></soapenv:Body></soapenv:Envelope>"
[2015-10-15 15:21:58,619]  INFO - LogMediator To: http://127.0.1.1:8280/services/StockQuoteProxy, MessageID: urn:uuid:b9043a62-6471-4538-a605-a070cf0e7ed2, Direction: request, CasePutProxy = ===============START================
[2015-10-15 15:21:58,625]  INFO - AMQConnection Unable to connect to broker at tcp://192.168.48.140:5672?connectdelay='10'&retries='5'
org.wso2.andes.transport.TransportException: Could not open connection
	at org.wso2.andes.transport.network.mina.MinaNetworkTransport$IoConnectorCreator.connect(MinaNetworkTransport.java:216)
	at org.wso2.andes.transport.network.mina.MinaNetworkTransport.connect(MinaNetworkTransport.java:74)
	at org.wso2.andes.client.AMQConnectionDelegate_8_0.makeBrokerConnection(AMQConnectionDelegate_8_0.java:120)
	at org.wso2.andes.client.AMQConnection.makeBrokerConnection(AMQConnection.java:615)
	at org.wso2.andes.client.AMQConnection.<init>(AMQConnection.java:397)
	at org.wso2.andes.client.AMQConnectionFactory.createConnection(AMQConnectionFactory.java:327)
	at org.wso2.andes.client.AMQConnectionFactory.createQueueConnection(AMQConnectionFactory.java:427)
	at org.apache.axis2.transport.jms.JMSOutTransportInfo.createJMSSender(JMSOutTransportInfo.java:361)
	at org.apache.axis2.transport.jms.JMSSender.sendMessage(JMSSender.java:127)
	at org.apache.axis2.transport.base.AbstractTransportSender.invoke(AbstractTransportSender.java:112)
	at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
	at org.apache.axis2.description.OutOnlyAxisOperationClient.executeImpl(OutOnlyAxisOperation.java:297)
	at org.apache.axis2.client.OperationClient.execute(OperationClient.java:149)
	at org.apache.synapse.core.axis2.Axis2FlexibleMEPClient.send(Axis2FlexibleMEPClient.java:542)
	at org.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java:79)
	at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:461)
	at org.apache.synapse.endpoints.AbstractEndpoint.send(AbstractEndpoint.java:372)
	at org.apache.synapse.endpoints.AddressEndpoint.send(AddressEndpoint.java:65)
	at org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:105)
	at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:81)
	at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:48)
	at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:149)
	at org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.receive(ProxyServiceMessageReceiver.java:185)
	at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
	at org.apache.synapse.transport.passthru.ServerWorker.processEntityEnclosingRequest(ServerWorker.java:395)
	at org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:142)
	at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
	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:745)
[2015-10-15 15:21:58,629]  INFO - FailoverRoundRobinServers ==== Checking failoverAllowed() ====
[2015-10-15 15:21:58,630]  INFO - FailoverRoundRobinServers Cycle Servers:
Cycle Retries:2
Current Cycle:0
Server Retries:0
Current Retry:0
Current Broker:0
>tcp://192.168.48.140:5672?connectdelay='10'&retries='5'
tcp://192.168.48.142:5672?connectdelay='10'&retries='5'

[2015-10-15 15:21:58,630]  INFO - FailoverRoundRobinServers ====================================
[2015-10-15 15:21:58,630]  INFO - FailoverRoundRobinServers Delay between connect retries:10
[2015-10-15 15:21:58,730] DEBUG - wire << "HTTP/1.1 202 Accepted[\r][\n]"
[2015-10-15 15:21:58,730] DEBUG - wire << "Date: Thu, 15 Oct 2015 09:51:58 GMT[\r][\n]"
[2015-10-15 15:21:58,731] DEBUG - wire << "Transfer-Encoding: chunked[\r][\n]"
[2015-10-15 15:21:58,731] DEBUG - wire << "Connection: keep-alive[\r][\n]"
[2015-10-15 15:21:58,731] DEBUG - wire << "[\r][\n]"
[2015-10-15 15:21:58,732] DEBUG - wire << "0[\r][\n]"
[2015-10-15 15:21:58,732] DEBUG - wire << "[\r][\n]"
[2015-10-15 15:21:58,734] DEBUG - wire >> "POST http://127.0.1.1:8280/services/StockQuoteProxy HTTP/1.1[\r][\n]"
[2015-10-15 15:21:58,734] DEBUG - wire >> "Connection: keep-alive[\r][\n]"
[2015-10-15 15:21:58,734] DEBUG - wire >> "Content-Type: text/xml[\r][\n]"
[2015-10-15 15:21:58,735] DEBUG - wire >> "Content-Length: 345[\r][\n]"
[2015-10-15 15:21:58,735] DEBUG - wire >> "Host: 127.0.1.1:8280[\r][\n]"
[2015-10-15 15:21:58,735] DEBUG - wire >> "Proxy-Connection: Keep-Alive[\r][\n]"
[2015-10-15 15:21:58,735] DEBUG - wire >> "User-Agent: Apache-HttpClient/4.2.6 (java 1.5)[\r][\n]"
[2015-10-15 15:21:58,735] DEBUG - wire >> "[\r][\n]"
[2015-10-15 15:21:58,735] DEBUG - wire >> "<?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><m0:placeOrder xmlns:m0="http://services.samples"><m0:order><m0:price>185.536796230966</m0:price><m0:quantity>15716</m0:quantity><m0:symbol>MSFT</m0:symbol></m0:order></m0:placeOrder></soapenv:Body></soapenv:Envelope>"
[2015-10-15 15:21:58,737]  INFO - LogMediator To: http://127.0.1.1:8280/services/StockQuoteProxy, MessageID: urn:uuid:0bd9b8cc-fe36-4dca-a27f-165d859c5f7e, Direction: request, CasePutProxy = ===============START================
[2015-10-15 15:21:58,743]  INFO - AMQConnection Unable to connect to broker at tcp://192.168.48.140:5672?connectdelay='10'&retries='5'
org.wso2.andes.transport.TransportException: Could not open connection
	at org.wso2.andes.transport.network.mina.MinaNetworkTransport$IoConnectorCreator.connect(MinaNetworkTransport.java:216)
	at org.wso2.andes.transport.network.mina.MinaNetworkTransport.connect(MinaNetworkTransport.java:74)
	at org.wso2.andes.client.AMQConnectionDelegate_8_0.makeBrokerConnection(AMQConnectionDelegate_8_0.java:120)
	at org.wso2.andes.client.AMQConnection.makeBrokerConnection(AMQConnection.java:615)
	at org.wso2.andes.client.AMQConnection.<init>(AMQConnection.java:397)
	at org.wso2.andes.client.AMQConnectionFactory.createConnection(AMQConnectionFactory.java:327)
	at org.wso2.andes.client.AMQConnectionFactory.createQueueConnection(AMQConnectionFactory.java:427)
	at org.apache.axis2.transport.jms.JMSOutTransportInfo.createJMSSender(JMSOutTransportInfo.java:361)
	at org.apache.axis2.transport.jms.JMSSender.sendMessage(JMSSender.java:127)
	at org.apache.axis2.transport.base.AbstractTransportSender.invoke(AbstractTransportSender.java:112)
	at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
	at org.apache.axis2.description.OutOnlyAxisOperationClient.executeImpl(OutOnlyAxisOperation.java:297)
	at org.apache.axis2.client.OperationClient.execute(OperationClient.java:149)
	at org.apache.synapse.core.axis2.Axis2FlexibleMEPClient.send(Axis2FlexibleMEPClient.java:542)
	at org.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java:79)
	at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:461)
	at org.apache.synapse.endpoints.AbstractEndpoint.send(AbstractEndpoint.java:372)
	at org.apache.synapse.endpoints.AddressEndpoint.send(AddressEndpoint.java:65)
	at org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:105)
	at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:81)
	at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:48)
	at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:149)
	at org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.receive(ProxyServiceMessageReceiver.java:185)
	at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
	at org.apache.synapse.transport.passthru.ServerWorker.processEntityEnclosingRequest(ServerWorker.java:395)
	at org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:142)
	at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
	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:745)
[2015-10-15 15:21:58,748]  INFO - FailoverRoundRobinServers ==== Checking failoverAllowed() ====
[2015-10-15 15:21:58,749]  INFO - FailoverRoundRobinServers Cycle Servers:
Cycle Retries:2
Current Cycle:0
Server Retries:0
Current Retry:0
Current Broker:0
>tcp://192.168.48.140:5672?connectdelay='10'&retries='5'
tcp://192.168.48.142:5672?connectdelay='10'&retries='5'

[2015-10-15 15:21:58,749]  INFO - FailoverRoundRobinServers ====================================
[2015-10-15 15:21:58,749]  INFO - FailoverRoundRobinServers Delay between connect retries:10
[2015-10-15 15:21:58,868] DEBUG - wire << "HTTP/1.1 202 Accepted[\r][\n]"
[2015-10-15 15:21:58,868] DEBUG - wire << "Date: Thu, 15 Oct 2015 09:51:58 GMT[\r][\n]"
[2015-10-15 15:21:58,869] DEBUG - wire << "Transfer-Encoding: chunked[\r][\n]"
[2015-10-15 15:21:58,869] DEBUG - wire << "Connection: keep-alive[\r][\n]"
[2015-10-15 15:21:58,870] DEBUG - wire << "[\r][\n]"
[2015-10-15 15:21:58,870] DEBUG - wire << "0[\r][\n]"
[2015-10-15 15:21:58,870] DEBUG - wire << "[\r][\n]"
[2015-10-15 15:21:58,872] DEBUG - wire >> "POST http://127.0.1.1:8280/services/StockQuoteProxy HTTP/1.1[\r][\n]"
[2015-10-15 15:21:58,872] DEBUG - wire >> "Connection: keep-alive[\r][\n]"
[2015-10-15 15:21:58,873] DEBUG - wire >> "Content-Type: text/xml[\r][\n]"
[2015-10-15 15:21:58,873] DEBUG - wire >> "Content-Length: 345[\r][\n]"
[2015-10-15 15:21:58,873] DEBUG - wire >> "Host: 127.0.1.1:8280[\r][\n]"
[2015-10-15 15:21:58,873] DEBUG - wire >> "Proxy-Connection: Keep-Alive[\r][\n]"
[2015-10-15 15:21:58,873] DEBUG - wire >> "User-Agent: Apache-HttpClient/4.2.6 (java 1.5)[\r][\n]"
[2015-10-15 15:21:58,874] DEBUG - wire >> "[\r][\n]"
[2015-10-15 15:21:58,874] DEBUG - wire >> "<?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><m0:placeOrder xmlns:m0="http://services.samples"><m0:order><m0:price>185.536796230966</m0:price><m0:quantity>15716</m0:quantity><m0:symbol>MSFT</m0:symbol></m0:order></m0:placeOrder></soapenv:Body></soapenv:Envelope>"
[2015-10-15 15:21:58,877]  INFO - LogMediator To: http://127.0.1.1:8280/services/StockQuoteProxy, MessageID: urn:uuid:2ddad6cf-a33b-4d98-a504-fd24c970996c, Direction: request, CasePutProxy = ===============START================
[2015-10-15 15:21:58,898]  INFO - AMQConnection Unable to connect to broker at tcp://192.168.48.140:5672?connectdelay='10'&retries='5'
org.wso2.andes.transport.TransportException: Could not open connection
	at org.wso2.andes.transport.network.mina.MinaNetworkTransport$IoConnectorCreator.connect(MinaNetworkTransport.java:216)
	at org.wso2.andes.transport.network.mina.MinaNetworkTransport.connect(MinaNetworkTransport.java:74)
	at org.wso2.andes.client.AMQConnectionDelegate_8_0.makeBrokerConnection(AMQConnectionDelegate_8_0.java:120)
	at org.wso2.andes.client.AMQConnection.makeBrokerConnection(AMQConnection.java:615)
	at org.wso2.andes.client.AMQConnection.<init>(AMQConnection.java:397)
	at org.wso2.andes.client.AMQConnectionFactory.createConnection(AMQConnectionFactory.java:327)
	at org.wso2.andes.client.AMQConnectionFactory.createQueueConnection(AMQConnectionFactory.java:427)
	at org.apache.axis2.transport.jms.JMSOutTransportInfo.createJMSSender(JMSOutTransportInfo.java:361)
	at org.apache.axis2.transport.jms.JMSSender.sendMessage(JMSSender.java:127)
	at org.apache.axis2.transport.base.AbstractTransportSender.invoke(AbstractTransportSender.java:112)
	at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
	at org.apache.axis2.description.OutOnlyAxisOperationClient.executeImpl(OutOnlyAxisOperation.java:297)
	at org.apache.axis2.client.OperationClient.execute(OperationClient.java:149)
	at org.apache.synapse.core.axis2.Axis2FlexibleMEPClient.send(Axis2FlexibleMEPClient.java:542)
	at org.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java:79)
	at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:461)
	at org.apache.synapse.endpoints.AbstractEndpoint.send(AbstractEndpoint.java:372)
	at org.apache.synapse.endpoints.AddressEndpoint.send(AddressEndpoint.java:65)
	at org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:105)
	at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:81)
	at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:48)
	at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:149)
	at org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.receive(ProxyServiceMessageReceiver.java:185)
	at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
	at org.apache.synapse.transport.passthru.ServerWorker.processEntityEnclosingRequest(ServerWorker.java:395)
	at org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:142)
	at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
	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:745)
[2015-10-15 15:21:58,903]  INFO - FailoverRoundRobinServers ==== Checking failoverAllowed() ====
[2015-10-15 15:21:58,904]  INFO - FailoverRoundRobinServers Cycle Servers:
Cycle Retries:2
Current Cycle:0
Server Retries:0
Current Retry:0
Current Broker:0
>tcp://192.168.48.140:5672?connectdelay='10'&retries='5'
tcp://192.168.48.142:5672?connectdelay='10'&retries='5'

[2015-10-15 15:21:58,904]  INFO - FailoverRoundRobinServers ====================================
[2015-10-15 15:21:58,905]  INFO - FailoverRoundRobinServers Delay between connect retries:10
[2015-10-15 15:21:59,003] DEBUG - wire << "HTTP/1.1 202 Accepted[\r][\n]"
[2015-10-15 15:21:59,004] DEBUG - wire << "Date: Thu, 15 Oct 2015 09:51:58 GMT[\r][\n]"
[2015-10-15 15:21:59,004] DEBUG - wire << "Transfer-Encoding: chunked[\r][\n]"
[2015-10-15 15:21:59,004] DEBUG - wire << "Connection: keep-alive[\r][\n]"
[2015-10-15 15:21:59,004] DEBUG - wire << "[\r][\n]"
[2015-10-15 15:21:59,004] DEBUG - wire << "0[\r][\n]"
[2015-10-15 15:21:59,005] DEBUG - wire << "[\r][\n]"
[2015-10-15 15:21:59,007] DEBUG - wire >> "POST http://127.0.1.1:8280/services/StockQuoteProxy HTTP/1.1[\r][\n]"
[2015-10-15 15:21:59,007] DEBUG - wire >> "Connection: keep-alive[\r][\n]"
[2015-10-15 15:21:59,007] DEBUG - wire >> "Content-Type: text/xml[\r][\n]"
[2015-10-15 15:21:59,007] DEBUG - wire >> "Content-Length: 345[\r][\n]"
[2015-10-15 15:21:59,008] DEBUG - wire >> "Host: 127.0.1.1:8280[\r][\n]"
[2015-10-15 15:21:59,008] DEBUG - wire >> "Proxy-Connection: Keep-Alive[\r][\n]"
[2015-10-15 15:21:59,008] DEBUG - wire >> "User-Agent: Apache-HttpClient/4.2.6 (java 1.5)[\r][\n]"
[2015-10-15 15:21:59,008] DEBUG - wire >> "[\r][\n]"
[2015-10-15 15:21:59,008] DEBUG - wire >> "<?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><m0:placeOrder xmlns:m0="http://services.samples"><m0:order><m0:price>185.536796230966</m0:price><m0:quantity>15716</m0:quantity><m0:symbol>MSFT</m0:symbol></m0:order></m0:placeOrder></soapenv:Body></soapenv:Envelope>"
[2015-10-15 15:21:59,011]  INFO - LogMediator To: http://127.0.1.1:8280/services/StockQuoteProxy, MessageID: urn:uuid:76e56fa8-bda7-450a-985c-92fa83f726d2, Direction: request, CasePutProxy = ===============START================
[2015-10-15 15:21:59,020]  INFO - AMQConnection Unable to connect to broker at tcp://192.168.48.140:5672?connectdelay='10'&retries='5'
org.wso2.andes.transport.TransportException: Could not open connection
	at org.wso2.andes.transport.network.mina.MinaNetworkTransport$IoConnectorCreator.connect(MinaNetworkTransport.java:216)
	at org.wso2.andes.transport.network.mina.MinaNetworkTransport.connect(MinaNetworkTransport.java:74)
	at org.wso2.andes.client.AMQConnectionDelegate_8_0.makeBrokerConnection(AMQConnectionDelegate_8_0.java:120)
	at org.wso2.andes.client.AMQConnection.makeBrokerConnection(AMQConnection.java:615)
	at org.wso2.andes.client.AMQConnection.<init>(AMQConnection.java:397)
	at org.wso2.andes.client.AMQConnectionFactory.createConnection(AMQConnectionFactory.java:327)
	at org.wso2.andes.client.AMQConnectionFactory.createQueueConnection(AMQConnectionFactory.java:427)
	at org.apache.axis2.transport.jms.JMSOutTransportInfo.createJMSSender(JMSOutTransportInfo.java:361)
	at org.apache.axis2.transport.jms.JMSSender.sendMessage(JMSSender.java:127)
	at org.apache.axis2.transport.base.AbstractTransportSender.invoke(AbstractTransportSender.java:112)
	at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
	at org.apache.axis2.description.OutOnlyAxisOperationClient.executeImpl(OutOnlyAxisOperation.java:297)
	at org.apache.axis2.client.OperationClient.execute(OperationClient.java:149)
	at org.apache.synapse.core.axis2.Axis2FlexibleMEPClient.send(Axis2FlexibleMEPClient.java:542)
	at org.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java:79)
	at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:461)
	at org.apache.synapse.endpoints.AbstractEndpoint.send(AbstractEndpoint.java:372)
	at org.apache.synapse.endpoints.AddressEndpoint.send(AddressEndpoint.java:65)
	at org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:105)
	at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:81)
	at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:48)
	at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:149)
	at org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.receive(ProxyServiceMessageReceiver.java:185)
	at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
	at org.apache.synapse.transport.passthru.ServerWorker.processEntityEnclosingRequest(ServerWorker.java:395)
	at org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:142)
	at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
	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:745)
[2015-10-15 15:21:59,022]  INFO - FailoverRoundRobinServers ==== Checking failoverAllowed() ====
[2015-10-15 15:21:59,023]  INFO - FailoverRoundRobinServers Cycle Servers:
Cycle Retries:2
Current Cycle:0
Server Retries:0
Current Retry:0
Current Broker:0
>tcp://192.168.48.140:5672?connectdelay='10'&retries='5'
tcp://192.168.48.142:5672?connectdelay='10'&retries='5'





[ESBJAVA-4438] [ESB-500]Misleading Error Log Created: 24/Feb/16  Updated: 29/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: JMS Transport
Affects Version/s: 5.0.0-M1
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Dilshani Subasinghe Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

pack: ESB 5.0.0 M2
java: jdk1.8.0_72
Dep: Distributed setup
DB: Oracle 12c


Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

Steps to reproduce error:
1) Follow steps of sample to create JMS connection via HornetQ. (https://docs.google.com/document/d/17Q6B60KYrU53YfxPyML_YKZftCrNWH_YTtG8r7bBwcA/edit)

2) In this sample, ESB configure with synapse configuration.
JNDI configuration parameter will be given as follows:
<parameter name="java.naming.provider.url">jnp://localhost:1099</parameter>

3) You may replace "localhost" with given hostname. With that HornetQ may unable to identify hostname if it is not clearly defined within "run.sh" script. With that conflict, it will log an error as follows;

TID: [-1234] [] [2016-02-24 15:34:47,452]  WARN {org.wso2.carbon.inbound.endpoint.protocol.jms.JMSPollingConsumer} -  Inbound JMS endpoint unable to get a connection. {org.wso2.carbon.inbound.endpoint.protocol.jms.JMSPollingConsumer}
TID: [-1234] [] [2016-02-24 15:34:48,451] ERROR {org.wso2.carbon.inbound.endpoint.protocol.jms.factory.JMSConnectionFactory} -  Connection cannot bb establish to the broke. Plese check the broker libs provided. {org.wso2.carbon.inbound.endpoint.protocol.jms.factory.JMSConnectionFactory}

Issue: Even though error is about confusion of hostnames, it will indicate it as error of "broker libs". Log will be misleading and please provide a proper error message with the error.



 Comments   
Comment by Dilshani Subasinghe [ 01/Mar/16 ]

When HornetQ is not available, it will also give the same error. (JMS broker is down)





[ESBJAVA-4395] Issue while using the special characters in HTTP endpoint Created: 29/Jan/16  Updated: 29/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: API
Affects Version/s: 4.9.0
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Kathees Rajendram Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

We need to send text containing characters such as "@" and "#".
Eg: "test tweet #wso2_esb @wso2_cep"

I created uri.var.status property and used the property in url-template with legacy encoding. Remaining part of URL is removed with the special character. Same issue occurs without the legacy-encoding also.

<call>
<endpoint>
<http method="post"
uri-template="legacy-encoding:

{uri.var.apiUrl}

/1.1/statuses/update.json?

{uri.var.status}

"/>
</endpoint>
</call>

Request - sample #test

Output

[2015-12-18 16:45:47,269] DEBUG - wire << "POST /1.1/statuses/update.json?status=sample%20 HTTP/1.1[\r][\n]"
[2015-12-18 16:45:47,269] DEBUG - wire << "Accept-Language: en-US,en;q=0.8[\r][\n]"

Expected output

[2015-12-18 16:45:47,269] DEBUG - wire << "POST /1.1/statuses/update.json?status=sample%20%23test HTTP/1.1[\r][\n]"
[2015-12-18 16:45:47,269] DEBUG - wire << "Accept-Language: en-US,en;q=0.8[\r][\n]"



 Comments   
Comment by Kathees Rajendram [ 29/Jan/16 ]

The legacy and other encoding didn't support for special characters in HTTP Endpoint. Temporarily I was able to resolve by replacing the special character with encoded values.

https://github.com/wso2/wso2-synapse/blob/master/modules/core/src/main/java/org/apache/synapse/endpoints/HTTPEndpoint.java

@@ -246,6 +246,22 @@ public class HTTPEndpoint extends AbstractEndpoint {
try {
URI uri = new URI(template.expand());
evaluatedUri = uri.toString();
+ StringBuilder buf = null;
+ if (evaluatedUri != null) {
+ buf = new StringBuilder(evaluatedUri.length());
+ char focus;
+ for (int i = 0; i < evaluatedUri.length(); i++) {
+ focus = evaluatedUri.charAt;
+ if (focus == '#')

{ + buf.append("%23"); + }

else if (focus == '@')

{ + buf.append("%40"); + }

else

{ + buf.append(focus); + }

+ }
+ evaluatedUri = buf.toString();
+ }





[ESBJAVA-3614] parameter "showProxySchemaURL" in combination with "useOriginalwsdl" parameter set to true not working Created: 20/Mar/15  Updated: 29/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: Proxy Services Management
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Suhan Dharmasuriya Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

A parameter 'showProxySchemaURL' was newly introduced in [1].

But this parameter "showProxySchemaURL" in combination with "useOriginalwsdl" parameter set to true is not working.

[1] https://wso2.org/jira/browse/ESBJAVA-2697






[ESBJAVA-4169] [Cluster][Intermittent] Observed an exception in the cluster when starting the worker nodes Created: 05/Sep/15  Updated: 29/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: Platform
Affects Version/s: 4.9.0 - RC2
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Yasassri Ratnayake Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Pack : wso2esb-4.9.0-RC4-SNAPSHOT.zip
Java Version : IBM JDK
Setup : Cluster 3 node (Fully distributed)
Browser : Chrome Version 43.0.2357.130 (64-bit) | FireFox 38.0
DB : MYSQL


Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

Following exception was observed intermittently when starting the worker nodes of the cluster.

ERROR {org.wso2.carbon.mediation.ntask.NTaskTaskManager} -  Cannot initialize task manager. Error: null {org.wso2.carbon.mediation.ntask.NTaskTaskManager}
java.lang.UnsupportedOperationException
	at com.hazelcast.util.QueryResultSet$QueryResultIterator.remove(QueryResultSet.java:188)
	at org.wso2.carbon.ntask.core.impl.clustered.ClusterGroupCommunicator.checkAndRemoveExpiredMembers(ClusterGroupCommunicator.java:118)
	at org.wso2.carbon.ntask.core.impl.clustered.ClusterGroupCommunicator.refreshMembers(ClusterGroupCommunicator.java:94)
	at org.wso2.carbon.ntask.core.impl.clustered.ClusterGroupCommunicator.<init>(ClusterGroupCommunicator.java:87)
	at org.wso2.carbon.ntask.core.impl.clustered.ClusterGroupCommunicator.getInstance(ClusterGroupCommunicator.java:71)
	at org.wso2.carbon.ntask.core.service.impl.TaskServiceImpl.processClusteredTaskTypeRegistration(TaskServiceImpl.java:166)
	at org.wso2.carbon.ntask.core.service.impl.TaskServiceImpl.registerTaskType(TaskServiceImpl.java:156)
	at org.wso2.carbon.mediation.ntask.NTaskTaskManager.init(NTaskTaskManager.java:343)
	at org.wso2.carbon.mediation.ntask.NTaskTaskManager.update(NTaskTaskManager.java:365)
	at org.wso2.carbon.mediation.ntask.internal.NtaskService.updateAndCleanupObservers(NtaskService.java:103)
	at org.wso2.carbon.mediation.ntask.internal.NtaskService.setConfigurationContextService(NtaskService.java:96)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
	at java.lang.reflect.Method.invoke(Method.java:507)
	at org.eclipse.equinox.internal.ds.model.ComponentReference.bind(ComponentReference.java:376)
	at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.bindReference(ServiceComponentProp.java:430)
	at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.bind(ServiceComponentProp.java:218)
	at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:343)
	at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)
	at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)
	at org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:343)
	at org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:222)
	at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:451)
	at org.wso2.carbon.ntask.core.internal.TasksDSComponent.activate(TasksDSComponent.java:106)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
	at java.lang.reflect.Method.invoke(Method.java:507)
	at org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:260)
	at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:146)
	at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:345)
	at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)
	at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)
	at org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:343)
	at org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:222)
	at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:451)
	at org.wso2.carbon.core.internal.StartupFinalizerServiceComponent.completeInitialization(StartupFinalizerServiceComponent.java:199)
	at org.wso2.carbon.core.internal.StartupFinalizerServiceComponent.serviceChanged(StartupFinalizerServiceComponent.java:288)
	at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:451)
	at org.wso2.carbon.throttling.agent.internal.ThrottlingAgentServiceComponent.registerThrottlingAgent(ThrottlingAgentServiceComponent.java:123)
	at org.wso2.carbon.throttling.agent.internal.ThrottlingAgentServiceComponent.activate(ThrottlingAgentServiceComponent.java:100)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
	at java.lang.reflect.Method.invoke(Method.java:507)
	at org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:260)
	at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:146)
	at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:345)
	at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)
	at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)
	at org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:343)
	at org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:222)
	at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:451)
	at org.wso2.carbon.core.init.CarbonServerManager.initializeCarbon(CarbonServerManager.java:517)
	at org.wso2.carbon.core.init.CarbonServerManager.removePendingItem(CarbonServerManager.java:290)
	at org.wso2.carbon.core.init.PreAxis2ConfigItemListener.bundleChanged(PreAxis2ConfigItemListener.java:118)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:847)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
TID: [-1234] [] [2015-09-05 09:07:51,503]  INFO {org.wso2.carbon.ntask.core.impl.clustered.ClusterGroupCommunicator} -  Waiting for 1 [registryTasks] task executor nodes... {org.wso2.carbon.ntask.core.impl.clustered.ClusterGroupCommunicator}
TID: [-1234] [] [2015-09-05 09:07:51,505]  INFO {org.wso2.carbon.ntask.core.impl.clustered.ClusterGroupCommunicator} -  All task servers activated for [registryTasks]. {org.wso2.carbon.ntask.core.impl.clustered.ClusterGroupCommunicator}
TID: [-1234] [] [2015-09-05 09:07:51,515] ERROR {org.wso2.carbon.ntask.core.internal.TasksDSComponent} -  Error in intializing Tasks component: null {org.wso2.carbon.ntask.core.internal.TasksDSComponent}
java.lang.UnsupportedOperationException
	at com.hazelcast.util.QueryResultSet$QueryResultIterator.remove(QueryResultSet.java:188)
	at org.wso2.carbon.ntask.core.impl.clustered.ClusterGroupCommunicator.checkAndRemoveExpiredMembers(ClusterGroupCommunicator.java:118)
	at org.wso2.carbon.ntask.core.impl.clustered.ClusterGroupCommunicator.refreshMembers(ClusterGroupCommunicator.java:94)
	at org.wso2.carbon.ntask.core.impl.clustered.ClusterGroupCommunicator.<init>(ClusterGroupCommunicator.java:87)
	at org.wso2.carbon.ntask.core.impl.clustered.ClusterGroupCommunicator.getInstance(ClusterGroupCommunicator.java:71)
	at org.wso2.carbon.ntask.core.service.impl.TaskServiceImpl.runAfterRegistrationActions(TaskServiceImpl.java:324)
	at org.wso2.carbon.ntask.core.internal.TasksDSComponent.activate(TasksDSComponent.java:109)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
	at java.lang.reflect.Method.invoke(Method.java:507)
	at org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:260)
	at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:146)
	at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:345)
	at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)
	at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)
	at org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:343)
	at org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:222)
	at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:451)
	at org.wso2.carbon.core.internal.StartupFinalizerServiceComponent.completeInitialization(StartupFinalizerServiceComponent.java:199)
	at org.wso2.carbon.core.internal.StartupFinalizerServiceComponent.serviceChanged(StartupFinalizerServiceComponent.java:288)
	at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:451)
	at org.wso2.carbon.throttling.agent.internal.ThrottlingAgentServiceComponent.registerThrottlingAgent(ThrottlingAgentServiceComponent.java:123)
	at org.wso2.carbon.throttling.agent.internal.ThrottlingAgentServiceComponent.activate(ThrottlingAgentServiceComponent.java:100)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
	at java.lang.reflect.Method.invoke(Method.java:507)
	at org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:260)
	at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:146)
	at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:345)
	at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)
	at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)
	at org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:343)
	at org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:222)
	at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:451)
	at org.wso2.carbon.core.init.CarbonServerManager.initializeCarbon(CarbonServerManager.java:517)
	at org.wso2.carbon.core.init.CarbonServerManager.removePendingItem(CarbonServerManager.java:290)
	at org.wso2.carbon.core.init.PreAxis2ConfigItemListener.bundleChanged(PreAxis2ConfigItemListener.java:118)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:847)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
	at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
TID: [-1234] [] [2015-09-05 09:07:51,541]  INFO {org.wso2.carbon.registry.eventing.internal.RegistryEventingServiceComponent} -  Successfully Initialized Eventing on Registry {org.wso2.carbon.registry.eventing.internal.RegistryEventingServiceComponent}





[ESBJAVA-4313] ERROR - JsonUtil #newJsonPayload when accessing registry payloads with extention .json Created: 12/Nov/15  Updated: 29/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: Registry
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Asanthi Kulasinghe Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Ubuntu 13.04
JDK 1.7


Attachments: File json3.json    
Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

Upload the attached json3.json file to registry.
Deploy and invoke proxy service [1].

The following error occurs .

[2015-11-12 14:30:44,864] ERROR - JsonUtil #newJsonPayload. Could not save JSON payload. Invalid input stream found. MessageID: urn:uuid:284c9071-620f-4e9d-b061-808e0007d9e5

This is not reproducible if the payload file is uploaded with the extention.txt.

   <proxy name="CustomerServiceProxy_json"
          transports="https http"
          startOnLoad="true"
          trace="disable">
      <description/>
      <target>
         <inSequence>
            <switch source="$axis2:HTTP_METHOD">
               <case regex="GET">
                  <property name="HTTP_METHOD" value="GET" scope="axis2" type="STRING"/>
               </case>
               <case regex="POST">
                  <property name="HTTP_METHOD" value="POST" scope="axis2" type="STRING"/>
               </case>
               <default/>
            </switch>
            <payloadFactory media-type="json">
               <format key="conf:/json3.json"/>
               <args/>
            </payloadFactory>
            <send>
               <endpoint>
                  <address uri="http://localhost:9773/jaxrs_basic/services/customers/customerservice/"/>
               </endpoint>
            </send>
         </inSequence>
         <outSequence>
            <send/>
         </outSequence>
      </target>
   </proxy>






[ESBJAVA-4705] Unable to publish messages to RabbitMQ, if full configuration permissions were not given to RabbitMQ user. Created: 23/Jun/16  Updated: 30/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: RabbitMQ Transport
Affects Version/s: 4.9.0
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: ajanthan e Assignee: Maheeka Jayasuriya
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

After applying the patch0003 in WSO2 ESB 4.9.0 and publishing message to queue through topic exchange and when only the Write permission given to the topic exchange for the RabbitMQ user, not able to publish to the queue and throwing the below error at RabbitMQ logs.

=ERROR REPORT==== 23-Jun-2016::12:09:04 ===
Channel error on connection <0.12984.0> (127.0.0.1:20762 -> 127.0.0.1:5671, vhost: 'EVENT3', user: 'wso2events3user'), channel 1:
operation queue.declare caused a channel exception access_refused: "access to queue 'amq.gen-kgM7wYRYAGlb8tAGDAq7Xg' in vhost 'EVENT3' refused for user 'wso2events3user'"






[ESBJAVA-4749] [WebSocket] dispatch.sequence and dispatch.fault.sequence can be optional Created: 12/Jul/16  Updated: 30/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: Transport
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Normal
Reporter: Senduran Balasubramaniyam Assignee: Kevin Ratnasekera
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

Since we can only receive the ws messages and log it or process. i.e without sending it to anther server and receiver the message back.
ws.outflow.dispatch.sequence , ws.outflow.dispatch.fault.sequence can be empty. but currently it is marked as mandatory fields.

Also similar to the Sequence and the Error sequence, adding the functionality to get the sequence from config registry / governance registry would be better.

Parameter names are not consistent eg: "Error Sequence" and "ws.outflow.dispatch.fault.sequence" (i.e space separated and dot separated)






[ESBJAVA-4062] ciphertool.bat file will not run as distributed Created: 13/Aug/15  Updated: 30/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: Security
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Gregory Streetman Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: 4 hours
Time Spent: Not Specified
Original Estimate: 4 hours
Environment:

Windows


Severity: Minor
Estimated Complexity: Novice
Attachment License: I agree to grant a license to WSO2 for this work for inclusion in WSO2 works as per the WSO2 Contributor License Agreement and the Apache License 2.0
Test cases added: No

 Description   

The ciphertool.bat file adds all jars in the plugins directory to the classpath. This exceds the size of a command line, and the error you get is "The input line is too long" and "the syntax of the command is incorrect". To fix this, the line that adds these jars to the classpath:
FOR %%c in ("%CARBON_HOME%\repository\bib*.jar") DO set CARBON_CLASSPATH=Unable to render embedded object: File (CARBON_CLASSPATH) not found.;".\repository\lib%%~nC%%~xC"
Needs to be commented out. The ciphertool code does not require any of these external files.






[ESBJAVA-4224] Allow the json message formatter to handle null messages Created: 12/Sep/15  Updated: 30/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: Message Builders and Formatters
Affects Version/s: 4.8.1
Fix Version/s: None

Type: Improvement Priority: Normal
Reporter: Colin Roy-Ehri Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

n/a


Severity: Minor
Estimated Complexity: Moderate
Attachment License: I agree to grant a license to WSO2 for this work for inclusion in WSO2 works as per the WSO2 Contributor License Agreement and the Apache License 2.0
Test cases added: No

 Description   

Currently, if a null message is sent or recieved with content-type application/json, the message formatter org.apache.synapse.commons.json.JsonStreamFormatter will error with the message:
org.apache.axis2.AxisFault: No JSON payload provided.
As an enhancement, this could instead create a null json body: {}.






[ESBJAVA-4072] User Token policy applied to axis2 service allows to consume service without authentication credentials Created: 19/Aug/15  Updated: 30/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: Security
Affects Version/s: 4.9.0 - Beta
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Jason De Silva Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

OS: Ubuntu 14.04
JDK: 1.7.0_79
Browser : Google Chrome Version 43.0.2357.65 (64-bit)
Setup: Standalone


Attachments: Zip Archive UTAxis2Service.zip     Zip Archive UserTokenPolicy.zip     File UserTokenService_1.0.0.aar    
Severity: Major
Estimated Complexity: Moderate
Test cases added: No

 Description   

Steps
1. Created a axis2 service using dev studio 3.8 alpha ( axis2 service project is attached )
2. Created a username token policy using dev studio ( Registry handler project attached)
3. Added the UT policy details to axis2 - services.xml to secure the service
4. Exported the axis2 service using dev studio and deployed the axis2 service in esb (service file is attached)
5. Service is shown as secured in esb

Issue
1. Invoked the axis2 service via soap ui without providing any security header and the request was successful.
2. Invoked the service using try it tool with false user name and password. Response is shown with the string echoed. And also below exception is thrown.

[2015-08-19 06:43:39,121] ERROR - AxisEngine SOAP header missing
org.apache.axis2.AxisFault: SOAP header missing
	at org.apache.rampart.handler.RampartReceiver.setFaultCodeAndThrowAxisFault(RampartReceiver.java:186)
	at org.apache.rampart.handler.RampartReceiver.invoke(RampartReceiver.java:99)
	at org.apache.axis2.engine.Phase.invokeHandler(Phase.java:340)
	at org.apache.axis2.engine.Phase.invoke(Phase.java:313)
	at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:261)
	at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:167)
	at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:359)
	at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:445)
	at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:225)
	at org.apache.axis2.client.OperationClient.execute(OperationClient.java:149)
	at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:554)
	at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:530)
	at org.apache.jsp.admin.jsp.WSRequestXSSproxy_005fajaxprocessor_jsp._jspService(WSRequestXSSproxy_005fajaxprocessor_jsp.java:294)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	at org.wso2.carbon.ui.JspServlet.service(JspServlet.java:155)
	at org.wso2.carbon.ui.TilesJspServlet.service(TilesJspServlet.java:80)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	at org.eclipse.equinox.http.helper.ContextPathServletAdaptor.service(ContextPathServletAdaptor.java:37)
	at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61)
	at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128)
	at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:68)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	at org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service(DelegationServlet.java:68)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.wso2.carbon.tomcat.ext.filter.CharacterSetFilter.doFilter(CharacterSetFilter.java:61)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:99)
	at org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:49)
	at org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:62)
	at org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:159)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
	at org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:57)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1739)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1698)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.rampart.RampartException: SOAP header missing
	at org.apache.rampart.RampartEngine.process(RampartEngine.java:128)
	at org.apache.rampart.handler.RampartReceiver.invoke(RampartReceiver.java:92)
	... 55 more






[ESBJAVA-4577] Error when creating a WSDL PROXY Service with wsdl imported into registry Created: 28/Apr/16  Updated: 30/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: Proxy Services Management
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Raffaele Carotenuto Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: ESB
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Major
Estimated Complexity: Moderate
Attachment License: I agree to grant a license to WSO2 for this work for inclusion in WSO2 works as per the WSO2 Contributor License Agreement and the Apache License 2.0
Test cases added: Not-applicable

 Description   

Currently (ESB version 4.9.0) if we build a proxy service using a wsdl imported from Governance Registry (version 5.1.0) with xsd included (format in schemaLocation .. /.. /file.xsd) we obtain an error (filenotfound exception .. /.. /file.xsd). Why ESB can not resolve the file with governance registry?



 Comments   
Comment by Raffaele Carotenuto [ 28/Apr/16 ]

Hi, I explain my problem better:

I have a wsdl in the Governance Registry with an import of a xsd:

<xsd:import namespace="http://schemas.datacontract.org/2004/07/SoapService.Net" schemaLocation="../../../../schemas/org/datacontract/schemas/_2004/_07/soapservice_net/1.0.0/TestSoap.svc.xsd"/>

If I try to create a WSDL Proxy Service from this wsdl I obtain this exception:

javax.wsdl.WSDLException: WSDLException (at /wsdl:definitions/wsdl:types/xsd:schema): faultCode=PARSER_ERROR: Problem parsing '../../../../schemas/org/datacontract/schemas/_2004/_07/soapservice_net/1.0.0/TestSoap.svc.xsd'.: java.io.FileNotFoundException: ../../../../schemas/org/datacontract/schemas/_2004/_07/soapservice_net/1.0.0/TestSoap.svc.xsd (No such file or directory).

Thanks





[ESBJAVA-4655] Lost data in ESB stats Created: 06/Jun/16  Updated: 30/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: Statistics
Affects Version/s: None
Fix Version/s: None

Type: Improvement Priority: Normal
Reporter: Amal Gunatilake Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Severity: Major
Estimated Complexity: Moderate
Attachment License: I agree to grant a license to WSO2 for this work for inclusion in WSO2 works as per the WSO2 Contributor License Agreement and the Apache License 2.0
Test cases added: Yes

 Description   

Since ESB statistics cleaning thread and mediation data collection thread are concurrent threads, having the ESB statistics cleaning thread enabled will cause cleaning the data randomly before the mediation data collection thread collects it.

The cause of the problem is enabling both configurations on a given instance. We only should enable either stat-publisher or stat-cleaner. If we enable both, there is a risk of losing data. And if we disable both there is the risk of going OOM.

This looks like an error prone configuration and we can certainly look into how to improve this.

Please refer mail thread: "LOST DATA IN DAS FROM ESB"






[ESBJAVA-4683] [ESB500][JMS][Topics]ESB Subscription will not have proper name in IBM MQ Created: 16/Jun/16  Updated: 30/Nov/17

Status: Open
Project: WSO2 ESB
Component/s: JMS Transport
Affects Version/s: 5.0.0-Beta
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Dilshani Subasinghe Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System : Windows server-2012-R2
Java Version : JDK1.8
Packs : ESB 5.0.0 Beta
ESB Setup: Standalone
JMS Broker: IBM MQ (8.0.0.2)


Attachments: PNG File WMQ.png    
Severity: Major
Estimated Complexity: Moderate
Attachment License: I agree to grant a license to WSO2 for this work for inclusion in WSO2 works as per the WSO2 Contributor License Agreement and the Apache License 2.0

 Description   

Preconditions:
1. ESB should be configured with IBM MQ.
Sample Axis2.xml config:

<transportReceiver name="jms" class="org.apache.axis2.transport.jms.JMSListener">
  <parameter name="default" locked="false">
 <parameter name="java.naming.factory.initial" locked="false">com.sun.jndi.fscontext.RefFSContextFactory</parameter>
    <parameter name="java.naming.provider.url" locked="false">file:/C:/Users/Administrator/Documents/jndidirectory</parameter>
    <parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">myQueueConnectionFactory</parameter>
    <parameter name="transport.jms.ConnectionFactoryType" locked="false">queue</parameter>
    <parameter name="transport.jms.UserName" locked="false">Administrator</parameter>
    <parameter name="transport.jms.Password" locked="false">wso2321#qa</parameter>
  </parameter>

  <parameter name="myQueueConnectionFactory1" locked="false">
    <parameter name="java.naming.factory.initial" locked="false">com.sun.jndi.fscontext.RefFSContextFactory</parameter>
    <parameter name="java.naming.provider.url" locked="false">file:/C:/Users/Administrator/Documents/jndidirectory</parameter>
    <parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">myQueueConnectionFactory</parameter>
    <parameter name="transport.jms.ConnectionFactoryType" locked="false">queue</parameter>
    <parameter name="transport.jms.UserName" locked="false">Administrator</parameter>
    <parameter name="transport.jms.Password" locked="false">wso2321#qa</parameter>
	 </parameter>
	
	<parameter name="myTopicConnectionFactory1" locked="false">
    <parameter name="java.naming.factory.initial" locked="false">com.sun.jndi.fscontext.RefFSContextFactory</parameter>
    <parameter name="java.naming.provider.url" locked="false">file:/C:/Users/Administrator/Documents/jndidirectory</parameter>
    <parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">myTopicConnectionFactory</parameter>
    <parameter name="transport.jms.ConnectionFactoryType" locked="false">topic</parameter>
	<parameter name="transport.jms.DestinationType" locked="false">topic</parameter>
    <parameter name="transport.jms.UserName" locked="false">Administrator</parameter>
    <parameter name="transport.jms.Password" locked="false">wso2321#qa</parameter>
  </parameter>
</transportReceiver>

2. IBM MQ should be up and running
3.ESB should be up and running

Steps to reproduce:
1. Created a proxy which will subscribe to a JMS topic
Sample Configuration:

 <proxy name="testProxy" startOnLoad="true" transports="http https jms">
        <description/>
        <target>
            <inSequence>
                <send>
                    <endpoint>
                        <address uri="jms:/jmsTopic?transport.jms.ConnectionFactory=myTopicConnectionFactory1"/>
                    </endpoint>
                </send>
            </inSequence>
        </target>
        <parameter name="transport.jms.Destination">testTopic</parameter>
        <parameter name="transport.jms.ConnectionFactory">myTopicConnectionFactory1</parameter>
    </proxy>

Expected Result:

  • Subscription should be created within IBM MQ.

Actual Result:

  • Subscription will be created, but without proper name. (Refer attachment)

Note: When adding durable subscriber, it will show the subscriber name properly. When not adding subscriber name, this will be happen






[ESBJAVA-4675] JMS Inbound endpoints connection options missing Created: 13/Jun/16  Updated: 04/Dec/17

Status: Open
Project: WSO2 ESB
Component/s: Inbound Endpoints
Affects Version/s: 4.9.0, 5.0.0-Beta
Fix Version/s: None

Type: Improvement Priority: Normal
Reporter: gregory eve Assignee: Chanaka Fernando