[ESBJAVA-4957] ESB cannot connect remote RabbitMQ MQTT when allow_anonymous set to false Created: 23/Nov/16  Updated: 08/Dec/16  Resolved: 08/Dec/16

Status: Resolved
Project: WSO2 ESB
Component/s: Inbound Endpoints
Affects Version/s: 4.9.0
Fix Version/s: 5.0.0

Type: Bug Priority: Normal
Reporter: Tharanga Wijeweera Assignee: Eranda Rajapakshe
Resolution: Duplicate Votes: 0
Labels: ESB
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

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

 Description   

When ESB 4.9.0 configured to consume messages from RabbitMQ MQTT, ESB doesn't establish the connection with RabbitMQ. Please find the below, reproducing steps.

Steps:
1. Install RabbitMQ in remote machine.

2. Enable MQTT.

3. Change the rabbitmq.config file as below

[
 {rabbit, [
           {tcp_listeners, [5672]},
           {cluster_partition_handling, pause_minority}
 ]},
 {rabbitmq_management, [
    {listener, [{port, 15672}]},
    {http_log_dir, "/var/log/rabbitmq/management_http.log"}
 ]},
 {rabbitmq_mqtt, [
                  {allow_anonymous,  false},
                  {tcp_listeners,    [1883]}
 ]}
].

Note: allow_anonymous, false

4. Create new user in RabbitMQ

5. Configure InboundEndpoint in ESB to consume messages.

6. ESB doesn't connect to the RabbitMQ



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

This issue is fixed with,
https://github.com/wso2/carbon-mediation/pull/720





[ESBJAVA-4652] [ESB][JMS][Sender]when adding cache level as producer within axis2.xml giving an error Created: 03/Jun/16  Updated: 07/Dec/16  Resolved: 07/Dec/16

Status: Closed
Project: WSO2 ESB
Component/s: None
Affects Version/s: 5.0.0-Beta
Fix Version/s: None

Type: Bug Priority: Normal
Reporter: Dilshani Subasinghe Assignee: Eranda Rajapakshe
Resolution: Not a bug 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 for 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>
                        <parameter name="transport.jms.CacheLevel">producer</parameter>
        </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. Create an queue in MB (Ex: StockQuotesQueue )

3. Publish messages to proxy.

Expected result:

  • Sending messages to jms queue in MB

Actual Result:

  • Proxy cant identify endpoint and adding messages to fault sequence.


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

JMS connection factories mentioned in the axis2.xml will be created at ESB startup. And when creating a JMS producer, the destination should be known. Therefore if u want to have producer level caching, you should mention the destination as well, in the axis2.xml (at ESB startup).

For an example,

 <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>
            <parameter name="transport.jms.Destination">StockQuotesQueue</parameter>
            <parameter name="transport.jms.CacheLevel">producer</parameter>
        </parameter>
</transportSender>

In the proxy, you can omit the queue name and set address endpoint as follows,

<endpoint>
        <address uri="jms:?&amp;transport.jms.ConnectionFactory=myQueueConnectionFactory"/>
</endpoint>

Thanks,
Eranda





[ESBJAVA-4966] ESB sample 800 get failed Created: 05/Dec/16  Updated: 05/Dec/16  Resolved: 05/Dec/16

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

Type: Bug Priority: Normal
Reporter: Nuwan Wimalasekara Assignee: Nuwan Wimalasekara
Resolution: Fixed 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 the incoming message does not have the content type, It fail to set the content type, when the backend endpoint format is SOAP11 and SOAP12

Ex: Get request does not send the content type

https://docs.wso2.com/display/ESB500/Sample+800%3A+Introduction+to+REST+API



 Comments   
Comment by Nuwan Wimalasekara [ 05/Dec/16 ]

Fixed in https://github.com/wso2/wso2-synapse/pull/681





[ESBJAVA-4958] Validate Mediator re-initailizes all the schemas for each and every request Created: 23/Nov/16  Updated: 05/Dec/16  Resolved: 05/Dec/16

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

Type: Bug Priority: Highest
Reporter: Vijitha Ekanayake Assignee: Sohani Weerasinghe
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File ESBJAVA-4958.diff    
Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

The fix done in JIRA[1] re-initializes all schemas for each and every request within the validate mediator without caching those schemas leads to significant downgrade in inbound TPS.

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



 Comments   
Comment by Sohani Weerasinghe [ 05/Dec/16 ]

Pull request - https://github.com/wso2/wso2-synapse/pull/680





Generated at Thu Dec 08 21:34:34 IST 2016 using JIRA 7.2.2#72004-sha1:9d5132893cc8c728a3601a9034a1f8547ef5c7be.