[ESBJAVA-4873] Transport level information does not match with SOAP Message namespace URI Created: 26/Aug/16  Updated: 26/Aug/16

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

Type: Bug Priority: Highest
Reporter: Faisal Shaik Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: 3 hours
Time Spent: Not Specified
Original Estimate: 3 hours
Environment:

solaries, wso2esb4.8.1


Severity: Blocker
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   

HI ,
This is very unusual behavior of wso2 esb.

We are receiving SOAP version errors when we invoking other webservices.

HTTP request headers:
=====================
POST /see/session HTTP/1.1
username: faisal
SOAPAction: ""
Accept-Encoding: gzip,deflate
Content-Type: text/xml
Transfer-Encoding: chunked
Host: *****8:80
Connection: Keep-Alive
User-Agent: Synapse-PT-HttpComponents-NIO

Response HTTP Headers:
=======================
HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: 550

Error in Wso2esb 4.8.1

2016-08-26 00:22:43 | ERROR | RelayUtils | Error while building Passthrough stream
org.apache.axiom.soap.SOAPProcessingException: Transport level information does not match with SOAP Message namespace URI
at org.apache.axis2.builder.BuilderUtil.validateSOAPVersion(BuilderUtil.java:745)
at org.apache.axis2.builder.SOAPBuilder.processDocument(SOAPBuilder.java:58)
at org.apache.synapse.transport.passthru.util.DeferredMessageBuilder.getDocument(DeferredMessageBuilder.java:118)
at org.apache.synapse.transport.passthru.util.RelayUtils.builldMessage(RelayUtils.java:107)
at org.apache.synapse.transport.passthru.util.RelayUtils.buildMessage(RelayUtils.java:82)
at org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:389)
at org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:170)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
at org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:225)
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:744)
2016-08-26 00:22:43 | INFO | LogMediator | To: http://www.w3.org/2005/08/addressing/anonymous, WSAction: , SOAPAction: , MessageID: urn:uuid:d63f029a-13bc-4639-92c9-96a256f8322a, Direction: response, getSessionDetails-response-body = <soapenv:Body xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"/>

SOAP request:
================
<?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header>

</soapenv:Header><soapenv:Body>
<prov:getSessionRequest xmlns:prov="http://schemas.myname.com/session/sioning">
<prov:queries>
<prov:query reference="Get Session">
<prov:id>
<prov:parameter name="USERNAME" value="**********"/>
</prov:id>
</prov:query>
</prov:queries>
</prov:getSessionRequest>
</soapenv:Body></soapenv:Envelope>

SOAP Response:
===============

<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>

<ns2:getSessionResponse xmlns:ns2="http://schemas.myname.com/session/sioning"
xmlns:ns3="http://schemas.myname.com/common">
<ns2:result code="400" message="See details for more information." status="error"/>
<ns2:details>
<ns3:detail code="400" message="Can not find any session where User-Name = *******" status="error"/>
</ns2:details>
</ns2:getSessionResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

we have traced in network, Response is coming from clinet but wso2 not able to read and giving transport error.

Thanks in advance.






[ESBJAVA-4872] Axis2 SMS transport doesn't invalidate the existing session after an error and the fault Sequence never got hit. Created: 25/Aug/16  Updated: 25/Aug/16  Resolved: 25/Aug/16

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

Type: Improvement Priority: Normal
Reporter: Kesavan Yogarajah Assignee: Chanaka Fernando
Resolution: Fixed 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   

The axis2 SMS transport doesn't invalidate the existing session after an error. It keeps trying with the same session so that the connection created during server startup is never get refreshed and the fault Sequence never got hit.



 Comments   
Comment by Kesavan Yogarajah [ 25/Aug/16 ]

Fixed in https://github.com/wso2/wso2-axis2-transports/pull/104

Comment by Balasubramaniyam Senduran [ 25/Aug/16 ]

PR is merged in https://github.com/wso2/wso2-axis2-transports/commit/45dfbada7045d3fe5b5bba983819843d77dcccbf





[ESBJAVA-4871] Wrong Tenant Domain getting printed when Content-Type Header is sent as null Created: 25/Aug/16  Updated: 25/Aug/16

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

Type: Bug Priority: Highest
Reporter: lakmali Baminiwatta 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   

"Error while building message for REST_URL request" error is thrown if REST API requests are sent with empty content-type header.

In APIM 1.10.0, when it starts to print "Error while building message for REST_URL request " for a tenant, it first logs without any tenant domain (It shows as tenant id -1). After sometime only it starts to log the tenant domain. But in some logs it prints the wrong tenant domain correspond to another tenant who has been sending successful requests to the server in the same time.

However, I tested this in ESB 5.0.0, where it seems it doesn't log the tenant domain at all. I tested for sometime, and it always logs it without tenant domain. So it looks like there is a problem with getting the correct tenant set in the relevant synapse level flow in both synapse versions.

TID: [-1] [] [2016-08-19 13:49:35,552] ERROR

{org.apache.synapse.transport.passthru.ServerWorker} - Error while building message for REST_URL request {org.apache.synapse.transport.passthru.ServerWorker}

TID: [-1] [] [2016-08-19 13:49:35,553] ERROR

{org.apache.synapse.transport.passthru.ServerWorker} - Error while building message for REST_URL request {org.apache.synapse.transport.passthru.ServerWorker}

TID: [-1] [] [2016-08-19 13:49:35,741] ERROR

{org.apache.synapse.transport.passthru.ServerWorker} - Error while building message for REST_URL request {org.apache.synapse.transport.passthru.ServerWorker}

This issue makes it difficult to identify for which tenant the error is thrown.






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

Status: Open
Project: WSO2 ESB
Component/s: None
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-4869] Error when invoking secured endpoint with policy Created: 24/Aug/16  Updated: 24/Aug/16

Status: Open
Project: WSO2 ESB
Component/s: None
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   

ERROR - Axis2Sender Unexpected error during sending message out
java.lang.NullPointerException
at org.apache.rampart.builder.BindingBuilder.addSignatureConfirmation(BindingBuilder.java:807)
at org.apache.rampart.builder.AsymmetricBindingBuilder.doSignBeforeEncrypt(AsymmetricBindingBuilder.java:433)
at org.apache.rampart.builder.AsymmetricBindingBuilder.build(AsymmetricBindingBuilder.java:97)
at org.apache.rampart.MessageBuilder.build(MessageBuilder.java:147)
at org.apache.rampart.handler.RampartSender.invoke(RampartSender.java:65)
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.send(AxisEngine.java:426)
at org.apache.synapse.core.axis2.DynamicAxisOperation$DynamicOperationClient.send(DynamicAxisOperation.java:185)
at org.apache.synapse.core.axis2.DynamicAxisOperation$DynamicOperationClient.executeImpl(DynamicAxisOperation.java:167)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:149)
at org.apache.synapse.core.axis2.Axis2FlexibleMEPClient.send(Axis2FlexibleMEPClient.java:494)
at org.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java:72)
at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:366)
at org.apache.synapse.endpoints.AbstractEndpoint.send(AbstractEndpoint.java:333)
at org.apache.synapse.endpoints.AddressEndpoint.send(AddressEndpoint.java:59)
at org.apache.synapse.endpoints.IndirectEndpoint.send(IndirectEndpoint.java:54)
at org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.receive(ProxyServiceMessageReceiver.java:200)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
at org.apache.synapse.transport.passthru.ServerWorker.processEntityEnclosingRequest(ServerWorker.java:403)
at org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:183)
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)






[ESBJAVA-4868] Allow deployment of same configuration over various environments Created: 24/Aug/16  Updated: 24/Aug/16

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

Type: Improvement Priority: Normal
Reporter: Joao Melo Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: deployment, synapse
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

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

 Description   

We are building enterprise integration flow "as a product": one unique synapse xml.

These same flows/configurations are delivered over various customers, and any customer have various environments: QA, production,...
So we need to have just one code to maintain and evolve, and that's important.

The problem here is that on every single environment, there are specific points on synapse xml that need to be manually changed. And thats a easy way to break something.

The improvement required here is a way to use expressions on specific points (see ahead), allowing to read specific configurations from registry.
That way we can maintain just one code, and we can centralize all specifities in one registry file, and that "parametrization file" is different for each environment.

Right now, the two points dont accept expressions are:

  • address endpoint uri (the approach to use http/REST uri templates does fit here). sample:
    <endpoint name="benner-auth-endpoint" xmlns="http://ws.apache.org/ns/synapse">
    <address format="soap11" trace="disable" uri=" {get-property('benner.auth.uri')}

    "/>
    </endpoint>

  • inline parameters for vfs transports. sample:
    <parameter name="transport.vfs.FileURI"> {get-property('benner.rh.esocial.files.in')}

    </parameter>
    <parameter name="transport.vfs.MoveAfterFailure">

    {get-property('benner.rh.esocial.files.fail')}

    </parameter>
    <parameter name="transport.vfs.MoveAfterProcess">

    {get-property('benner.rh.esocial.files.success')}

    </parameter>



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

typo at description:

  • address endpoint uri (the approach to use http/REST uri templates does NOT fit here)




[ESBJAVA-4867] Expression evaluation support for Mediation Debugger Created: 24/Aug/16  Updated: 24/Aug/16

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

Type: New Feature Priority: Normal
Reporter: Isuru Udana Loku Narangoda Assignee: Nuwan Pallewela
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 a break point is hit, we should have a way to evaluate an expression (Xpath or Jsonpath) with the current message.

This is something similar to expression evaluations in Java IDEs.






[ESBJAVA-4866] WSO2ESB js script mediator error on big payload Created: 23/Aug/16  Updated: 23/Aug/16

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

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

win


Severity: Major
Estimated Complexity: Moderate

 Description   

have a seq (WSO2ESb 4.9) calls REST and receives JSON. Then I map JSON to XML via script mediator (JS), here is my configuration:

<case regex="urn:mta:navigation:getMarshes">
<property xmlns:ns="http://ws.apache.org/ns/synapse" name="uri.var.service"
value="getMarshes" scope="default" type="STRING" />
<call>
<endpoint key="adapter.navigation.asu.GetData.Endpoint" />
</call>
<script language="js"><![CDATA[
var array = mc.getPayloadJSON();
var payload = <getMarshesRS/>;

for (i = 0; i < array.length; ++i) {
var elem = array[i];
payload.Marshes += <marsh id=

{elem.mr_id}

num=

{elem.mr_num}

title=

{elem.mr_title}

note=

{elem.mr_note}

mt_id=

{elem.mrt_id}

/>
}
mc.setPayloadXML(payload);
]]></script>
</case>
If I receive not much objects from REST service (10 for example), it works fine. But if I receive 1280 objects, I have an exception

[2016-08-23 16:31:35,799] ERROR - Uncaught exception

{org.apache.axis2.transport.base.threads.NativeWorkerPool}

java.lang.ClassFormatError: Invalid method Code length 186472 in class file org/mozilla/javascript/gen/c187 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:763) at org.mozilla.javascript.DefiningClassLoader.defineClass(DefiningClassLoader.java:62) at org.mozilla.javascript.optimizer.Codegen.defineClass(Codegen.java:126) at org.mozilla.javascript.optimizer.Codegen.createScriptObject(Codegen.java:81) at org.mozilla.javascript.Context.compileImpl(Context.java:2361) at org.mozilla.javascript.Context.compileReader(Context.java:1310) at org.mozilla.javascript.Context.compileReader(Context.java:1282) at org.mozilla.javascript.Context.evaluateReader(Context.java:1224) at com.sun.phobos.script.javascript.RhinoScriptEngine.eval(RhinoScriptEngine.java:172) at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:249) at org.apache.synapse.mediators.bsf.ScriptMediator.processJSONPayload(ScriptMediator.java:322) at org.apache.synapse.mediators.bsf.ScriptMediator.mediateForInlineScript(ScriptMediator.java:294) at org.apache.synapse.mediators.bsf.ScriptMediator.invokeScript(ScriptMediator.java:239) at org.apache.synapse.mediators.bsf.ScriptMediator.mediate(ScriptMediator.java:207) at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:81) at org.apache.synapse.mediators.filters.SwitchMediator.mediate(SwitchMediator.java:178) at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:267) at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.mediateFromContinuationStateStack(Axis2SynapseEnvironment.java:679) at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:244) at org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:529) at org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:172) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) 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)






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

Status: Open
Project: WSO2 ESB
Component/s: None
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-4864] Fault sequence not triggered on error when building the message in jms inbound endpoint Created: 23/Aug/16  Updated: 25/Aug/16  Resolved: 25/Aug/16

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

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   

JMS inbound endpoint does not trigger the fault sequence when error happens on message building.



 Comments   
Comment by Nuwan Wimalasekara [ 25/Aug/16 ]

Fixed in https://github.com/wso2/carbon-mediation/pull/743
Test Added in https://github.com/wso2/product-esb/pull/590





[ESBJAVA-4863] JMS Transaction roll back not working for topic message in inbound endpoint Created: 23/Aug/16  Updated: 25/Aug/16  Resolved: 25/Aug/16

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

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   

if the message is roll back after failure, inbound endpoint does not roll back the message properly. ESB should get the message again from broker and try to process after roll back.



 Comments   
Comment by Nuwan Wimalasekara [ 25/Aug/16 ]

Fixed in https://github.com/wso2/carbon-mediation/pull/743
Test Added in https://github.com/wso2/product-esb/pull/590





[ESBJAVA-4861] Provide an option to enable statistics globally for ESB 4.9.0 or previous version statistics implementation Created: 23/Aug/16  Updated: 23/Aug/16

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

Type: Patch Priority: High
Reporter: Isuru Udana Loku Narangoda Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Estimated Complexity: Moderate
Test cases added: Yes

 Description   

It is nice to have a way to enable statistics globally to quickly turn on and turn off statistics of the server globally without touching the individual artifacts






[ESBJAVA-4860] Adding HTTP 2.0 support for WSO2 ESB Created: 22/Aug/16  Updated: 22/Aug/16

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

Type: Improvement Priority: High
Reporter: Chanaka Fernando 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: Not-applicable
Affects Docs:
Yes

 Description   

HTTP protocol has been the driving factor of the WWW revolution and has been used all over the planet. It has undergone several iterations and the latest version of the protocol specification is HTTP 2.0. This specification has addressed several important limitations which has been there with HTTP 1.1. When loading web pages with multiple resources, browsers will send parallel requests to reduce the latency. But this needs more resources since it needs to create new connections and latency will be affected. Even though there are hacks like HTTP pipelining by sending multiple requests through the same TCP connection asynchronously. But in this case, server will respond synchronously and reduce the latency and blocks the application if one of the resources slow to respond.

How HTTP/2 address the challenges of HTTP/1.1
The major design goals of the HTTP/2 protocol was to address the issues which were present in the HTTP/1.1 protocol.
Reduce the latency
Reduce total number of open sockets (TCP connections)
Maintain high level compatibility with HTTP/1.1
In addition to addressing these challenges, HTTP/2 has introduced several new features which were not there in the HTTP/1.1 and will improve the performance of the web.

What is new in HTTP/2
Multiplexing - Multiple requests can be sent over a single TCP connection asynchronously.
Server Push - Server can asynchronously send resources to the client's cache for future use
Header compression - Clients will not need to send the same headers for each and every request. Only the new headers required to be sent.
Request prioritization - Some requests can have more memory,cpu, bandwidth in the same TCP connection
Binary protocol - Data will be transmitted as binary frames. Not as text form in the HTTP/1.1






[ESBJAVA-4859] MBean for getting status of the running tasks Created: 22/Aug/16  Updated: 22/Aug/16

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

Type: Improvement Priority: High
Reporter: Chanaka Fernando 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: Not-applicable

 Description   

We don't have any way to getting status of the running task with existing implementation.






Generated at Mon Aug 29 00:20:03 IST 2016 using JIRA 6.0.1#6096-sha1:e4a48bd73c6b8a4d99c824976ce5808b4c85857d.