[ESBJAVA-3593] Possible Memory Leak with XSLT Transformer Created: 04/Mar/15  Updated: 25/May/15  Resolved: 25/May/15

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

Type: Bug Priority: High
Reporter: Danushka Fernando Assignee: Malaka Silva
Resolution: Won't Fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: Text File DES_XSLTMediator.patch    
Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Comments   
Comment by Malaka Silva [ 14/May/15 ]

Above is patch introduces some issues. However following may resolve it. But I don't think we really need to do this.

  • result = resultBuilder.getNode(encoding == null ? null : Charset.forName(encoding));
    + result = resultBuilder.getNode(encoding == null ? null : Charset.forName(encoding));result.build();
    + result = result.cloneOMElement();
    } catch (Exception e) { throw new SynapseException("Unable to create an OMElement using XSLT result ",e); + }

    finally

    { + resultBuilder.release(); }
Comment by Isuru Udana Loku Narangoda [ 25/May/15 ]

We cannot release the resultBuilder as message is not fully built at this stage (nature of Axiom - on demand building). resultBuilder will be garbaged collected once all references to it is removed.





[ESBJAVA-3584] When you restart ESB, policy applied for a proxy will be reset Created: 26/Feb/15  Updated: 25/May/15  Resolved: 25/May/15

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

Type: Bug Priority: High
Reporter: Ushani Balasooriya Assignee: Isuru Udana Loku Narangoda
Resolution: Invalid Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Standalone, H2


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
====
1. Create a proxy.
2. Apply a policy for that proxy.
E.g.,

<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="ec88c45bb94ad3ee4148a34684c258a64b1f5dbfe62d4dca">
<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="ec88c45bb94ad3ee4148a34684c258a64b1f5dbfe62d4dca">
<wsp:ExactlyOne>
<wsp:All>
<wsoma:OptimizedMimeSerialization xmlns:wsoma="http://schemas.xmlsoap.org/ws/2004/09/policy/optimizedmimeserialization"></wsoma:OptimizedMimeSerialization>
</wsp:All>
</wsp:ExactlyOne>
</wsp:Policy>

3. Enable security.
4. Stop ESB and restart

Policy will be gone/reset



 Comments   
Comment by Elilmatha Sivanesan [ 15/May/15 ]

I tried with esb-4.8.1 and 4.9.0 the Policy exists as it is.

Comment by Isuru Udana Loku Narangoda [ 25/May/15 ]
  • Applying security (from UI) is not supported in 4.9.0. We can applying security from DevS or from source view pointing to a policy file.
  • Even in 4.8.1 applied security is getting persisted and even restarted it should be there.
  • So when you report an issue, it is better if you can report it with clear steps to reproduce it.
  • This should be something related to service meta data. We have removed file system based meta-data in Carbon 4.4.0 based products.

Resolving as this is a invalid case now.





[ESBJAVA-3681] Kerberos Authentication does not work with proxy services Created: 10/May/15  Updated: 25/May/15  Resolved: 25/May/15

Status: Resolved
Project: WSO2 ESB
Component/s: None
Affects Version/s: None
Fix Version/s: 4.9.0 - Beta , 4.9.0

Type: Bug Priority: High
Reporter: Isuru Udana Loku Narangoda Assignee: Isuru Udana Loku Narangoda
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: No

 Description   

Getting following exception when sending the response back to the client.

ume></ns:return></ns:getQuoteResponse></soapenv:Body></soapenv:Envelope> Unexpected error sending message back
org.apache.axis2.AxisFault: Error in building kereberos token
	at org.apache.rampart.handler.RampartSender.invoke(RampartSender.java:76)
	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.Axis2Sender.sendBack(Axis2Sender.java:185)
	at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:303)
	at org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:500)
	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:239)
	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.apache.rampart.RampartException: Error in building kereberos token
	at org.apache.rampart.builder.BindingBuilder.getKerberosTokenBuilder(BindingBuilder.java:936)
	at org.apache.rampart.builder.SymmetricBindingBuilder.doSignBeforeEncrypt(SymmetricBindingBuilder.java:425)
	at org.apache.rampart.builder.SymmetricBindingBuilder.build(SymmetricBindingBuilder.java:86)
	at org.apache.rampart.MessageBuilder.build(MessageBuilder.java:144)
	at org.apache.rampart.handler.RampartSender.invoke(RampartSender.java:65)
	... 14 more
Caused by: org.apache.ws.security.WSSecurityException: The security token could not be authenticated or authorized (Kerberos login failed)
	at org.apache.ws.security.message.WSSecKerberosToken.prepare(WSSecKerberosToken.java:200)
	at org.apache.ws.security.message.WSSecKerberosToken.build(WSSecKerberosToken.java:91)
	at org.apache.rampart.builder.BindingBuilder.getKerberosTokenBuilder(BindingBuilder.java:934)
	... 18 more



 Comments   
Comment by Isuru Udana Loku Narangoda [ 10/May/15 ]

Due to non-blocking transports, kerberos session is not available in the response path.
If we reverse the message flow from the proxy inSequence like follows, it works without a problem, so it confirms that this is due to the non-blocking transports.

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="Q16"
       transports="https,http,local"
       statistics="disable"
       trace="disable"
       startOnLoad="true">
   <target>
      <inSequence>
         <payloadFactory media-type="xml">
            <format>
               <foo xmlns="">
                  <b>a</b>
               </foo>
            </format>
            <args/>
         </payloadFactory>
         <respond/>
      </inSequence>
   </target>
   <enableSec/>
   <policy key="p16"/>
   <description/>
</proxy>
                                

Workaround is to use Callout mediator within the message flow instead of Send/Call mediators

Comment by Isuru Udana Loku Narangoda [ 25/May/15 ]

Fixed with https://github.com/wso2/carbon-mediation/pull/182





[ESBJAVA-3710] Getting the following error on server startup Created: 25/May/15  Updated: 25/May/15  Resolved: 25/May/15

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

Type: Bug Priority: Normal
Reporter: Malaka Silva Assignee: Malaka Silva
Resolution: Not a bug 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   

Create an inbound endpoint for tenant and restart the server. Getting the following error.

[2015-05-25 14:36:34,655] ERROR - JMXServerManager Could not initialize RMI server
java.lang.IllegalArgumentException: rmiURLContext: name is not an RMI URL: 1
at com.sun.jndi.url.rmi.rmiURLContext.getRootURLContext(rmiURLContext.java:64)
at com.sun.jndi.toolkit.url.GenericURLContext.lookup(GenericURLContext.java:200)
at org.wso2.carbon.context.internal.CarbonContextDataHolder$CarbonInitialJNDIContext.getInitialContext(CarbonContextDataHolder.java:640)
at org.wso2.carbon.context.internal.CarbonContextDataHolder$CarbonInitialJNDIContext.bind(CarbonContextDataHolder.java:713)
at javax.naming.InitialContext.bind(InitialContext.java:419)
at javax.management.remote.rmi.RMIConnectorServer.bind(RMIConnectorServer.java:643)
at javax.management.remote.rmi.RMIConnectorServer.start(RMIConnectorServer.java:426)
at org.wso2.carbon.core.init.JMXServerManager.startJMXService(JMXServerManager.java:121)
at org.wso2.carbon.core.internal.StartupFinalizerServiceComponent.completeInitialization(StartupFinalizerServiceComponent.java:202)
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:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
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.start(CarbonServerManager.java:219)
at org.wso2.carbon.core.internal.CarbonCoreServiceComponent.activate(CarbonCoreServiceComponent.java:91)
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.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:1284)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1197)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1087)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5262)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5550)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1575)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1565)
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:745)



 Comments   
Comment by Malaka Silva [ 25/May/15 ]

Find the carbon.xml file located in CARBON_HOME/repository/conf. Edit the file to make the rmi context available to all tenants. There will be a section in the file as follows.

<
!-- Contexts that are common to all tenants --> <AllTenants>
<UrlContexts>
<UrlContext> <Scheme>java</Scheme>
</UrlContext><!-- <UrlContext>
<Scheme>foo</Scheme>
</UrlContext> --> </UrlContexts>
</AllTenants>
The rmi context needs to be added to this. Adding the following lines would do the trick

<UrlContext> <Scheme>rmi</Scheme>
</UrlContext>





[ESBJAVA-3703] [BAM Mediator] Possible OOM due to BAM mediator creating SynapseXPath object per request Created: 20/May/15  Updated: 25/May/15  Resolved: 25/May/15

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

Type: Patch Priority: Highest
Reporter: Lasantha Fernando Assignee: Isuru Udana Loku Narangoda
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File ESB_3703.diff    
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 following code segment creates a new SynapseXPath object per each request.

            String stringProperty;
            String propertyType;
            if(property.isExpression()){
                SynapseXPath synapseXPath = new SynapseXPath(property.getValue());
                stringProperty = synapseXPath.stringValueOf(messageContext);
            } else {
                stringProperty =  property.getValue();
            }

This can cause performance degradation. Also the underlying XPathFactory created by Synapse is not thread safe [1].

[1] http://docs.oracle.com/javase/7/docs/api/javax/xml/xpath/XPathFactory.html



 Comments   
Comment by Isuru Udana Loku Narangoda [ 22/May/15 ]

Lasantha,

Can you please attach the diff to fix the issue ?

Comment by Isuru Udana Loku Narangoda [ 22/May/15 ]

Vijitha,

We need to check the possibility of OOM in new data publisher mediators also.

Comment by Lasantha Fernando [ 22/May/15 ]

Sorry, forgot to add PR and diff.

PR - https://github.com/wso2/carbon-mediation/pull/171

Diff attached in ESB_3703.diff.

Thanks,
Lasantha

Comment by Isuru Udana Loku Narangoda [ 25/May/15 ]
  • Pull request merged.
  • Checked the new publish-event-mediator code. At there SynapseXPath is created at the Mediator Factory which happens at the deployment time.

Hence resolving this issue.





[ESBJAVA-3663] Need to update default values for socket timeout and global timeout value Created: 28/Apr/15  Updated: 25/May/15  Resolved: 25/May/15

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

Type: Task Priority: Highest
Reporter: Isuru Udana Loku Narangoda Assignee: Isuru Udana Loku Narangoda
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   

Need to update these values to satisfy the following rule.

socket timeout > max (endpoint timeout, global timeout interval)



 Comments   
Comment by Isuru Udana Loku Narangoda [ 25/May/15 ]

https://github.com/wso2/product-esb/pull/170





[ESBJAVA-3672] NullPointerException thrown when using a call mediator inside FaultSequence Created: 06/May/15  Updated: 25/May/15  Resolved: 25/May/15

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

Type: Bug Priority: Highest
Reporter: Yasassri Rathnayake Assignee: Isuru Udana Loku Narangoda
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

ESB 4.8.1
Java 1.7


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

 Description   

Steps to reproduce

1. Create a proxy with a call mediator which returns a SOAP Fault. (Use the sample proxy given below (1))
2. Set the property to trigger the faultSequence on SOAP Fault
<property name="FORCE_ERROR_ON_SOAP_FAULT" value="true" scope="default" type="STRING"/>
3. In the Fault sequence do another call to some working endpoint.
4. Invoke the proxy service.

Issue : NullPointer exception is thrown. See - (2)

Note : If you change the call mediator to a send mediator it works. As i notice proxy-name property gets null in the fault sequence.
[1]-----

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="testProxyXXXXXXXXXXX"
       transports="https,http"
       statistics="disable"
       trace="disable"
       startOnLoad="true">
   <target>
      <inSequence>
         <log>
            <property name="LOG_1" value="inSequence - at the start"/>
            <property name="name" expression="get-property('proxy.name')"/>
         </log>
         <property name="FORCE_ERROR_ON_SOAP_FAULT"
                   value="true"
                   scope="default"
                   type="STRING"/>
         <log>
            <property name="LOG_2" value="before first call"/>
         </log>
         <call>
            <endpoint>
               <address uri="http://localhost:8088/mockechoSoap11Binding"/>
            </endpoint>
         </call>
         <log level="custom">
            <property name="LOG_3" value="after first call"/>
         </log>
         <respond/>
      </inSequence>
      <outSequence>
         <send/>
      </outSequence>
      <faultSequence>
         <log level="custom">
            <property name="name" expression="get-property('proxy.name')"/>
            <property name="LOG_3" value="IN THE FAULT SEQUENCE"/>
         </log>
         <header name="Action" scope="default" value="urn:getQuote"/>
         <payloadFactory media-type="xml">
            <format>
               <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"
                              xmlns:xsd="http://services.samples/xsd"
                              xmlns:ser="http://services.samples">
                  <soap:Header/>
                  <soap:Body>
                     <ser:getQuote><!--Optional:--><ser:request><!--Optional:--><xsd:symbol>IBM</xsd:symbol>
                        </ser:request>
                     </ser:getQuote>
                  </soap:Body>
               </soap:Envelope>
            </format>
            <args/>
         </payloadFactory>
         <log level="full"/>
         <call>
            <endpoint>
               <address uri="https://localhost:9002/services/SimpleStockQuoteService"
                        format="soap11"/>
            </endpoint>
         </call>
      </faultSequence>
   </target>
   <description/>
</proxy>

[2]-----

TID: [0] [ESB] [2015-05-06 10:38:28,147] ERROR
{org.apache.axis2.transport.base.threads.NativeWorkerPool} - Uncaught exception {org.apache.axis2.transport.base.threads.NativeWorkerPool}
java.lang.NullPointerException
at java.util.concurrent.ConcurrentHashMap.hash(ConcurrentHashMap.java:332)
at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:987)
at org.apache.synapse.config.SynapseConfiguration.getProxyService(SynapseConfiguration.java:1018)
at org.apache.synapse.continuation.ContinuationStackManager.retrieveSequence(ContinuationStackManager.java:245)
at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.mediateFromContinuationStateStack(Axis2SynapseEnvironment.java:556)
at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:198)
at org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:488)
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:722)
[1]testProxy 


 Comments   
Comment by Kathees Rajendram [ 17/May/15 ]

The above configuration is working with the call mediation inside the fault sequence.

Comment by Yasassri Rathnayake [ 17/May/15 ]

Does the original service return a SOAP fault? Can you confirm whether the sequence moves to the fault sequence?

I can reproduce this continuously.

Comment by Isuru Udana Loku Narangoda [ 25/May/15 ]

I will have a look on this. Probably property copying issue in fault sequence

Comment by Isuru Udana Loku Narangoda [ 25/May/15 ]

This is already fixed in 4.9.0 with https://wso2.org/jira/browse/ESBJAVA-3042.





[ESBJAVA-3708] Tenant is not getting loaded when coordination is false Created: 21/May/15  Updated: 25/May/15  Resolved: 25/May/15

Status: Resolved
Project: WSO2 ESB
Component/s: None
Affects Version/s: None
Fix Version/s: 4.9.0 - Beta , 4.9.0 - RC1

Type: Bug Priority: Highest
Reporter: Malaka Silva Assignee: Malaka Silva
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: Not-applicable

 Description   

Due to that coordination=false is not supported in tenant mode.



 Comments   
Comment by Malaka Silva [ 21/May/15 ]

https://github.com/wso2/carbon-mediation/pull/172

Comment by Malaka Silva [ 25/May/15 ]

https://github.com/wso2/carbon-mediation/pull/180





[ESBJAVA-3704] Startup errors when having https inbound endpoints Created: 21/May/15  Updated: 25/May/15  Resolved: 25/May/15

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

Type: Bug Priority: Highest
Reporter: Isuru Udana Loku Narangoda Assignee: isuru ranawaka
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   

[2015-05-21 10:15:40,670] ERROR - PassThroughListeningIOReactorManager Cannot Start Endpoint for EP2
java.lang.Exception: Cannot create ServerConnectionFactory for EP2in port 6666already registered a server connection factory
at org.apache.synapse.transport.passthru.core.PassThroughListeningIOReactorManager.getSharedSSLIOReactor(PassThroughListeningIOReactorManager.java:586)
at org.apache.synapse.transport.passthru.core.PassThroughListeningIOReactorManager.startDynamicPTTSSLEndpoint(PassThroughListeningIOReactorManager.java:182)
at org.apache.synapse.transport.passthru.api.PassThroughInboundEndpointHandler.startSSLEndpoint(PassThroughInboundEndpointHandler.java:105)
at org.wso2.carbon.inbound.endpoint.protocol.http.management.HTTPEndpointManager.startSSLListener(HTTPEndpointManager.java:164)
at org.wso2.carbon.inbound.endpoint.EndpointListenerLoader.loadListeners(EndpointListenerLoader.java:63)
at org.wso2.carbon.mediation.initializer.ServiceBusInitializer.activate(ServiceBusInitializer.java:258)
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.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)



 Comments   
Comment by isuru ranawaka [ 21/May/15 ]

https://github.com/wso2/carbon-mediation/pull/170





[ESBJAVA-3706] Taking long time to start the server Created: 21/May/15  Updated: 25/May/15  Resolved: 25/May/15

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

Type: Bug Priority: Highest
Reporter: Isuru Udana Loku Narangoda Assignee: Kasun Indrasiri
Resolution: Cannot Reproduce 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 introducing CXF inbound, ESB pack takes long time to start. Removing cxf bundle, solves the problem. So it is something to do with CXF bundles



 Comments   
Comment by Isuru Udana Loku Narangoda [ 25/May/15 ]

This is no longer happening in Alpha packs.





[ESBJAVA-3707] Getting warnings when Call mediator is followed by an iterate mediator Created: 21/May/15  Updated: 21/May/15  Resolved: 21/May/15

Status: Resolved
Project: WSO2 ESB
Component/s: None
Affects Version/s: 4.9.0 - M7
Fix Version/s: 4.9.0 - Alpha

Type: Bug Priority: Highest
Reporter: Isuru Udana Loku Narangoda Assignee: Isuru Udana Loku Narangoda
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   

[2015-05-21 12:19:18,897] WARN - ContinuationStackManager Continuation Stack is empty. Probably due to a configuration issue


<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="sampleProxy"
       transports="https,http"
       statistics="disable"
       trace="disable"
       startOnLoad="true">
   <target>
      <inSequence>
         <property name="FORCE_SC_ACCEPTED"
                   value="true"
                   scope="axis2"
                   type="STRING"/>
         <call>
            <endpoint>
               <http method="GET"
                     uri-template="http://foo.bar.com"/>
            </endpoint>
         </call>
         <iterate id="it1" expression="//data/foo">
            <target>
               <sequence>
                  <iterate xmlns:ns="http://org.apache.synapse/xsd"
                           id="it2"
                           expression="//data/bar"
                           sequential="true">
                     <target>
                        <sequence>
                        </sequence>
                     </target>
                  </iterate>
               </sequence>
            </target>
         </iterate>
         <log level="custom">
            <property name="done" value="yes"/>
         </log>
      </inSequence>
   </target>
   <description/>
</proxy>








 Comments   
Comment by Isuru Udana Loku Narangoda [ 21/May/15 ]

Regression of ESBJAVA-3634

Comment by Isuru Udana Loku Narangoda [ 21/May/15 ]

Fixed with https://github.com/wso2/wso2-synapse/pull/200





[ESBJAVA-3702] HTTPS Inbound UI Optional params Created: 20/May/15  Updated: 21/May/15  Resolved: 21/May/15

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

Type: Bug Priority: Highest
Reporter: Isuru Udana Loku Narangoda Assignee: isuru ranawaka
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   

Make optional parameters optional in UI.

In ui, we cannot leave optional parameters as optional, it throws many errors if we if leave them blank.



 Comments   
Comment by isuru ranawaka [ 21/May/15 ]

https://github.com/wso2/carbon-mediation/pull/166





[ESBJAVA-3683] ESB cannot act as a JMS producer under a tenant mode Created: 12/May/15  Updated: 20/May/15  Resolved: 20/May/15

Status: Resolved
Project: WSO2 ESB
Component/s: None
Affects Version/s: 4.9.0 - M7
Fix Version/s: 4.9.0 - Beta

Type: Bug Priority: Highest
Reporter: Malaka Silva Assignee: Malaka Silva
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   

While trying ESB as a JMS Producer the following error was encountered.

[2015-05-12 06:10:04,013] ERROR - ClientUtils The system cannot infer the transport information from the jms:/myQueue?&java.naming.factory.initial=org.wso2.andes.jndi.PropertiesFileInitialContextFactory&java.naming.provider.url=repository/conf/jndi.properties&transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&transport.jms.DestinationType=queue URL.
[2015-05-12 06:10:04,014] ERROR - Axis2Sender Unexpected error during sending message out
org.apache.axis2.AxisFault: The system cannot infer the transport information from the jms:/myQueue?&java.naming.factory.initial=org.wso2.andes.jndi.PropertiesFileInitialContextFactory&java.naming.provider.url=repository/conf/jndi.properties&transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&transport.jms.DestinationType=queue URL.
at org.apache.axis2.description.ClientUtils.inferOutTransport(ClientUtils.java:81)
at org.apache.axis2.client.OperationClient.prepareMessageContext(OperationClient.java:288)
at org.apache.axis2.description.OutOnlyAxisOperationClient.executeImpl(OutOnlyAxisOperation.java:249)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:149)
at org.apache.synapse.core.axis2.Axis2FlexibleMEPClient.send(Axis2FlexibleMEPClient.java:491)
at org.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java:62)
at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:432)
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.mediators.builtin.SendMediator.mediate(SendMediator.java:105)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:80)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:47)
at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:135)
at org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.receive(ProxyServiceMessageReceiver.java:166)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
at org.wso2.carbon.core.multitenancy.MultitenantMessageReceiver.doSOAP(MultitenantMessageReceiver.java:274)
at org.wso2.carbon.core.multitenancy.MultitenantMessageReceiver.processRequest(MultitenantMessageReceiver.java:221)
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.processEntityEnclosingRequest(ServerWorker.java:362)
at org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:130)
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)



 Comments   
Comment by Malaka Silva [ 12/May/15 ]

https://github.com/wso2/wso2-axis2/pull/44
https://github.com/wso2/carbon4-kernel/pull/205

Comment by Ananda Manoj Kumara [ 14/May/15 ]

Please send the pull request on axis2 repo to master branch





[ESBJAVA-2509] vfs, add posibility to put files with "MoveAfterProcess" in subfolders per date Created: 30/Sep/13  Updated: 19/May/15  Resolved: 19/May/15

Status: Resolved
Project: WSO2 ESB
Component/s: Proxy Services Management
Affects Version/s: None
Fix Version/s: 4.9.0 - Alpha

Type: New Feature Priority: Normal
Reporter: Thomas Berger Assignee: Shakila Sivagnanarajah
Resolution: Fixed 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   

Hello,

The idea is to add the possibility to create subfolders in the transport.vfs.MoveAfterProcess folder. Until now each file is moved to the same folder after processing, we need to put these files in subfolders by Date:
2013
09
29
File1
File2
File3
30
File4
File5
File6

The reason is, when using a FTP and some thousand files per day, the MoverAfterProcess folder becomes really fast really big, slowing down any access to this folder.
Also the possibility to do this with a custom mediator does not work, because the files are moved only after the proxy/sequence is done, we cannot call a custom mediator who moves the file after it is read.



 Comments   
Comment by Shakila Sivagnanarajah [ 19/May/15 ]

In VFS inbound, we can achieve this with parameters [1] and [2].
In axis2, we can achieve this with parameter [1].

[1] transport.vfs.SubFolderTimestampFormat=yyyy/MM/dd
[2] transport.vfs.CreateFolder=true





Generated at Mon May 25 20:52:26 IST 2015 using JIRA 6.0.1#6096-sha1:e4a48bd73c6b8a4d99c824976ce5808b4c85857d.