[ESBJAVA-5096] The XPath expression for empty check fails Created: 09/May/17  Updated: 25/Jun/17

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

Type: Bug Priority: Highest
Reporter: Shakila Sivagnanarajah 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   

I am using ESB 5.0.0.

Please use the proxy service [1] to reproduce this. Please invoke this proxy via a POST call with the request body [2].

[1]
<proxy xmlns="http://ws.apache.org/ns/synapse"
name="EmptyCheckFailed"
startOnLoad="true"
statistics="disable"
trace="disable"
transports="http,https">
<target>
<inSequence>
<property name="billingAddressCareOfName" value=""/>
<log>
<property xmlns:n1="http://sap.com/xi/AP/CustomerExtension/BYD/A03Z2"
expression="$ctx:billingAddressCareOfName"
name="billingAddressCareOfName ----------"/>
<property xmlns:n1="http://sap.com/xi/AP/CustomerExtension/BYD/A03Z2"
expression="//Customer[AddressInformation/AddressUsage/AddressUsageCode= 'BILL_TO'][1]//AddressInformation[1]/Address/PostalAddress/CareOfName/text()"
name="billTOAddressCareOfName ----------"/>
<property xmlns:n1="http://sap.com/xi/AP/CustomerExtension/BYD/A03Z2"
expression="//Customer[AddressInformation/AddressUsage/AddressUsageCode= 'BILL_TO' and AddressInformation/Address/PostalAddress/CareOfName=$ctx:billingAddressCareOfName][1]//AddressInformation[1]/CurrentAddressSnapshotUUID/text()"
name="CurrentAddressSnapshotUUID ----------"/>
</log>
</inSequence>
</target>
<description/>
</proxy>

<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
<env:Header/>
<env:Body>
<n0:CustomerByCommunicationDataResponse_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"
xmlns:prx="urn:sap.com:proxy:LEE:/1SAI/TASEBEE11957C735693DA28:804">
<Customer>
<ChangeStateID>20170508070055.8600600</ChangeStateID>
<UUID>00163e0c-fb32-1ee7-8cf7-828ea2cf35e7</UUID>
<InternalID>1007565</InternalID>
<SystemAdministrativeData>
<CreationDateTime>2017-05-08T07:00:55.86006Z</CreationDateTime>
<CreationIdentityUUID>00163e09-3ec8-1ed6-b7e9-275a17bbba58</CreationIdentityUUID>
<LastChangeDateTime>2017-05-08T07:00:55.86006Z</LastChangeDateTime>
<LastChangeIdentityUUID>00163e09-3ec8-1ed6-b7e9-275a17bbba58</LastChangeIdentityUUID>
</SystemAdministrativeData>
<CategoryCode>1</CategoryCode>
<CustomerIndicator>true</CustomerIndicator>
<LifeCycleStatusCode>2</LifeCycleStatusCode>
<Person>
<FormOfAddressCode>0002</FormOfAddressCode>
<AcademicTitleCode>0003</AcademicTitleCode>
<GivenName>Frank</GivenName>
<MiddleName>MiddleName</MiddleName>
<FamilyName>Sent</FamilyName>
<BirthName>Sent</BirthName>
<NickName>NichName</NickName>
<NameFormatCountryCode>US</NameFormatCountryCode>
<GenderCode>1</GenderCode>
<BirthDate>1970-01-01</BirthDate>
<NonVerbalCommunicationLanguageCode>EN</NonVerbalCommunicationLanguageCode>
<OccupationCode>0017</OccupationCode>
</Person>
<VerbalCommunicationLanguageCode>EN</VerbalCommunicationLanguageCode>
<ContactAllowedCode>3</ContactAllowedCode>
<LegalCompetenceIndicator>true</LegalCompetenceIndicator>
<ABCClassificationCode>A</ABCClassificationCode>
<NielsenRegionCode>0</NielsenRegionCode>
<IndustrialSectorCode listID="0005">Z05</IndustrialSectorCode>
<AddressInformation>
<UUID>00163e0c-fb32-1ee7-8cf7-828ea2cf95e7</UUID>
<CurrentAddressSnapshotUUID>00163e0c-fb32-1ee7-8cf7-82a548ac95e7</CurrentAddressSnapshotUUID>
<AddressUsage>
<AddressUsageCode>BILL_TO</AddressUsageCode>
<DefaultIndicator>true</DefaultIndicator>
<AddressUsageValidityPeriod>
<StartDate>0001-01-01</StartDate>
<EndDate>9999-12-31</EndDate>
</AddressUsageValidityPeriod>
</AddressUsage>
<AddressUsage>
<AddressUsageCode>SHIP_TO</AddressUsageCode>
<DefaultIndicator>true</DefaultIndicator>
<AddressUsageValidityPeriod>
<StartDate>0001-01-01</StartDate>
<EndDate>9999-12-31</EndDate>
</AddressUsageValidityPeriod>
</AddressUsage>
<AddressUsage>
<AddressUsageCode>XXDEFAULT</AddressUsageCode>
<AddressUsageValidityPeriod>
<StartDate>0001-01-01</StartDate>
<EndDate>9999-12-31</EndDate>
</AddressUsageValidityPeriod>
</AddressUsage>
<Address>
<EmailURI>f1@gmail.com</EmailURI>
<PostalAddress>
<CountryCode>US</CountryCode>
<RegionCode listID="US">RI</RegionCode>
<CityName>Pascoag</CityName>
<StreetPostalCode>02859</StreetPostalCode>
<StreetName>Lake Shore Drive</StreetName>
<HouseID>170</HouseID>
<TaxJurisdictionCode listID="US">RI</TaxJurisdictionCode>
<TimeZoneCode>EST</TimeZoneCode>
</PostalAddress>
<Telephone>
<FormattedNumberDescription>+1 (401) 864-9988</FormattedNumberDescription>
</Telephone>
<FormattedAddress>
<FormattedAddressDescription>Prof. Dr. Frank MiddleName Sent / 170 Lake Shore Drive /
Pascoag RI 02859 / US
</FormattedAddressDescription>
<FormattedPostalAddressDescription>170 Lake Shore Drive / Pascoag RI 02859 / US
</FormattedPostalAddressDescription>
<FormattedAddress>
<FirstLineDescription>Prof. Dr. Frank MiddleName Sent</FirstLineDescription>
<SecondLineDescription>170 Lake Shore Drive</SecondLineDescription>
<ThirdLineDescription>Pascoag RI 02859</ThirdLineDescription>
<FourthLineDescription>United States</FourthLineDescription>
</FormattedAddress>
<FormattedPostalAddress>
<FirstLineDescription>170 Lake Shore Drive</FirstLineDescription>
<SecondLineDescription>Pascoag RI 02859</SecondLineDescription>
<ThirdLineDescription>United States</ThirdLineDescription>
</FormattedPostalAddress>
</FormattedAddress>
</Address>
<AddressInformationValidityPeriod>
<StartDate>0001-01-01</StartDate>
<EndDate>9999-12-31</EndDate>
</AddressInformationValidityPeriod>
</AddressInformation>
</Customer>
<Customer>
<ChangeStateID>20170508070139.9724530</ChangeStateID>
<UUID>00163e0c-fb32-1ee7-8cf7-85d95f8bf5ef</UUID>
<InternalID>1007566</InternalID>
<SystemAdministrativeData>
<CreationDateTime>2017-05-08T07:01:39.972453Z</CreationDateTime>
<CreationIdentityUUID>00163e09-3ec8-1ed6-b7e9-275a17bbba58</CreationIdentityUUID>
<LastChangeDateTime>2017-05-08T07:01:39.972453Z</LastChangeDateTime>
<LastChangeIdentityUUID>00163e09-3ec8-1ed6-b7e9-275a17bbba58</LastChangeIdentityUUID>
</SystemAdministrativeData>
<CategoryCode>1</CategoryCode>
<CustomerIndicator>true</CustomerIndicator>
<LifeCycleStatusCode>2</LifeCycleStatusCode>
<Person>
<FormOfAddressCode>0002</FormOfAddressCode>
<AcademicTitleCode>0003</AcademicTitleCode>
<GivenName>Frank</GivenName>
<MiddleName>MiddleName</MiddleName>
<FamilyName>Sent</FamilyName>
<BirthName>Sent</BirthName>
<NickName>NichName</NickName>
<NameFormatCountryCode>US</NameFormatCountryCode>
<GenderCode>1</GenderCode>
<BirthDate>1970-01-01</BirthDate>
<NonVerbalCommunicationLanguageCode>EN</NonVerbalCommunicationLanguageCode>
<OccupationCode>0017</OccupationCode>
</Person>
<VerbalCommunicationLanguageCode>EN</VerbalCommunicationLanguageCode>
<ContactAllowedCode>3</ContactAllowedCode>
<LegalCompetenceIndicator>true</LegalCompetenceIndicator>
<ABCClassificationCode>A</ABCClassificationCode>
<NielsenRegionCode>0</NielsenRegionCode>
<IndustrialSectorCode listID="0005">Z05</IndustrialSectorCode>
<AddressInformation>
<UUID>00163e0c-fb32-1ee7-8cf7-85d95f8c55ef</UUID>
<CurrentAddressSnapshotUUID>00163e0c-fb32-1ee7-8cf7-85ec9b9015ef</CurrentAddressSnapshotUUID>
<AddressUsage>
<AddressUsageCode>BILL_TO</AddressUsageCode>
<DefaultIndicator>true</DefaultIndicator>
<AddressUsageValidityPeriod>
<StartDate>0001-01-01</StartDate>
<EndDate>9999-12-31</EndDate>
</AddressUsageValidityPeriod>
</AddressUsage>
<AddressUsage>
<AddressUsageCode>SHIP_TO</AddressUsageCode>
<DefaultIndicator>true</DefaultIndicator>
<AddressUsageValidityPeriod>
<StartDate>0001-01-01</StartDate>
<EndDate>9999-12-31</EndDate>
</AddressUsageValidityPeriod>
</AddressUsage>
<AddressUsage>
<AddressUsageCode>XXDEFAULT</AddressUsageCode>
<AddressUsageValidityPeriod>
<StartDate>0001-01-01</StartDate>
<EndDate>9999-12-31</EndDate>
</AddressUsageValidityPeriod>
</AddressUsage>
<Address>
<EmailURI>f1@gmail.com</EmailURI>
<PostalAddress>
<CountryCode>US</CountryCode>
<RegionCode listID="US">RI</RegionCode>
<CityName>Pascoag</CityName>
<StreetPostalCode>02859</StreetPostalCode>
<StreetName>Lake Shore Drive</StreetName>
<HouseID>170</HouseID>
<TaxJurisdictionCode listID="US">RI</TaxJurisdictionCode>
<TimeZoneCode>EST</TimeZoneCode>
</PostalAddress>
<Telephone>
<FormattedNumberDescription>+1 (401) 864-9988</FormattedNumberDescription>
</Telephone>
<FormattedAddress>
<FormattedAddressDescription>Prof. Dr. Frank MiddleName Sent / 170 Lake Shore Drive /
Pascoag RI 02859 / US
</FormattedAddressDescription>
<FormattedPostalAddressDescription>170 Lake Shore Drive / Pascoag RI 02859 / US
</FormattedPostalAddressDescription>
<FormattedAddress>
<FirstLineDescription>Prof. Dr. Frank MiddleName Sent</FirstLineDescription>
<SecondLineDescription>170 Lake Shore Drive</SecondLineDescription>
<ThirdLineDescription>Pascoag RI 02859</ThirdLineDescription>
<FourthLineDescription>United States</FourthLineDescription>
</FormattedAddress>
<FormattedPostalAddress>
<FirstLineDescription>170 Lake Shore Drive</FirstLineDescription>
<SecondLineDescription>Pascoag RI 02859</SecondLineDescription>
<ThirdLineDescription>United States</ThirdLineDescription>
</FormattedPostalAddress>
</FormattedAddress>
</Address>
<AddressInformationValidityPeriod>
<StartDate>0001-01-01</StartDate>
<EndDate>9999-12-31</EndDate>
</AddressInformationValidityPeriod>
</AddressInformation>
<Relationship>
<RelationshipBusinessPartnerUUID>00163e09-3ec3-1ee5-9c8c-efdfb9150fb8
</RelationshipBusinessPartnerUUID>
<RelationshipBusinessPartnerInternalID>UPS-UPS</RelationshipBusinessPartnerInternalID>
<RoleCode>CRMS04-1</RoleCode>
</Relationship>
<DirectResponsibility>
<PartyRoleCode>142</PartyRoleCode>
<EmployeeID>34</EmployeeID>
</DirectResponsibility>
<SalesArrangement>
<SalesOrganisationID>US-SU107</SalesOrganisationID>
<DistributionChannelCode>01</DistributionChannelCode>
<Incoterms>
<ClassificationCode>FOB</ClassificationCode>
<TransferLocationName>customer</TransferLocationName>
</Incoterms>
<DeliveryPriorityCode>3</DeliveryPriorityCode>
<CompleteDeliveryRequestedIndicator>true</CompleteDeliveryRequestedIndicator>
<CurrencyCode>USD</CurrencyCode>
<CustomerGroupCode>03</CustomerGroupCode>
<CashDiscountTermsCode>1001</CashDiscountTermsCode>
</SalesArrangement>
<PaymentData>
<CompanyID>US10000</CompanyID>
<UUID>00163e09-3ec3-1ed4-ae90-6ac8c742f04e</UUID>
<AccountDeterminationDebtorGroupCode>4010</AccountDeterminationDebtorGroupCode>
</PaymentData>
</Customer>
<Customer>
<ChangeStateID>20170508070308.9716860</ChangeStateID>
<UUID>00163e0c-fb32-1ee7-8cf7-8c7834863630</UUID>
<InternalID>1007569</InternalID>
<SystemAdministrativeData>
<CreationDateTime>2017-05-08T07:03:08.971686Z</CreationDateTime>
<CreationIdentityUUID>00163e09-3ec8-1ed6-b7e9-275a17bbba58</CreationIdentityUUID>
<LastChangeDateTime>2017-05-08T07:03:08.971686Z</LastChangeDateTime>
<LastChangeIdentityUUID>00163e09-3ec8-1ed6-b7e9-275a17bbba58</LastChangeIdentityUUID>
</SystemAdministrativeData>
<CategoryCode>1</CategoryCode>
<CustomerIndicator>true</CustomerIndicator>
<LifeCycleStatusCode>2</LifeCycleStatusCode>
<Person>
<FormOfAddressCode>0002</FormOfAddressCode>
<AcademicTitleCode>0003</AcademicTitleCode>
<GivenName>Frank</GivenName>
<MiddleName>MiddleName</MiddleName>
<FamilyName>Sent</FamilyName>
<BirthName>Sent</BirthName>
<NickName>NichName</NickName>
<NameFormatCountryCode>US</NameFormatCountryCode>
<GenderCode>1</GenderCode>
<BirthDate>1970-01-01</BirthDate>
<NonVerbalCommunicationLanguageCode>EN</NonVerbalCommunicationLanguageCode>
<OccupationCode>0017</OccupationCode>
</Person>
<LegalCompetenceIndicator>true</LegalCompetenceIndicator>
<NielsenRegionCode>0</NielsenRegionCode>
<IndustrialSectorCode listID="0005">Z05</IndustrialSectorCode>
<AddressInformation>
<UUID>00163e0c-fb32-1ee7-8cf7-8c7834869630</UUID>
<CurrentAddressSnapshotUUID>00163e0c-fb32-1ee7-8cf7-8c8e78efd630</CurrentAddressSnapshotUUID>
<AddressUsage>
<AddressUsageCode>BILL_TO</AddressUsageCode>
<DefaultIndicator>true</DefaultIndicator>
<AddressUsageValidityPeriod>
<StartDate>0001-01-01</StartDate>
<EndDate>9999-12-31</EndDate>
</AddressUsageValidityPeriod>
</AddressUsage>
<AddressUsage>
<AddressUsageCode>SHIP_TO</AddressUsageCode>
<DefaultIndicator>true</DefaultIndicator>
<AddressUsageValidityPeriod>
<StartDate>0001-01-01</StartDate>
<EndDate>9999-12-31</EndDate>
</AddressUsageValidityPeriod>
</AddressUsage>
<AddressUsage>
<AddressUsageCode>XXDEFAULT</AddressUsageCode>
<AddressUsageValidityPeriod>
<StartDate>0001-01-01</StartDate>
<EndDate>9999-12-31</EndDate>
</AddressUsageValidityPeriod>
</AddressUsage>
<Address>
<EmailURI>f1@gmail.com</EmailURI>
<PostalAddress>
<CountryCode>US</CountryCode>
<RegionCode listID="US">RI</RegionCode>
<CityName>Pascoag</CityName>
<StreetPostalCode>02859</StreetPostalCode>
<StreetName>Lake Shore Drive</StreetName>
<HouseID>170</HouseID>
<TaxJurisdictionCode listID="US">RI</TaxJurisdictionCode>
<TimeZoneCode>EST</TimeZoneCode>
</PostalAddress>
<Telephone>
<FormattedNumberDescription>+1 (401) 864-9988</FormattedNumberDescription>
</Telephone>
<FormattedAddress>
<FormattedAddressDescription>Prof. Dr. Frank MiddleName Sent / 170 Lake Shore Drive /
Pascoag RI 02859 / US
</FormattedAddressDescription>
<FormattedPostalAddressDescription>170 Lake Shore Drive / Pascoag RI 02859 / US
</FormattedPostalAddressDescription>
<FormattedAddress>
<FirstLineDescription>Prof. Dr. Frank MiddleName Sent</FirstLineDescription>
<SecondLineDescription>170 Lake Shore Drive</SecondLineDescription>
<ThirdLineDescription>Pascoag RI 02859</ThirdLineDescription>
<FourthLineDescription>United States</FourthLineDescription>
</FormattedAddress>
<FormattedPostalAddress>
<FirstLineDescription>170 Lake Shore Drive</FirstLineDescription>
<SecondLineDescription>Pascoag RI 02859</SecondLineDescription>
<ThirdLineDescription>United States</ThirdLineDescription>
</FormattedPostalAddress>
</FormattedAddress>
</Address>
<AddressInformationValidityPeriod>
<StartDate>0001-01-01</StartDate>
<EndDate>9999-12-31</EndDate>
</AddressInformationValidityPeriod>
</AddressInformation>
<Relationship>
<RelationshipBusinessPartnerUUID>00163e09-3ec3-1ee5-9c8c-efdfb9150fb8
</RelationshipBusinessPartnerUUID>
<RelationshipBusinessPartnerInternalID>UPS-UPS</RelationshipBusinessPartnerInternalID>
<RoleCode>CRMS04-1</RoleCode>
</Relationship>
<DirectResponsibility>
<PartyRoleCode>142</PartyRoleCode>
<EmployeeID>34</EmployeeID>
</DirectResponsibility>
<SalesArrangement>
<SalesOrganisationID>US-SU107</SalesOrganisationID>
<DistributionChannelCode>01</DistributionChannelCode>
<Incoterms>
<ClassificationCode>FOB</ClassificationCode>
<TransferLocationName>customer</TransferLocationName>
</Incoterms>
<DeliveryPriorityCode>3</DeliveryPriorityCode>
<CompleteDeliveryRequestedIndicator>true</CompleteDeliveryRequestedIndicator>
<CurrencyCode>USD</CurrencyCode>
<CustomerGroupCode>03</CustomerGroupCode>
<CashDiscountTermsCode>1001</CashDiscountTermsCode>
</SalesArrangement>
<PaymentData>
<CompanyID>US10000</CompanyID>
<UUID>00163e09-3ec3-1ed4-ae90-6ac8c742f04e</UUID>
<AccountDeterminationDebtorGroupCode>4010</AccountDeterminationDebtorGroupCode>
</PaymentData>
</Customer>
<ProcessingConditions>
<ReturnedQueryHitsNumberValue>3</ReturnedQueryHitsNumberValue>
<MoreHitsAvailableIndicator>false</MoreHitsAvailableIndicator>
<LastReturnedObjectID>00163E0CFB321EE78CF78C7834863630</LastReturnedObjectID>
</ProcessingConditions>
</n0:CustomerByCommunicationDataResponse_sync>
</env:Body>
</env:Envelope>






[ESBJAVA-5048] RabbitMQ stores unknown SOAP Action when the message is not of SOAP type Created: 16/Mar/17  Updated: 25/Jun/17

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

Type: Patch Priority: Highest
Reporter: Chanaka Fernando Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File RabbitMQ_sender_stores_empty_SOAPAction.patch    
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 the message is of non-SOAP (e.g. JSON), RabbitMQ sender has set unknown value for SOAP Action.



 Comments   
Comment by Chanaka Fernando [ 16/Mar/17 ]

Fix is attached for this issue.

Comment by Manorama Perera [ 24/Mar/17 ]

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





[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-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-4848] Unable to remotely deploy CApps from Dev Studio due to CSRF Guard Created: 16/Aug/16  Updated: 28/Apr/17

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

Type: Bug Priority: High
Reporter: Joseph Fonseka Assignee: Dulanja Liyanage
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 created a CApp with a esb config containing a simple proxy server. then I added ESB as a remote server and tried to deploy the CApp using maven deploy plugin.

CApp deployment fails with WSB printing a warning informing about a CSRF attack. IMO This is a generic problem with the OWASP CSRF Guard filter which will prevent any service calls made with 3rd party apps.

Possible suggestions use double submit cookies which will only apply CSRF for browser based requests.

Thanks
Jo

Ps. Following is the warning.
WARN - JavaLogger potential cross-site request forgery (CSRF) attack thwarted (user:<anonymous>, ip:127.0.0.1, method:POST, uri://services/CarbonAppUploader, error:required token is missing from the request)



 Comments   
Comment by Dulanja Liyanage [ 18/Aug/16 ]

Hi Jo,

Could you please check whether following entry is there in Owasp.CsrfGuard.Carbon.properties?

org.owasp.csrfguard.unprotected.Services=%servletContext%/services/*

Thanks,
Dulanja

Comment by Tharindu Edirisinghe [ 08/Feb/17 ]

Adding above won't be enough, because here the request comes as HTTP POST.

With above, it only works for HTTP GET.

So the solution is to add following property as well.

org.owasp.csrfguard.UnprotectedMethods=POST

Comment by Anupama Pathirage [ 08/Feb/17 ]

Small correction for the Tharindu's comment.

The property should be added as follows. Otherwise GET will skipped and only post will be unprotected which will result in Management console UI login is getting denied.

org.owasp.csrfguard.UnprotectedMethods=GET,POST
Comment by Tharindu Edirisinghe [ 28/Apr/17 ]

Anyway, the above config would complete remove CSRF protection from all the POST requests, which is not recommended.

Correct way is only to skip CSRF protection for the particular URL/s as in following config.

org.owasp.csrfguard.unprotected.Services=%servletContext%/xxxxxxxx/*

If above is not working, then we need to check why it is not working.





[ESBJAVA-4844] Kerberos implementaion to secure Rest Proxies Created: 12/Aug/16  Updated: 12/Aug/16

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

Type: New Feature Priority: High
Reporter: Iranga Muthuthanthri 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   

Support Kerberos implementation to secure Rest Proxies.






[ESBJAVA-4837] [VFS] NPE when sending message out Created: 10/Aug/16  Updated: 10/Aug/16

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

Type: Bug Priority: High
Reporter: Chaminda Jayawardena Assignee: isuru ranawaka
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Ubuntu 14.04, JDK1.8, mysql5.5.50, OpenSSH ftp server


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

 Description   

Steps to Recreate:
1. Enable VFdS transport in axis2.xml
2. Add a proxy service[1] in which vfs transport enabled.
3. Keep it running for couple of hours.(this depends; first time, noticed after like 2 hours and next time it was after like 8 hours from the start)
[1]

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="StockQuoteProxy"
       transports="vfs"
       statistics="enable"
       trace="disable"
       startOnLoad="true">
   <target>
      <outSequence>
         <property name="transport.vfs.ReplyFileName"
                   expression="fn:concat(fn:substring-after(get-property('MessageID'), 'urn:uuid:'), '.xml')"
                   scope="transport"/>
         <property name="OUT_ONLY" value="true"/>
         <property name="ClientApiNonBlocking"
                   value="true"
                   scope="axis2"
                   action="remove"/>
         <send>
            <endpoint>
               <address uri="vfs:file:///home/chaminda/Documents/Testing/ESB/5.0.0/vfs/out"/>
            </endpoint>
         </send>
      </outSequence>
      <endpoint>
         <address uri="http://localhost:9000/services/SimpleStockQuoteService"
                  format="soap12"/>
      </endpoint>
   </target>
   <publishWSDL uri="file:repository/samples/resources/proxy/sample_proxy_1.wsdl"/>
   <parameter name="transport.PollInterval">15</parameter>
   <parameter name="transport.vfs.FileSizeLimit">399</parameter>
   <parameter name="transport.vfs.FileURI">sftp://smbuser:*****@10.100.x.xx/home/chaminda/Documents/Testing/ESB/5.0.0/vfs/original</parameter>
   <parameter name="transport.vfs.ContentType">text/xml</parameter>
   <parameter name="transport.vfs.ActionAfterProcess">NONE</parameter>
   <parameter name="transport.vfs.MoveAfterFailure">file:///home/chaminda/Documents/Testing/ESB/5.0.0/vfs/fail</parameter>
   <parameter name="transport.vfs.ActionAfterFailure">MOVE</parameter>
   <parameter name="transport.vfs.ClusterAware">false</parameter>
   <parameter name="transport.vfs.FileNamePattern">.*\.xml</parameter>
   <parameter name="transport.vfs.MoveAfterProcess">file:///home/chaminda/Documents/Testing/ESB/5.0.0/vfs/original</parameter>
   <description/>
</proxy>

[2]

[2016-08-10 05:53:48,876] ERROR - Axis2Sender Unexpected error during sending message out
java.lang.NullPointerException
	at org.apache.synapse.transport.vfs.VFSTransportSender.writeFile(VFSTransportSender.java:335)
	at org.apache.synapse.transport.vfs.VFSTransportSender.sendMessage(VFSTransportSender.java:194)
	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:581)
	at org.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java:78)
	at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:512)
	at org.apache.synapse.endpoints.AbstractEndpoint.send(AbstractEndpoint.java:382)
	at org.apache.synapse.endpoints.AddressEndpoint.send(AddressEndpoint.java:65)
	at org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:121)
	at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97)
	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.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:337)
	at org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:554)
	at org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:188)
	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)
[2016-08-10 05:53:48,888]  WARN - EndpointContext Endpoint : AnonymousEndpoint with address vfs:file:///home/chaminda/Documents/Testing/ESB/5.0.0/vfs/out will be marked SUSPENDED as it failed
[2016-08-10 05:53:48,889]  WARN - EndpointContext Suspending endpoint : AnonymousEndpoint with address vfs:file:///home/chaminda/Documents/Testing/ESB/5.0.0/vfs/out - current suspend duration is : 30000ms - Next retry after : Wed Aug 10 05:54:18 IST 2016
[2016-08-10 05:53:48,889]  INFO - LogMediator To: http://www.w3.org/2005/08/addressing/anonymous, WSAction: , SOAPAction: , MessageID: urn:uuid:7b4cc39f-1cf4-42f4-9822-a470412a5eb3, Direction: response, MESSAGE = Executing default 'fault' sequence, ERROR_CODE = 0, ERROR_MESSAGE = Unexpected error during sending message out, Envelope: <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"><soapenv:Body><ns:getQuoteResponse xmlns:ns="http://services.samples"><ns:return xmlns:ax21="http://services.samples/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ax21:GetQuoteResponse"><ax21:change>-2.645794876268378</ax21:change><ax21:earnings>13.257597618613044</ax21:earnings><ax21:high>-96.89377869565995</ax21:high><ax21:last>98.4280480204015</ax21:last><ax21:lastTradeTimestamp>Wed Aug 10 05:53:48 IST 2016</ax21:lastTradeTimestamp><ax21:low>103.17276510667655</ax21:low><ax21:marketCap>-7922672.550319873</ax21:marketCap><ax21:name>IBM Company</ax21:name><ax21:open>102.69918128860253</ax21:open><ax21:peRatio>23.01709919105754</ax21:peRatio><ax21:percentageChange>2.699629403019614</ax21:percentageChange><ax21:prevClose>-98.00585492619761</ax21:prevClose><ax21:symbol>IBM</ax21:symbol><ax21:volume>19456</ax21:volume></ns:return></ns:getQuoteResponse></soapenv:Body></soapenv:Envelope>


 Comments   
Comment by Chaminda Jayawardena [ 10/Aug/16 ]

Also tried with a remote ftp server and it's giving below exception after a moment. In this case endpoint also pointed to a ftp location other than file system.

            <endpoint>
               <address uri="vfs:sftp://ftpuser:ftpuser@192.168.70.xx/home/ubuntu/vfs/out"/>
            </endpoint>
[2016-08-10 12:08:04,767] ERROR - VFSTransportSender Couldn't send the message to file : sftp://ftpuser":***@"192.168.70.135/home/ubuntu/vfs/out/dc1c7739-c119-48a3-9400-d77f65c9c7da.xml, unable to acquire the lock even after 4 retries
[2016-08-10 12:08:04,772] ERROR - Axis2Sender Unexpected error during sending message out
org.apache.axis2.AxisFault: Couldn't send the message to file : sftp://ftpuser":***@"192.168.70.135/home/ubuntu/vfs/out/dc1c7739-c119-48a3-9400-d77f65c9c7da.xml, unable to acquire the lock even after 4 retries
	at org.apache.axis2.transport.base.AbstractTransportSender.handleException(AbstractTransportSender.java:231)
	at org.apache.synapse.transport.vfs.VFSTransportSender.acquireLockForSending(VFSTransportSender.java:418)
	at org.apache.synapse.transport.vfs.VFSTransportSender.writeFile(VFSTransportSender.java:284)
	at org.apache.synapse.transport.vfs.VFSTransportSender.sendMessage(VFSTransportSender.java:194)
	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:581)
	at org.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java:78)
	at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:512)
	at org.apache.synapse.endpoints.AbstractEndpoint.send(AbstractEndpoint.java:382)
	at org.apache.synapse.endpoints.AddressEndpoint.send(AddressEndpoint.java:65)
	at org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:121)
	at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97)
	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.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:337)
	at org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:554)
	at org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:188)
	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)
[2016-08-10 12:08:04,779]  WARN - EndpointContext Endpoint : AnonymousEndpoint with address vfs:sftp://ftpuser":***@"192.168.70.135/home/ubuntu/vfs/out will be marked SUSPENDED as it failed
[2016-08-10 12:08:04,779]  WARN - EndpointContext Suspending endpoint : AnonymousEndpoint with address vfs:sftp://ftpuser":***@"192.168.70.135/home/ubuntu/vfs/out - last suspend duration was : 30000ms and current suspend duration is : 30000ms - Next retry after : Wed Aug 10 12:08:34 IST 2016
[2016-08-10 12:08:04,780]  INFO - LogMediator To: http://www.w3.org/2005/08/addressing/anonymous, WSAction: , SOAPAction: , MessageID: urn:uuid:dc1c7739-c119-48a3-9400-d77f65c9c7da, Direction: response, MESSAGE = Executing default 'fault' sequence, ERROR_CODE = 0, ERROR_MESSAGE = Unexpected error during sending message out, Envelope: <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"><soapenv:Body><ns:getQuoteResponse xmlns:ns="http://services.samples"><ns:return xmlns:ax21="http://services.samples/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ax21:GetQuoteResponse"><ax21:change>-2.607164377663238</ax21:change><ax21:earnings>12.205210456190672</ax21:earnings><ax21:high>-80.26120885057587</ax21:high><ax21:last>81.14232231234595</ax21:last><ax21:lastTradeTimestamp>Wed Aug 10 12:06:34 IST 2016</ax21:lastTradeTimestamp><ax21:low>-79.99857130651138</ax21:low><ax21:marketCap>1.363738586590527E7</ax21:marketCap><ax21:name>IBM Company</ax21:name><ax21:open>-80.99985852980087</ax21:open><ax21:peRatio>25.559094022968516</ax21:peRatio><ax21:percentageChange>-2.9201029882484035</ax21:percentageChange><ax21:prevClose>89.28330227240106</ax21:prevClose><ax21:symbol>IBM</ax21:symbol><ax21:volume>5323</ax21:volume></ns:return></ns:getQuoteResponse></soapenv:Body></soapenv:Envelope>
[2016-08-10 12:08:04,817]  INFO - LogMediator To: http://www.w3.org/2005/08/addressing/anonymous, WSAction: , SOAPAction: , MessageID: urn:uuid:61f81e9d-9654-498d-af09-3df3ada63211, Direction: response, MESSAGE = Executing default 'fault' sequence, ERROR_CODE = 303001, ERROR_MESSAGE = Currently , Address endpoint : [ Name : AnonymousEndpoint ] [ State : SUSPENDED ], Envelope: <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope"><soapenv:Body><ns:getQuoteResponse xmlns:ns="http://services.samples"><ns:return xmlns:ax21="http://services.samples/xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ax21:GetQuoteResponse"><ax21:change>-2.720141663723826</ax21:change><ax21:earnings>13.787077868995912</ax21:earnings><ax21:high>-95.92642108811141</ax21:high><ax21:last>98.16009247148352</ax21:last><ax21:lastTradeTimestamp>Wed Aug 10 12:08:04 IST 2016</ax21:lastTradeTimestamp><ax21:low>100.95097308171991</ax21:low><ax21:marketCap>5.791502634167565E7</ax21:marketCap><ax21:name>IBM Company</ax21:name><ax21:open>-96.47074302245997</ax21:open><ax21:peRatio>-17.090050740196098</ax21:peRatio><ax21:percentageChange>2.969300959839346</ax21:percentageChange><ax21:prevClose>
Comment by Chanaka Fernando [ 10/Aug/16 ]

The initial NPE is harmless since it occurs after the files are processed and when the TransportSender is trying to close the file system. But the problem with the existing code is that, this NPE is throwing an AxisFault and hence suspending the endpoint. This can cause message losses. To handle this, we have captured the exception and print a warn log to the user. This fix is included in [1].

[1] https://github.com/wso2/wso2-synapse/pull/641

Comment by Chanaka Fernando [ 10/Aug/16 ]

File locking issue is not harmful in terms of message exchange. Can you try with disabling the File locking parameter?

<parameter name="transport.vfs.Locking">disable</parameter>





[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: 11/Aug/16

Status: Open
Project: WSO2 ESB
Component/s: None
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-4836] Rampart exception when response from secured backend service returns HTTP 500 Created: 09/Aug/16  Updated: 13/Sep/16

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

Type: Bug Priority: High
Reporter: undefined undefined 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 undefined undefined [ 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 undefined undefined [ 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 undefined undefined [ 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-4834] Error with a large script in script mediator when processing large payloads Created: 08/Aug/16  Updated: 13/Aug/16

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

Type: Bug Priority: High
Reporter: Vinuri Perera Assignee: Nuwan Wimalasekara
Resolution: Unresolved Votes: 2
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Tested in the 5.0.0 Beta pack


Attachments: XML File SendOutSequence3Changed.xml     XML File sendSequence.xml     XML File testApi.xml    
Severity: Major
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

Backend response which has 93509 lines ( 3.3MB ) and with a large script mediator file. Script will go through all the lines in the response and modify the payload(Script mediator contain few parseInt which converts the string values to integer). After modifying it will use the SetPayloadJson[1] to set the payload. when trying to set the payload it give the bellow error[2].

Please note this worked with a small script mediator which only contain one parseInt function but failed for the large script file.

[1]
mc.setPayloadJSON(payLoad.testOutParams);

[2]
==================Error Log =========================
ERROR

{org.apache.synapse.mediators.bsf.ScriptMediator} - The script engine returned an error executing the inlined js script function mediate {org.apache.synapse.mediators.bsf.ScriptMediator}

com.sun.phobos.script.util.ExtendedScriptException: org.mozilla.javascript.WrappedException: Wrapped java.lang.IllegalArgumentException: out of range index (<Unknown Source>#43) in <Unknown Source> at line number 43
at com.sun.phobos.script.javascript.RhinoCompiledScript.eval(RhinoCompiledScript.java:68)
at javax.script.CompiledScript.eval(CompiledScript.java:92)
at org.apache.synapse.mediators.bsf.ScriptMediator.mediateForInlineScript(ScriptMediator.java:333)
at org.apache.synapse.mediators.bsf.ScriptMediator.invokeScript(ScriptMediator.java:265)
at org.apache.synapse.mediators.bsf.ScriptMediator.mediate(ScriptMediator.java:233)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:95)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:57)
at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158)
at org.apache.synapse.rest.Resource.process(Resource.java:338)
at org.apache.synapse.rest.API.process(API.java:338)
at org.apache.synapse.rest.RESTRequestHandler.apiProcess(RESTRequestHandler.java:125)
at org.apache.synapse.rest.RESTRequestHandler.dispatchToAPI(RESTRequestHandler.java:101)
at org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:56)
at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:300)
at org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:554)
at org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:188)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
at org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:255)
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.mozilla.javascript.WrappedException: Wrapped java.lang.IllegalArgumentException: out of range index (<Unknown Source>#43)
at org.mozilla.javascript.Context.throwAsScriptRuntimeEx(Context.java:1754)
at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:148)
at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:225)
at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32)
at org.mozilla.javascript.gen.Unknown_Source_38._c_script_0(<Unknown Source>:43)
at org.mozilla.javascript.gen.Unknown_Source_38.call(<Unknown Source>)
at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:394)
at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3091)
at org.mozilla.javascript.gen.Unknown_Source_38.call(<Unknown Source>)
at org.mozilla.javascript.gen.Unknown_Source_38.exec(<Unknown Source>)
at com.sun.phobos.script.javascript.RhinoCompiledScript.eval(RhinoCompiledScript.java:55)
... 21 more
Caused by: java.lang.IllegalArgumentException: out of range index
at org.mozilla.classfile.ClassFileWriter.add(ClassFileWriter.java:579)
at org.mozilla.classfile.ClassFileWriter.addLoadConstant(ClassFileWriter.java:647)
at org.mozilla.classfile.ClassFileWriter.addPush(ClassFileWriter.java:884)
at org.mozilla.javascript.optimizer.Codegen.emitConstantDudeInitializers(Codegen.java:1038)
at org.mozilla.javascript.optimizer.Codegen.generateCode(Codegen.java:321)
at org.mozilla.javascript.optimizer.Codegen.compileToClassFile(Codegen.java:166)
at org.mozilla.javascript.optimizer.Codegen.compile(Codegen.java:75)
at org.mozilla.javascript.Context.compileImpl(Context.java:2377)
at org.mozilla.javascript.Context.compileReader(Context.java:1296)
at org.mozilla.javascript.Context.compileReader(Context.java:1268)
at org.mozilla.javascript.Context.evaluateReader(Context.java:1107)
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.ScriptMessageContext.setPayloadJSON(ScriptMessageContext.java:724)
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.mozilla.javascript.MemberBox.invoke(MemberBox.java:126)
... 30 more
TID: [-1234] [] [2016-08-04 19:25:36,964] ERROR

{API_LOGGER.testApi} - The script engine returned an error executing the inlined js script function mediate {API_LOGGER.testApi}

com.sun.phobos.script.util.ExtendedScriptException: org.mozilla.javascript.WrappedException: Wrapped java.lang.IllegalArgumentException: out of range index (<Unknown Source>#43) in <Unknown Source> at line number 43
at com.sun.phobos.script.javascript.RhinoCompiledScript.eval(RhinoCompiledScript.java:68)
at javax.script.CompiledScript.eval(CompiledScript.java:92)
at org.apache.synapse.mediators.bsf.ScriptMediator.mediateForInlineScript(ScriptMediator.java:333)
at org.apache.synapse.mediators.bsf.ScriptMediator.invokeScript(ScriptMediator.java:265)
at org.apache.synapse.mediators.bsf.ScriptMediator.mediate(ScriptMediator.java:233)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:95)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:57)
at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158)
at org.apache.synapse.rest.Resource.process(Resource.java:338)
at org.apache.synapse.rest.API.process(API.java:338)
at org.apache.synapse.rest.RESTRequestHandler.apiProcess(RESTRequestHandler.java:125)
at org.apache.synapse.rest.RESTRequestHandler.dispatchToAPI(RESTRequestHandler.java:101)
at org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:56)
at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:300)
at org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:554)
at org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:188)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
at org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:255)
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.mozilla.javascript.WrappedException: Wrapped java.lang.IllegalArgumentException: out of range index (<Unknown Source>#43)
at org.mozilla.javascript.Context.throwAsScriptRuntimeEx(Context.java:1754)
at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:148)
at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:225)
at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32)
at org.mozilla.javascript.gen.Unknown_Source_38._c_script_0(<Unknown Source>:43)
at org.mozilla.javascript.gen.Unknown_Source_38.call(<Unknown Source>)
at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:394)
at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3091)
at org.mozilla.javascript.gen.Unknown_Source_38.call(<Unknown Source>)
at org.mozilla.javascript.gen.Unknown_Source_38.exec(<Unknown Source>)
at com.sun.phobos.script.javascript.RhinoCompiledScript.eval(RhinoCompiledScript.java:55)
... 21 more
Caused by: java.lang.IllegalArgumentException: out of range index
at org.mozilla.classfile.ClassFileWriter.add(ClassFileWriter.java:579)
at org.mozilla.classfile.ClassFileWriter.addLoadConstant(ClassFileWriter.java:647)
at org.mozilla.classfile.ClassFileWriter.addPush(ClassFileWriter.java:884)
at org.mozilla.javascript.optimizer.Codegen.emitConstantDudeInitializers(Codegen.java:1038)
at org.mozilla.javascript.optimizer.Codegen.generateCode(Codegen.java:321)
at org.mozilla.javascript.optimizer.Codegen.compileToClassFile(Codegen.java:166)
at org.mozilla.javascript.optimizer.Codegen.compile(Codegen.java:75)
at org.mozilla.javascript.Context.compileImpl(Context.java:2377)
at org.mozilla.javascript.Context.compileReader(Context.java:1296)
at org.mozilla.javascript.Context.compileReader(Context.java:1268)
at org.mozilla.javascript.Context.evaluateReader(Context.java:1107)
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.ScriptMessageContext.setPayloadJSON(ScriptMessageContext.java:724)
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.mozilla.javascript.MemberBox.invoke(MemberBox.java:126)
... 30 more



 Comments   
Comment by Vinuri Perera [ 08/Aug/16 ]

Added the API Which used for testing and the Payload





[ESBJAVA-4906] Message Processor Unable to process message after restarting ESB Created: 27/Sep/16  Updated: 27/Sep/16

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

Type: Bug Priority: High
Reporter: Sudipta Saha Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: ESB
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

UNIX


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

 Description   

If Messages are being queued in Message Stores and the Processor is disables (Use Case - Outage in Downstream) and before activating the Processor the Server crashes for some reason or the ESB is to be restarted for some reason then the Processor picks up the message post restart however the processing is not successful. PFB the generated exception -

TID: [-1] [] [2016-09-27 15:02:06,214] INFO

{org.apache.synapse.core.axis2.TimeoutHandler} - This engine will expire all callbacks after : 120 seconds, irrespective of the timeout action, after the specified or optional timeout {org.apache.synapse.core.axis2.TimeoutHandler}

TID: [-1234] [] [2016-09-27 15:02:06,851] ERROR

{org.apache.synapse.continuation.ContinuationStackManager} - Resource : ba373039034328a55d49f5a1591e8161d0d8fb6b2c08f04d not found {org.apache.synapse.continuation.ContinuationStackManager}

TID: [-1234] [] [2016-09-27 15:02:06,853] ERROR

{org.apache.synapse.core.axis2.SynapseCallbackReceiver} - Synapse encountered an exception, No error handlers found - [Message Dropped]
Resource : ba373039034328a55d49f5a1591e8161d0d8fb6b2c08f04d not found {org.apache.synapse.core.axis2.SynapseCallbackReceiver}




[ESBJAVA-4897] VFS InboundEndpoint onError/Exception Created: 15/Sep/16  Updated: 15/Sep/16

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

Type: Improvement Priority: High
Reporter: Malaka Silva 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,
We are using an inbound endpoint to pull from a sftp location.
We have set the attributes 'sequence' and 'onError' to point at different sequences.
We have specified the Content-Type as application/xml.
When something is successfully pulled from the file location, we expect the `sequence` sequence to be used, when a failure occurs, we expect the `onError` sequence to be used.
When adding xml to the sftp, the inbound endpoint passes the payload to `sequence` but if we add something else (eg. json or malformed xml) to the location, we see an exception thrown on the ESB but the `onError` sequence is not used. This also results in us losing the message entirely.
Could you tell my why the onError sequence isn't used when this failure occurs and so that we can capture and deal with this kind of fault.
I have attached the inbound-endpoint and the exception from esb.

Thanks,
Malaka






[ESBJAVA-4889] Issue In Sending Message through HAPi Test Panel Created: 09/Sep/16  Updated: 09/Sep/16

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

Type: Bug Priority: High
Reporter: Amutheezan Sivagnanam Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: ESB
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Linux


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 I tried to send Messages using HAPi Test Panel, It shows following error
[2016-09-09 09:22:46,573] ERROR - ApplicationRouterImpl Attempting to send error message to remote system.
ca.uhn.hl7v2.HL7Exception: java.lang.NoClassDefFoundError: org/wso2/carbon/bam/data/publisher/util/PublisherUtil
at ca.uhn.hl7v2.protocol.impl.ApplicationRouterImpl.processMessage(ApplicationRouterImpl.java:157)
at ca.uhn.hl7v2.protocol.impl.ApplicationRouterImpl.processMessage(ApplicationRouterImpl.java:79)
at ca.uhn.hl7v2.app.Responder.processMessage(Responder.java:90)
at ca.uhn.hl7v2.app.Receiver$Grunt.run(Receiver.java:121)
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:745)
Caused by: java.lang.NoClassDefFoundError: org/wso2/carbon/bam/data/publisher/util/PublisherUtil
at org.wso2.carbon.business.messaging.hl7.common.data.conf.HL7MessagePublisherConfig.createMessage(HL7MessagePublisherConfig.java:55)
at org.wso2.carbon.business.messaging.hl7.common.HL7ProcessingContext.publishMessage(HL7ProcessingContext.java:315)
at org.wso2.carbon.business.messaging.hl7.common.HL7ProcessingContext.initMessageContext(HL7ProcessingContext.java:302)
at org.wso2.carbon.business.messaging.hl7.transport.utils.HL7MessageProcessor.processMessage(HL7MessageProcessor.java:96)
at ca.uhn.hl7v2.protocol.impl.AppWrapper.processMessage(AppWrapper.java:40)
at ca.uhn.hl7v2.protocol.impl.ApplicationRouterImpl.processMessage(ApplicationRouterImpl.java:146)
... 8 more
Caused by: java.lang.ClassNotFoundException: org.wso2.carbon.bam.data.publisher.util.PublisherUtil cannot be found by org.wso2.carbon.business.messaging.hl7.common_4.6.6
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 14 more

[2016-09-09 09:25:30,237] ERROR - ApplicationRouterImpl Attempting to send error message to remote system.
ca.uhn.hl7v2.HL7Exception: java.lang.NoClassDefFoundError: org/wso2/carbon/bam/data/publisher/util/PublisherUtil
at ca.uhn.hl7v2.protocol.impl.ApplicationRouterImpl.processMessage(ApplicationRouterImpl.java:157)
at ca.uhn.hl7v2.protocol.impl.ApplicationRouterImpl.processMessage(ApplicationRouterImpl.java:79)
at ca.uhn.hl7v2.app.Responder.processMessage(Responder.java:90)
at ca.uhn.hl7v2.app.Receiver$Grunt.run(Receiver.java:121)
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:745)
Caused by: java.lang.NoClassDefFoundError: org/wso2/carbon/bam/data/publisher/util/PublisherUtil
at org.wso2.carbon.business.messaging.hl7.common.data.conf.HL7MessagePublisherConfig.createMessage(HL7MessagePublisherConfig.java:55)
at org.wso2.carbon.business.messaging.hl7.common.HL7ProcessingContext.publishMessage(HL7ProcessingContext.java:315)
at org.wso2.carbon.business.messaging.hl7.common.HL7ProcessingContext.initMessageContext(HL7ProcessingContext.java:302)
at org.wso2.carbon.business.messaging.hl7.transport.utils.HL7MessageProcessor.processMessage(HL7MessageProcessor.java:96)
at ca.uhn.hl7v2.protocol.impl.AppWrapper.processMessage(AppWrapper.java:40)
at ca.uhn.hl7v2.protocol.impl.ApplicationRouterImpl.processMessage(ApplicationRouterImpl.java:146)
... 8 more



 Comments   
Comment by Amutheezan Sivagnanam [ 09/Sep/16 ]

It worked sucessfully when,
1. Clone the repository https://github.com/wso2/carbon-mediation/tree/v4.6.6
2. Go to <dir>/component/business-adaptors/hl7/org.wso2.carbon.business.messaging.hl7.common/main/java/org/wso2/carbon/business/messaging/hl7/common/data/conf/ and edit HL7MessagePublisherConfig.java file, by replacing bam by das
that is include import org.wso2.carbon.das.data.publisher.util.PublisherUtil; instead of import org.wso2.carbon.bam.data.publisher.util.PublisherUtil;
then edit the pom.xml related to <dir>/component/business-adaptors/hl7/org.wso2.carbon.business.messaging.hl7.common/
by adding dependency for das
<dependency>
<groupId>org.wso2.carbon.mediation</groupId>
<artifactId>org.wso2.carbon.das.data.publisher.util</artifactId>
</dependency>
instead of
<dependency>
<groupId>org.wso2.carbon</groupId>
<artifactId>org.wso2.carbon.bam.data.publisher.util</artifactId>
</dependency>
3. Then build the total project and get the required jar file for the patch, and added patch to your downloaded ESB directory and restart the ESB Server.





[ESBJAVA-4905] Cache Mediator is not Listed in Mediators list Created: 27/Sep/16  Updated: 27/Sep/16

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

Type: Bug Priority: High
Reporter: Yasassri Rathnayake 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


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

 Description   

Refer the attached screenshot.






[ESBJAVA-4881] Error trying to consume message from message store Created: 01/Sep/16  Updated: 01/Sep/16

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

Type: Bug Priority: High
Reporter: Joao Melo Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: ESB, MB
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 WSO2 ESB 5.0 with MB as a feature, on the same instance.

I'm getting an error StorableMessage cannot be found:

[2016-09-01 14:35:38,739] ERROR - SourceHandler I/O error: Foi forçado o cancelamento de uma conexão existente pelo host remoto
java.io.IOException: Foi forçado o cancelamento de uma conexão existente pelo host remoto
at sun.nio.ch.SocketDispatcher.read0(Native Method)
at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43)
at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:225)
at sun.nio.ch.IOUtil.read(IOUtil.java:198)
at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:359)
at org.apache.http.impl.nio.reactor.SessionInputBufferImpl.fill(SessionInputBufferImpl.java:164)
at org.apache.http.impl.nio.codecs.AbstractMessageParser.fillBuffer(AbstractMessageParser.java:136)
at org.apache.synapse.transport.http.conn.LoggingNHttpServerConnection$LoggingNHttpMessageParser.fillBuffer(LoggingNHttpServerConnection.java:379)
at org.apache.http.impl.nio.DefaultNHttpServerConnection.consumeInput(DefaultNHttpServerConnection.java:261)
at org.apache.synapse.transport.http.conn.LoggingNHttpServerConnection.consumeInput(LoggingNHttpServerConnection.java:112)
at org.apache.synapse.transport.passthru.ServerIODispatch.onInputReady(ServerIODispatch.java:82)
at org.apache.synapse.transport.passthru.ServerIODispatch.onInputReady(ServerIODispatch.java:39)
at org.apache.http.impl.nio.reactor.AbstractIODispatch.inputReady(AbstractIODispatch.java:113)
at org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:159)
at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:338)
at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:316)
at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:277)
at org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:105)
at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:586)
at java.lang.Thread.run(Thread.java:722)
[2016-09-01 14:35:41,794] ERROR - JmsConsumer [msg-store-C-1] cannot receive message from store. Error:Could not deserialize message: java.lang.ClassNotFoundException: org.apache.synapse.message.store.impl.commons.StorableMessage cannot be found by andes_3.1.1
[2016-09-01 14:35:41,796] INFO - ChannelCloseHandler Received channel close for id 1 citing class 0 and method 0

Probably It's missing some .jar on lib, or it has wrong version, but I have no idea which is.






[ESBJAVA-4271] [MB] ESB becomes inaccessible when a user tries to subscribe to a queue without permission Created: 16/Oct/15  Updated: 30/May/16

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

Type: Bug Priority: High
Reporter: Dilini Gunatilake Assignee: Dilini Gunatilake
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


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

 Description   

Steps to reproduce
--------------------------------------------------------------------------------------------------------
1. Login as the admin user (admin/admin)
2. Create a queue - test
3. Create another user in MB with only login, queue and topic permissions.
4. Create a JMS Proxy to consume messages from test queue by the user created at step 3

Issue
--------------------------------------------------------------------------------------------------------
Exception is logged continuously as follows mentioning permission is denied. Also, Management console will not be accessible and need to restart ESB to work again.

[2015-10-16 11:10:18,256]  INFO - ProxyService Successfully created the Axis2 service for Proxy service : SimpleStockTopicSub2
[2015-10-16 11:10:20,772]  WARN - ServiceTaskManager Unable to shutdown all polling tasks of service : SimpleStockTopicSub2
[2015-10-16 11:10:20,773]  INFO - ServiceTaskManager Task manager for service : SimpleStockTopicSub2 shutdown
[2015-10-16 11:10:20,773]  INFO - ServiceTaskManager Task manager for service : SimpleStockTopicSub2 [re-]initialized
[2015-10-16 11:10:21,212]  INFO - ConnectionCloseMethodHandler ConnectionClose frame received
[2015-10-16 11:10:21,214]  INFO - ConnectionCloseMethodHandler Error :403: access refused:Thread-32
[2015-10-16 11:10:21,214] ERROR - AMQStateManager No Waiters for error saving as last error:org.wso2.andes.AMQSecurityException: Permission denied: binding SimpleStockTopicSub2 [error code 403: access refused]
[2015-10-16 11:10:21,215] ERROR - ServiceTaskManager Error creating JMS consumer for service : SimpleStockTopicSub2. Error registering consumer: org.wso2.andes.AMQSecurityException: org.wso2.andes.AMQSecurityException: Permission denied: binding SimpleStockTopicSub2 [error code 403: access refused] [error code 403: access refused]
[2015-10-16 11:10:21,215] ERROR - ServiceTaskManager Error reciving the message.
[2015-10-16 11:10:21,215] ERROR - ServiceTaskManager JMS Connection failed : 403 - shutting down worker tasks
[2015-10-16 11:10:21,217]  INFO - ServiceTaskManager Reconnection attempt : 1 for service : SimpleStockTopicSub2
[2015-10-16 11:10:25,775] ERROR - ServiceTaskManager Reconnection attempt : 1 for service : SimpleStockTopicSub2 failed. Next retry in 20 seconds
[2015-10-16 11:10:26,218]  WARN - ServiceTaskManager Unable to shutdown all polling tasks of service : SimpleStockTopicSub2
[2015-10-16 11:10:26,218]  INFO - ServiceTaskManager Task manager for service : SimpleStockTopicSub2 shutdown
[2015-10-16 11:10:26,219]  INFO - ServiceTaskManager Task manager for service : SimpleStockTopicSub2 [re-]initialized
[2015-10-16 11:10:26,571]  INFO - ConnectionCloseMethodHandler ConnectionClose frame received
[2015-10-16 11:10:26,572]  INFO - ConnectionCloseMethodHandler Error :403: access refused:Thread-36
[2015-10-16 11:10:26,572] ERROR - AMQStateManager No Waiters for error saving as last error:org.wso2.andes.AMQSecurityException: Permission denied: binding SimpleStockTopicSub2 [error code 403: access refused]
[2015-10-16 11:10:26,573] ERROR - ServiceTaskManager Error creating JMS consumer for service : SimpleStockTopicSub2. Error registering consumer: org.wso2.andes.AMQSecurityException: org.wso2.andes.AMQSecurityException: Permission denied: binding SimpleStockTopicSub2 [error code 403: access refused] [error code 403: access refused]
[2015-10-16 11:10:26,574] ERROR - ServiceTaskManager Error reciving the message.
[2015-10-16 11:10:26,573] ERROR - ServiceTaskManager JMS Connection failed : 403 - shutting down worker tasks
[2015-10-16 11:10:26,575]  INFO - ServiceTaskManager Reconnection attempt : 1 for service : SimpleStockTopicSub2
[2015-10-16 11:10:31,220] ERROR - ServiceTaskManager Reconnection attempt : 1 for service : SimpleStockTopicSub2 failed. Next retry in 20 seconds
[2015-10-16 11:10:31,576]  WARN - ServiceTaskManager Unable to shutdown all polling tasks of service : SimpleStockTopicSub2
[2015-10-16 11:10:31,577]  INFO - ServiceTaskManager Task manager for service : SimpleStockTopicSub2 shutdown
[2015-10-16 11:10:31,577]  INFO - ServiceTaskManager Task manager for service : SimpleStockTopicSub2 [re-]initialized
[2015-10-16 11:10:31,821]  INFO - ConnectionCloseMethodHandler ConnectionClose frame received
[2015-10-16 11:10:31,822]  INFO - ConnectionCloseMethodHandler Error :403: access refused:Thread-40
[2015-10-16 11:10:31,823] ERROR - AMQStateManager No Waiters for error saving as last error:org.wso2.andes.AMQSecurityException: Permission denied: binding SimpleStockTopicSub2 [error code 403: access refused]
[2015-10-16 11:10:31,824] ERROR - ServiceTaskManager Error creating JMS consumer for service : SimpleStockTopicSub2. Error registering consumer: org.wso2.andes.AMQSecurityException: org.wso2.andes.AMQSecurityException: Permission denied: binding SimpleStockTopicSub2 [error code 403: access refused] [error code 403: access refused]
[2015-10-16 11:10:31,824] ERROR - ServiceTaskManager Error reciving the message.
[2015-10-16 11:10:31,824] ERROR - ServiceTaskManager JMS Connection failed : 403 - shutting down worker tasks
[2015-10-16 11:10:31,825]  INFO - ServiceTaskManager Reconnection attempt : 1 for service : SimpleStockTopicSub2
[2015-10-16 11:10:36,579] ERROR - ServiceTaskManager Reconnection attempt : 1 for service : SimpleStockTopicSub2 failed. Next retry in 20 seconds
[2015-10-16 11:10:36,827]  WARN - ServiceTaskManager Unable to shutdown all polling tasks of service : SimpleStockTopicSub2
[2015-10-16 11:10:36,827]  INFO - ServiceTaskManager Task manager for service : SimpleStockTopicSub2 shutdown
[2015-10-16 11:10:36,828]  INFO - ServiceTaskManager Task manager for service : SimpleStockTopicSub2 [re-]initialized
[2015-10-16 11:10:37,116]  INFO - ConnectionCloseMethodHandler ConnectionClose frame received
[2015-10-16 11:10:37,117]  INFO - ConnectionCloseMethodHandler Error :403: access refused:Thread-37
[2015-10-16 11:10:37,118] ERROR - AMQStateManager No Waiters for error saving as last error:org.wso2.andes.AMQSecurityException: Permission denied: binding SimpleStockTopicSub2 [error code 403: access refused]
[2015-10-16 11:10:37,118] ERROR - ServiceTaskManager Error creating JMS consumer for service : SimpleStockTopicSub2. Error registering consumer: org.wso2.andes.AMQSecurityException: org.wso2.andes.AMQSecurityException: Permission denied: binding SimpleStockTopicSub2 [error code 403: access refused] [error code 403: access refused]

[2015-10-16 11:11:18,960] ERROR - ServiceTaskManager Error reciving the message.
[2015-10-16 11:11:18,959] ERROR - ServiceTaskManager JMS Connection failed : 403 - shutting down worker tasks
[2015-10-16 11:11:18,961]  INFO - ServiceTaskManager Reconnection attempt : 1 for service : SimpleStockTopicSub2
[2015-10-16 11:11:23,676] ERROR - ServiceTaskManager Reconnection attempt : 2 for service : SimpleStockTopicSub2 failed. Next retry in 40 seconds
[2015-10-16 11:11:23,962]  WARN - ServiceTaskManager Unable to shutdown all polling tasks of service : SimpleStockTopicSub2
[2015-10-16 11:11:23,963]  INFO - ServiceTaskManager Task manager for service : SimpleStockTopicSub2 shutdown
[2015-10-16 11:11:23,963]  INFO - ServiceTaskManager Task manager for service : SimpleStockTopicSub2 [re-]initialized
[2015-10-16 11:11:24,405]  INFO - ConnectionCloseMethodHandler ConnectionClose frame received
[2015-10-16 11:11:24,406]  INFO - ConnectionCloseMethodHandler Error :403: access refused:Thread-33
[2015-10-16 11:11:24,406] ERROR - AMQStateManager No Waiters for error saving as last error:org.wso2.andes.AMQSecurityException: Permission denied: binding SimpleStockTopicSub2 [error code 403: access refused]
[2015-10-16 11:11:24,407] ERROR - ServiceTaskManager Error creating JMS consumer for service : SimpleStockTopicSub2. Error registering consumer: org.wso2.andes.AMQSecurityException: org.wso2.andes.AMQSecurityException: Permission denied: binding SimpleStockTopicSub2 [error code 403: access refused] [error code 403: access refused]
[2015-10-16 11:11:24,407] ERROR - ServiceTaskManager JMS Connection failed : 403 - shutting down worker tasks
[2015-10-16 11:11:24,408] ERROR - ServiceTaskManager Error reciving the message.
[2015-10-16 11:11:24,408]  INFO - ServiceTaskManager Reconnection attempt : 1 for service : SimpleStockTopicSub2
[2015-10-16 11:11:28,965] ERROR - ServiceTaskManager Reconnection attempt : 1 for service : SimpleStockTopicSub2 failed. Next retry in 20 seconds
[2015-10-16 11:11:29,410]  WARN - ServiceTaskManager Unable to shutdown all polling tasks of service : SimpleStockTopicSub2
[2015-10-16 11:11:29,411]  INFO - ServiceTaskManager Task manager for service : SimpleStockTopicSub2 shutdown
[2015-10-16 11:11:29,411]  INFO - ServiceTaskManager Task manager for service : SimpleStockTopicSub2 [re-]initialized
[2015-10-16 11:11:34,412] ERROR - ServiceTaskManager Reconnection attempt : 1 for service : SimpleStockTopicSub2 failed. Next retry in 20 seconds
[2015-10-16 11:11:37,623]  INFO - ServiceTaskManager Reconnection attempt : 3 for service : SimpleStockTopicSub2
[2015-10-16 11:11:42,764]  INFO - ServiceTaskManager Reconnection attempt : 3 for service : SimpleStockTopicSub2
[2015-10-16 11:11:48,053]  INFO - ServiceTaskManager Reconnection attempt : 3 for service : SimpleStockTopicSub2
[2015-10-16 11:11:48,966]  INFO - ServiceTaskManager Reconnection attempt : 2 for service : SimpleStockTopicSub2
[2015-10-16 11:11:53,324]  INFO - ServiceTaskManager Reconnection attempt : 3 for service : SimpleStockTopicSub2
[2015-10-16 11:11:54,413]  INFO - ServiceTaskManager Reconnection attempt : 2 for service : SimpleStockTopicSub2
[2015-10-16 11:11:58,611]  INFO - ServiceTaskManager Reconnection attempt : 3 for service : SimpleStockTopicSub2
[2015-10-16 11:11:58,840]  INFO - DeploymentInterceptor Removing Axis2 Service: SimpleStockTopicSub2 {super-tenant}
[2015-10-16 11:11:59,422]  INFO - AMQConnection Unable to connect to broker at tcp://192.168.48.140:5672?connectdelay='10'&retries='5'
org.wso2.andes.AMQTimeoutException: Server did not respond in a timely fashion [error code 408: Request Timeout]
	at org.wso2.andes.client.util.BlockingWaiter.block(BlockingWaiter.java:176)
	at org.wso2.andes.client.state.StateWaiter.await(StateWaiter.java:112)
	at org.wso2.andes.client.state.StateWaiter.await(StateWaiter.java:89)
	at org.wso2.andes.client.AMQConnectionDelegate_8_0.makeBrokerConnection(AMQConnectionDelegate_8_0.java:126)
	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.createConnection(AMQConnectionFactory.java:38)
	at org.apache.axis2.transport.jms.JMSUtils.createConnection(JMSUtils.java:690)
	at org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.createConnection(ServiceTaskManager.java:868)
	at org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.getConnection(ServiceTaskManager.java:750)
	at org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.receiveMessage(ServiceTaskManager.java:533)
	at org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.run(ServiceTaskManager.java:447)
	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-16 11:11:59,425]  INFO - FailoverRoundRobinServers ==== Checking failoverAllowed() ====
[2015-10-16 11:11:59,425]  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-16 11:11:59,425]  INFO - FailoverRoundRobinServers ====================================
[2015-10-16 11:11:59,426]  INFO - FailoverRoundRobinServers Delay between connect retries:10
[2015-10-16 11:12:03,677]  INFO - ServiceTaskManager Reconnection attempt : 3 for service : SimpleStockTopicSub2

[2015-10-16 11:12:29,448]  INFO - AMQConnection Unable to connect to broker at tcp://192.168.48.142:5672?connectdelay='10'&retries='5'
org.wso2.andes.AMQTimeoutException: Server did not respond in a timely fashion [error code 408: Request Timeout]
	at org.wso2.andes.client.util.BlockingWaiter.block(BlockingWaiter.java:176)
	at org.wso2.andes.client.state.StateWaiter.await(StateWaiter.java:112)
	at org.wso2.andes.client.state.StateWaiter.await(StateWaiter.java:89)
	at org.wso2.andes.client.AMQConnectionDelegate_8_0.makeBrokerConnection(AMQConnectionDelegate_8_0.java:126)
	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.createConnection(AMQConnectionFactory.java:38)
	at org.apache.axis2.transport.jms.JMSUtils.createConnection(JMSUtils.java:690)
	at org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.createConnection(ServiceTaskManager.java:868)
	at org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.getConnection(ServiceTaskManager.java:750)
	at org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.receiveMessage(ServiceTaskManager.java:533)
	at org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.run(ServiceTaskManager.java:447)
	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-16 11:12:29,451]  INFO - FailoverRoundRobinServers ==== Checking failoverAllowed() ====
[2015-10-16 11:12:29,451]  INFO - FailoverRoundRobinServers Cycle Servers:
Cycle Retries:2
Current Cycle:0
Server Retries:5
Current Retry:0
Current Broker:1
tcp://192.168.48.140:5672?connectdelay='10'&retries='5'
>tcp://192.168.48.142:5672?connectdelay='10'&retries='5'

[2015-10-16 11:12:29,452]  INFO - FailoverRoundRobinServers ====================================
[2015-10-16 11:12:29,452]  INFO - FailoverRoundRobinServers Trying tcp://192.168.48.142:5672?connectdelay='10'&retries='5'
[2015-10-16 11:12:29,452]  INFO - FailoverRoundRobinServers Delay between connect retries:10
[2015-10-16 11:12:59,475]  INFO - AMQConnection Unable to connect to broker at tcp://192.168.48.142:5672?connectdelay='10'&retries='5'
org.wso2.andes.AMQTimeoutException: Server did not respond in a timely fashion [error code 408: Request Timeout]
	at org.wso2.andes.client.util.BlockingWaiter.block(BlockingWaiter.java:176)
	at org.wso2.andes.client.state.StateWaiter.await(StateWaiter.java:112)
	at org.wso2.andes.client.state.StateWaiter.await(StateWaiter.java:89)
	at org.wso2.andes.client.AMQConnectionDelegate_8_0.makeBrokerConnection(AMQConnectionDelegate_8_0.java:126)
	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.createConnection(AMQConnectionFactory.java:38)
	at org.apache.axis2.transport.jms.JMSUtils.createConnection(JMSUtils.java:690)
	at org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.createConnection(ServiceTaskManager.java:868)
	at org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.getConnection(ServiceTaskManager.java:750)
	at org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.receiveMessage(ServiceTaskManager.java:533)
	at org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.run(ServiceTaskManager.java:447)
	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-16 11:12:59,478]  INFO - FailoverRoundRobinServers ==== Checking failoverAllowed() ====
[2015-10-16 11:12:59,479]  INFO - FailoverRoundRobinServers Cycle Servers:
Cycle Retries:2
Current Cycle:0
Server Retries:5
Current Retry:1
Current Broker:1
tcp://192.168.48.140:5672?connectdelay='10'&retries='5'
>tcp://192.168.48.142:5672?connectdelay='10'&retries='5'

[2015-10-16 11:12:59,480]  INFO - FailoverRoundRobinServers ====================================
[2015-10-16 11:12:59,480]  INFO - FailoverRoundRobinServers Trying tcp://192.168.48.142:5672?connectdelay='10'&retries='5'
[2015-10-16 11:12:59,481]  INFO - FailoverRoundRobinServers Delay between connect retries:10


 Comments   
Comment by Ravindra Ranwala [ 30/May/16 ]

The given information is not cleat for us to reproduce the issue. Please clearly state the necessary steps to reproduce the issue. If you are sharing the user store etc please state those specific information that will facilitate us to replicate the issue here.





[ESBJAVA-4234] The Throttle Mediator doesn't work correctly when using Respond Mediator without sending message out to an endpoint Created: 24/Sep/15  Updated: 06/Aug/16

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

Type: Bug Priority: High
Reporter: shmily wen Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: ESB
Remaining Estimate: 8 hours
Time Spent: Not Specified
Original Estimate: 8 hours
Environment:

windows7 64bit, Developer Studio 3.7.1, JDK 8


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

 Description   

The Throttle Mediator doesn't treats the Respond Mediator as a response, so that the count for concurrent access number is not increase after Respond Mediator send message back to client. When digging into the code, I found ThrottleMediator.java has decrease the rest count for concurrent access number in line 129,
if (concurrentAccessController != null)

{ canAccess = doThrottleByConcurrency(isResponse, synLog); }

and only when SynapseCallbackReceiver.java line 501 is called,
int available = concurrentAccessController.incrementAndGet();
the number will be added back.

But when I use Respond Mediator, it doesn't involve SynapseCallbackReceiver since it doesn't send request to real service, so it doesn't add the number back. After a few invocation, all my request will fail.



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

This needs a major revamp in the throttle mediator. Hence postponing for future release.





[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-4552] Call mediator does not return the body for 202 response Created: 10/Apr/16  Updated: 08/Jun/16

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

Type: Bug Priority: High
Reporter: Niranjan Karunanandham 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_51


Attachments: XML File MyMockProxy.xml     XML File test4.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

 Description   

Call mediator (Non blocking) is not sending the response body to the client when the backend sends a 202 response with body. Attached the two proxy services, test4 proxy (In ESB instance with offset 0) is called by the client and MyMockProxy (in ESB instance with offset 1) is the backend which returns 202 with response.

[2016-04-08 10:52:41,048] DEBUG - wire >> "POST /services/test4 HTTP/1.1[\r][\n]"
[2016-04-08 10:52:41,048] DEBUG - wire >> "User-Agent: curl/7.35.0[\r][\n]"
[2016-04-08 10:52:41,049] DEBUG - wire >> "Host: localhost:8243[\r][\n]"
[2016-04-08 10:52:41,049] DEBUG - wire >> "Accept: application/xml[\r][\n]"
[2016-04-08 10:52:41,049] DEBUG - wire >> "Content-Type: application/xml[\r][\n]"
[2016-04-08 10:52:41,049] DEBUG - wire >> "Content-Length: 12[\r][\n]"
[2016-04-08 10:52:41,049] DEBUG - wire >> "[\r][\n]"
[2016-04-08 10:52:41,049] DEBUG - wire >> "<x>hello</x>"
[2016-04-08 10:52:41,051]  INFO - LogMediator To: /services/test4, MessageID: urn:uuid:3ab84305-2bda-465d-b60d-2cf13fa54e51, Direction: request
[2016-04-08 10:52:41,054] DEBUG - wire << "POST /services/MyMockProxy HTTP/1.1[\r][\n]"
[2016-04-08 10:52:41,054] DEBUG - wire << "Content-Type: application/xml; charset=UTF-8[\r][\n]"
[2016-04-08 10:52:41,055] DEBUG - wire << "Accept: application/xml[\r][\n]"
[2016-04-08 10:52:41,055] DEBUG - wire << "Transfer-Encoding: chunked[\r][\n]"
[2016-04-08 10:52:41,055] DEBUG - wire << "Host: localhost:8281[\r][\n]"
[2016-04-08 10:52:41,055] DEBUG - wire << "Connection: Keep-Alive[\r][\n]"
[2016-04-08 10:52:41,055] DEBUG - wire << "User-Agent: Synapse-PT-HttpComponents-NIO[\r][\n]"
[2016-04-08 10:52:41,055] DEBUG - wire << "[\r][\n]"
[2016-04-08 10:52:41,056] DEBUG - wire << "c[\r][\n]"
[2016-04-08 10:52:41,056] DEBUG - wire << "<x>hello</x>[\r][\n]"
[2016-04-08 10:52:41,056] DEBUG - wire << "0[\r][\n]"
[2016-04-08 10:52:41,056] DEBUG - wire << "[\r][\n]"
[2016-04-08 10:52:41,058] DEBUG - wire >> "HTTP/1.1 202 Accepted[\r][\n]"
[2016-04-08 10:52:41,058] DEBUG - wire >> "Host: localhost:8281[\r][\n]"
[2016-04-08 10:52:41,058] DEBUG - wire >> "Content-Type: application/xml; charset=UTF-8[\r][\n]"
[2016-04-08 10:52:41,058] DEBUG - wire >> "Accept: application/xml[\r][\n]"
[2016-04-08 10:52:41,059] DEBUG - wire >> "Date: Fri, 08 Apr 2016 05:22:41 GMT[\r][\n]"
[2016-04-08 10:52:41,059] DEBUG - wire >> "Transfer-Encoding: chunked[\r][\n]"
[2016-04-08 10:52:41,059] DEBUG - wire >> "Connection: Keep-Alive[\r][\n]"
[2016-04-08 10:52:41,059] DEBUG - wire >> "[\r][\n]"
[2016-04-08 10:52:41,060] DEBUG - wire >> "10[\r][\n]"
[2016-04-08 10:52:41,060] DEBUG - wire >> "<hello>s</hello>[\r][\n]"
[2016-04-08 10:52:41,060] DEBUG - wire >> "0[\r][\n]"
[2016-04-08 10:52:41,060] DEBUG - wire >> "[\r][\n]"
[2016-04-08 10:52:41,062]  INFO - LogMediator To: http://www.w3.org/2005/08/addressing/anonymous, WSAction: , SOAPAction: , MessageID: urn:uuid:6514f496-88f6-4ca2-bd38-9ad8b22f236f, Direction: request, HTTP_Status = 202, Envelope: <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body/></soapenv:Envelope>
[2016-04-08 10:52:41,064] DEBUG - wire << "HTTP/1.1 202 Accepted[\r][\n]"
[2016-04-08 10:52:41,064] DEBUG - wire << "Host: localhost:8281[\r][\n]"
[2016-04-08 10:52:41,064] DEBUG - wire << "Content-Type: application/xml; charset=UTF-8; charset=UTF-8[\r][\n]"
[2016-04-08 10:52:41,064] DEBUG - wire << "Accept: application/xml[\r][\n]"
[2016-04-08 10:52:41,065] DEBUG - wire << "Date: Fri, 08 Apr 2016 05:22:41 GMT[\r][\n]"
[2016-04-08 10:52:41,065] DEBUG - wire << "Transfer-Encoding: chunked[\r][\n]"
[2016-04-08 10:52:41,065] DEBUG - wire << "[\r][\n]"
[2016-04-08 10:52:41,065] DEBUG - wire << "0[\r][\n]"
[2016-04-08 10:52:41,065] DEBUG - wire << "[\r][\n]"


 Comments   
Comment by prabath ariyarathna [ 10/Apr/16 ]

According to my observations, This only happens when we have content aware mediators in our sequence. Inside the RelayUtils we are checking status code equal to the 202[1] and ignore build the response body. So we need to verify this behaviour.

[1] https://github.com/wso2/wso2-synapse/blob/Apache-Synapse-2.1.3-wso2v11/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/util/RelayUtils.java#L92-L96





[ESBJAVA-4355] Required Transaction support for the RabbitMQ transport Created: 08/Dec/15  Updated: 06/Aug/16

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

Type: New Feature Priority: High
Reporter: Krishan Malan Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: ESB, RabbitMQ, Transaction
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

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

 Description   

In JMS, it is possible to do transactions with the following parameters, but in Rabbitmq transport couldn't find anything similar to this.
<parameter name="transport.jms.SessionTransacted">true</parameter>
<parameter name="transport.jms.SessionAcknowledgement" locked="true">CLIENT_ACKNOWLEDGE</parameter>

Also couldn't find any OOTB solution to do transaction sessions.

Please consider this in future development.






[ESBJAVA-4353] Script mediator cannot handle messages bigger than 64kb Created: 07/Dec/15  Updated: 11/May/17

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

Type: Bug Priority: High
Reporter: Jayanga Dissanayake Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 2
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 mediator cannot handle messages bigger than 64kb.
The Rhino engine converts the script to a method inside a Java class. Java has a limitation "code_lenght must be less than 65536" [1].

Because of the above mentioned reasons, Script mediator fails with [2].

[1] https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html#jvms-4.9.1

[2]
TID: [-1234] [] [2015-11-24 12:28:28,936] ERROR

{org.apache.axis2.transport.base.threads.NativeWorkerPool} - Uncaught exception {org.apache.axis2.transport.base.threads.NativeWorkerPool}

java.lang.ClassFormatError: Invalid method Code length 76520 in class file org/mozilla/javascript/gen/c40445
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
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)



 Comments   
Comment by Ushani Balasooriya [ 11/May/17 ]

Increasing the priority since its occurrence is high.





[ESBJAVA-4155] Fault sequence not invoked in tenant mode Created: 03/Sep/15  Updated: 06/Aug/16

Status: Open
Project: WSO2 ESB
Component/s: None
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-4200] FORCE_SC_ACCEPTED not working as expected when ESB cannot connect to the backend IP. Created: 08/Sep/15  Updated: 06/Aug/16

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

Type: Bug Priority: High
Reporter: Sandapa Handakumbura Assignee: Nadeeshaan Gunasinghe
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Pack : WSO2 ESB-4.9.0-RC4 (standalone)
Java version : jdk1.8.0_45


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

 Description   

When we invoke this proxy we do not get the 202 Accepted. This occurs only when the log mediator is present. When we remove the log mediator we get the 202 Accepted as expected.

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
name="mypx"
transports="http https"
startOnLoad="true"
trace="disable">
<description/>
<target>
<inSequence>
<property name="OUT_ONLY" value="true" scope="default" type="STRING"/>
<property name="FORCE_SC_ACCEPTED"
value="true"
scope="axis2"
type="STRING"/>
<log>
<property name="**** IN ******" value="AAAAAAAAAAAAA"/>
</log>
<send>
<endpoint>
<address uri="http://10.10.10.10:9000/services/SimpleStockQuoteService"/>
</endpoint>
</send>
</inSequence>
</target>
</proxy>



 Comments   
Comment by Nadeeshaan Gunasinghe [ 06/Aug/16 ]

When sending the request content the thread will wait until it's been notified after submit request or any error occurred. After that the particular thread will be released according to the current implementation.





[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-4125] Creating a secondary ldap user store in read only mode fails to authenticate users Created: 27/Aug/15  Updated: 09/Aug/16

Status: Open
Project: WSO2 ESB
Component/s: None
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-3719] Issue in STSClient while requesting token from MS ADFS Created: 27/May/15  Updated: 06/Aug/16

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

Type: Bug Priority: High
Reporter: Dilfuruz TORLAK 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,
We have started to WSO2 ESB project in our company.
We are implementing security part of the project.
Our backend services require SAML authentication through Microsoft ADFS.
Currently, we use WSO2 ESB 4.8.1, rampart-1.6.2 and addressing-1.6.2 modules and ADFS 2.0.
While requesting token from ADFS, I'm getting below exception on ESB:

ERROR - STSClient errorInObtainingToken
org.apache.axis2.AxisFault: The input stream for an incoming message is null.
at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:93)
at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:68)
at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:348)
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.rahas.client.STSClient.requestSecurityToken(STSClient.java:165)
at org.apache.rahas.client.STSClient.requestSecurityToken(STSClient.java:182)
at org.apache.rampart.util.RampartUtil.getToken(RampartUtil.java:766)
at org.apache.rampart.util.RampartUtil.getIssuedToken(RampartUtil.java:675)
at org.apache.rampart.builder.BindingBuilder.handleSupportingTokens(BindingBuilder.java:379)
at org.apache.rampart.builder.AsymmetricBindingBuilder.doSignBeforeEncrypt(AsymmetricBindingBuilder.java:420)
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:482)
at org.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java:59)
at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:338)
at org.apache.synapse.endpoints.AbstractEndpoint.send(AbstractEndpoint.java:333)
at org.apache.synapse.endpoints.AddressEndpoint.send(AddressEndpoint.java:59)
at org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:97)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:77)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:47)
at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:131)
at org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.receive(ProxyServiceMessageReceiver.java:166)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
at org.apache.synapse.transport.passthru.ServerWorker.processEntityEnclosingRequest(ServerWorker.java:411)
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)
[2015-04-10 10:41:38,607] ERROR - Axis2Sender Unexpected error during sending message out org.apache.axis2.AxisFault: Error in obtaining a 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.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:482)
at org.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java:59)
at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:338)
at org.apache.synapse.endpoints.AbstractEndpoint.send(AbstractEndpoint.java:333)
at org.apache.synapse.endpoints.AddressEndpoint.send(AddressEndpoint.java:59)
at org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:97)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:77)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:47)
at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:131)
at org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.receive(ProxyServiceMessageReceiver.java:166)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
at org.apache.synapse.transport.passthru.ServerWorker.processEntityEnclosingRequest(ServerWorker.java:411)
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)
Caused by: org.apache.rampart.RampartException: Error in obtaining a token
at org.apache.rampart.util.RampartUtil.getToken(RampartUtil.java:779)
at org.apache.rampart.util.RampartUtil.getIssuedToken(RampartUtil.java:675)
at org.apache.rampart.builder.BindingBuilder.handleSupportingTokens(BindingBuilder.java:379)
at org.apache.rampart.builder.AsymmetricBindingBuilder.doSignBeforeEncrypt(AsymmetricBindingBuilder.java:420)
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)
... 24 more
Caused by: org.apache.rahas.TrustException: Error in obtaining token from : "https://XXXX:443/adfs/services/trust/13/usernamemixed"
at org.apache.rahas.client.STSClient.requestSecurityToken(STSClient.java:174)
at org.apache.rahas.client.STSClient.requestSecurityToken(STSClient.java:182)
at org.apache.rampart.util.RampartUtil.getToken(RampartUtil.java:766)
... 30 more
Caused by: org.apache.axis2.AxisFault: The input stream for an incoming message is null.
at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:93)
at org.apache.axis2.transport.TransportUtils.createSOAPMessage(TransportUtils.java:68)
at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:348)
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.rahas.client.STSClient.requestSecurityToken(STSClient.java:165)
-----------------------------------------------------------------------------------------------------

When I investigated I noticed that WS-Addressing and WS-Trust namespaces at the token request prepared by apache rampart are different than expectation of ADFS.

The addressing module (addressing-1.6.2) supports the WS-Addressing Submission version (2004/08).
The apache rampart module(rampart-1.6.2) supports WS-Trust version 1.2.
ADFS has 2 kinds of endpoint; version 1.3 and version 2005.
I have tried both of them as endpoint while requesting SAML token from ADFS.
Although the ADFS endpoint with version 2005 supports WS-Trust version 1.2, still needed to change WS-Addressing namespace as "Final".

When I change below items in apache rampart, I'm able to obtain a token from ADFS..

  • Version of WS-Trust from 1.2 to 1.3
  • WS-Addressing namespace from Submission to Final

Is it a known bug?
Are there a version of apache rampart/rahas which is compatible with MS ADFS?
Thanks a lot.



 Comments   
Comment by Asela Pathberiya [ 21/Sep/15 ]

Hi Dilfuruz,

Rampart/Rahas supports up to WS-Trust 1.4 as STS (Security Token Service).

But; STSClient (just client side implementation which can use to generate RST and validates them) of the rahas is only supported to generate RST which is compatible with WS-Trust 1.2 version. It does not support for 1.3/1.4. Therefore it is addressing header is set for submission version.

According to the WS-Trust 1.2 specification, It must be the submission version

 wsa  : http://schemas.xmlsoap.org/ws/2004/08/addressing 

Therefore we do not see any bug in this. So; Please correct us, if we have missed something.

Yes. We agree that it is better to update the STS client RST version to 1.3 and addressing version to Final. We can do this improvement for future release. If you like to contribute, it is highly appreciated. Please attach the source diff in to this ticket. Then team can verify and fix it for future release.

[1] http://specs.xmlsoap.org/ws/2005/02/trust/WS-Trust.pdf

Thanks,
Asela.





[ESBJAVA-3688] Clean up Enrich Mediator Created: 08/May/15  Updated: 24/May/16

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

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

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
Test cases added: Yes

 Description   

I think we can get rid of most of the redundant attributes and support them through xpath only. For instance most of the operations that you do with enrich can be done using xpath attribute in both source and target. So, we will fully verify and fix these use cases while keeping support for existing syntax for backward compatibility.

<!--payload to property -->
<enrich>
<source xpath="//m0:getQuote/m0:request/m0:symbol/text()"
xmlns:m0="http://services.samples"/>
<target xpath="$ctx:PropName"/>
</enrich>

<!-- property to payload -->
<enrich>
<source xpath="$ctx:PropName"
xmlns:m0="http://services.samples"/>
<target xpath="//m0:Foo/"/>
</enrich>

See the thread "ESB Feedback: Improve Payload Factory and Improving Enrich" at arch@ for more info/






[ESBJAVA-2914] wso2ESB 4.8.0 not working for transactions Created: 16/Jan/14  Updated: 24/May/16

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

Type: Bug Priority: High
Reporter: faisal shaik Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: ESB
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

ubuntu,wso2dss3.0.1 ,wso2esb4.8.0


Attachments: File Transaction.dbs     XML File TransactionProxy.xml     PNG File ibx4q.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
Test cases added: Yes
Affects Docs:
Yes

 Description   

Hi
I am using wso2esb4.8.0 and wso2dss3.0.1.My issue is i wish to insert the data into 2 tables its working nicely but i wish to applay transaction for my tables both table exist in same DB.If my 2nd table going fail on any moment that time my 1 st table should be rollback for that my DSS data source configuration is
and my dataservice is like this and i enabled boxcar for transaction

<data disableStreaming="true" enableBoxcarring="true" name="Transaction" serviceNamespace="http://ws.wso2.org/dataservice">
<config id="default">
<property name="carbon_datasource_name">USCProduction</property>
</config>
<query id="insertinto_mclient" useConfig="default">
<sql>insert into mclient(clientcode,clientname,createdbyid,modifiedbyid) values(?,?,?,?)</sql>
<param name="clientcode" ordinal="1" sqlType="STRING"/>
<param name="clientname" ordinal="2" sqlType="STRING"/>
<param name="createdbyid" ordinal="3" sqlType="BIGINT"/>
<param name="modifiedbyid" ordinal="4" sqlType="BIGINT"/>
</query>
<query id="insertinto_mcompany" useConfig="default">
<sql>insert into mcompany(companycode,companyname,createdbyid,modifiedbyid,clientid) values(?,?,?,?,?)</sql>
<param name="companycode" ordinal="1" sqlType="STRING"/>
<param name="comapnyname" ordinal="2" sqlType="STRING"/>
<param name="createdbyid" ordinal="3" sqlType="BIGINT"/>
<param name="modifiedbyid" ordinal="4" sqlType="BIGINT"/>
<param name="clientid" ordinal="5" sqlType="BIGINT"/>
</query>
<operation disableStreaming="true" name="insertinto_mclient_OP" returnRequestStatus="true">
<call-query href="insertinto_mclient">
<with-param name="clientcode" query-param="clientcode"/>
<with-param name="clientname" query-param="clientname"/>
<with-param name="createdbyid" query-param="createdbyid"/>
<with-param name="modifiedbyid" query-param="modifiedbyid"/>
</call-query>
</operation>
<operation disableStreaming="true" name="insertinto_mcompany_OP" returnRequestStatus="true">
<call-query href="insertinto_mcompany">
<with-param name="companycode" query-param="companycode"/>
<with-param name="comapnyname" query-param="comapnyname"/>
<with-param name="createdbyid" query-param="createdbyid"/>
<with-param name="modifiedbyid" query-param="modifiedbyid"/>
<with-param name="clientid" query-param="clientid"/>
</call-query>
</operation>
</data>
and my proxy service is
<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
name="TransactionProxy"
transports="https,http"
statistics="disable"
trace="disable"
startOnLoad="true">
<target>
<inSequence>
<log level="full">
<property name="M1" value="************HITTING Transaction PROXY************"/>
</log>
<property name="OUT_ONLY" value="true"/>
<property name="companycode" expression="//companycode/text()"/>
<property name="companyname" expression="//companyname/text()"/>
<property name="clientcode" expression="//clientcode/text()"/>
<property name="clientname" expression="//clientname/text()"/>
<payloadFactory media-type="xml">
<format>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:dat="http://ws.wso2.org/dataservice">
<soapenv:Header/>
<soapenv:Body/>
</soapenv:Envelope>
</format>
<args/>
</payloadFactory>
<log level="full">
<property name="M2" value="************HITTING Transaction PROXY************"/>
</log>
<header name="Action" value="urn:begin_boxcar"/>
<callout serviceURL="http://192.168.1.201:9764/services/Transaction/begin_boxcar"
action="urn:begin_boxcar">
<source type="envelope"/>
<target xmlns:s12="http://www.w3.org/2003/05/soap-envelope"
xmlns:s11="http://schemas.xmlsoap.org/soap/envelope/"
xpath="s11:Body/child::[fn:position()=1] | s12:Body/child::[fn:position()=1]"/>
</callout>
<payloadFactory media-type="xml">
<format>
<p:insertinto_mclient_OP xmlns="http://ws.wso2.org/dataservice">
<xs:clientcode xmlns:xs="http://ws.wso2.org/dataservice">$1</xs:clientcode>
<xs:clientname xmlns:xs="http://ws.wso2.org/dataservice">$2</xs:clientname>
<xs:createdbyid xmlns:xs="http://ws.wso2.org/dataservice">-1</xs:createdbyid>
<xs:modifiedbyid xmlns:xs="http://ws.wso2.org/dataservice">-1</xs:modifiedbyid>
</p:insertinto_mclient_OP>
</format>
<args>
<arg evaluator="xml" expression="get-property('clientcode')"/>
<arg evaluator="xml" expression="get-property('clientname')"/>
</args>
</payloadFactory>
<header name="Action" value="urn:insertinto_mclient_OP"/>
<callout serviceURL="http://192.168.1.201:9764/services/Transaction/"
action="urn:insertinto_mclient_OP">
<source xmlns:s12="http://www.w3.org/2003/05/soap-envelope"
xmlns:s11="http://schemas.xmlsoap.org/soap/envelope/"
xpath="s11:Body/child::[fn:position()=1] | s12:Body/child::[fn:position()=1]"/>
<target xmlns:s12="http://www.w3.org/2003/05/soap-envelope"
xmlns:s11="http://schemas.xmlsoap.org/soap/envelope/"
xpath="s11:Body/child::[fn:position()=1] | s12:Body/child::[fn:position()=1]"/>
</callout>
<payloadFactory media-type="xml">
<format>
<p:insertinto_mcompany_OP xmlns="http://ws.wso2.org/dataservice">
<xs:companycode xmlns:xs="http://ws.wso2.org/dataservice">$1</xs:companycode>
<xs:comapnyname xmlns:xs="http://ws.wso2.org/dataservice">$2</xs:comapnyname>
<xs:createdbyid xmlns:xs="http://ws.wso2.org/dataservice">-1</xs:createdbyid>
<xs:modifiedbyid xmlns:xs="http://ws.wso2.org/dataservice">-1</xs:modifiedbyid>
<xs:clientid xmlns:xs="http://ws.wso2.org/dataservice">-1</xs:clientid>
</p:insertinto_mcompany_OP>
</format>
<args>
<arg evaluator="xml" expression="get-property('companycode')"/>
<arg evaluator="xml" expression="get-property('companyname')"/>
</args>
</payloadFactory>
<log level="full">
<property name="M5" value="*************hitting2nd dss****"/>
</log>
<header name="Action" value="urn:insertinto_mcompany_OP"/>
<callout serviceURL="http://192.168.1.201:9764/services/Transaction/"
action="urn:insertinto_mcompany_OP">
<source xmlns:s12="http://www.w3.org/2003/05/soap-envelope"
xmlns:s11="http://schemas.xmlsoap.org/soap/envelope/"
xpath="s11:Body/child::[fn:position()=1] | s12:Body/child::[fn:position()=1]"/>
<target xmlns:s12="http://www.w3.org/2003/05/soap-envelope"
xmlns:s11="http://schemas.xmlsoap.org/soap/envelope/"
xpath="s11:Body/child::[fn:position()=1] | s12:Body/child::[fn:position()=1]"/>
</callout>
<payloadFactory media-type="xml">
<format>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:dat="http://ws.wso2.org/dataservice">
<soapenv:Header/>
<soapenv:Body/>
</soapenv:Envelope>
</format>
<args/>
</payloadFactory>
<log level="full">
<property name="M3" value="************HITTING Transaction PROXY************"/>
</log>
<header name="Action" value="urn:end_boxcar"/>
<callout serviceURL="http://192.168.1.201:9764/services/Transaction/end_boxcar"
action="urn:end_boxcar">
<source type="envelope"/>
<target xmlns:s12="http://www.w3.org/2003/05/soap-envelope"
xmlns:s11="http://schemas.xmlsoap.org/soap/envelope/"
xpath="s11:Body/child::[fn:position()=1] | s12:Body/child::[fn:position()=1]"/>
</callout>
<log level="full">
<property name="M4" value="************HITTING Transaction PROXY************"/>
</log>
</inSequence>
<outSequence>
<send/>
</outSequence>
</target>
<description/>
</proxy>
box_carying is working in wso2dss but not in wso2esb is there any session management is there
i started with begin_boxcar and end with end_boxcar.BUt while i am doing this with dss if i start with begin_boxcar then 1st insert after that i checked the table but ther is no data insertion if i insert into 2nd table and end with end_boxcar then only data inserting into 2 tables.Where as i checked with proxy service configuration like above strted with begin_boxcar and inserted 1st table and checked the table dat is there means with out end_boxcar also data inserted properly
and
how can i get DSS session into proxy.what is this JSESSIONID



 Comments   
Comment by faisal shaik [ 17/Jan/14 ]

how to get the boxcarying session id in to proxy?

Comment by faisal shaik [ 20/Jan/14 ]

wso2esb support for transactions are not.

<payloadFactory media-type="xml">
<format>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:dat="http://ws.wso2.org/dataservice">
<soapenv:Header/>
<soapenv:Body/>
</soapenv:Envelope>
</format>
<args/>
</payloadFactory>
<log level="full">
<property name="M2" value="************HITTING Transaction PROXY************"/>
</log>
<header name="Action" value="urn:begin_boxcar"/>
<property name="setCookieHeader"
expression="$trp:Set-Cookie"
scope="default"
type="STRING"/>
<callout serviceURL="http://1localhost:9764/services/Transaction/begin_boxcar"
action="urn:begin_boxcar">
<source type="envelope"/>
<target xmlns:s12="http://www.w3.org/2003/05/soap-envelope"
xmlns:s11="http://schemas.xmlsoap.org/soap/envelope/"
xpath="s11:Body/child::[fn:position()=1] | s12:Body/child::[fn:position()=1]"/>
</callout>
<property name="setCookieHeader5" expression="$trp:JSESSIONID"/>
<log level="full">
<property name="JSession" expression="get-property('setCookieHeader')"/>
</log>

how to get dss JSESSIONID in to wso2esb proxy





[ESBJAVA-4283] wso2esb is unable to create xa datasource for postgressql Created: 22/Jan/14  Updated: 24/May/16

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

Type: Bug Priority: High
Reporter: faisal shaik Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: ESB
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

ubuntu,wso2esb4.8.0


Attachments: XML File master-datasources.xml    
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
Test cases added: Yes
Affects Docs:
Yes

 Description   

Hi
I am working with wso2esb 4.8.0 and postgressql9.1
I wish to do a simple transaction based insert in wso2esb .If we want to do a transaction need to use xa data source but wso2esb and dss default using non xa data source.So i created a xa data source but its showing errors even i tried wso2dss box carring but no result we are unable maintain a same JSESSONID in to proxy so now i am trying with DBLOOKUP and DB REPORT for that i am trying create xa datasource using below
configuration in repository/config/master-datasource.xmll
<datasource>
<name>DS2</name>
<jndiConfig>
<name>DS2</name>
</jndiConfig>
<definition type="RDBMS">
<configuration>
<dataSourceClassName>com.atomikos.jdbc.AtomikosDataSourceBean</dataSourceClassName>
<dataSourceProps>
<property name="xaDataSourceClassName">org.postgresql.xa.PGXADataSource</property>
<property name="uniqueResourceName">TXUSCProduction</property>
<property name="xaProperties.user">youtilitydba</property>
<property name="xaProperties.password">Youtility11</property>
<property name="xaProperties.URL">jdbc:postgresql://localhost:5432/USCProduction</property>
<property name="poolSize">10</property>
</dataSourceProps>
</configuration>
</definition>
</datasource>
its creating and showing in UI also when i am trying with DBREPORT giving pool errors are AtomikosDataSourceBean errors
really fed up with wso2 no proper docs are no proper example even no reply for any question



 Comments   
Comment by faisal shaik [ 20/Feb/14 ]

is it bug in wso2.

Comment by dushan abeyruwan [ 27/Jun/14 ]

This should be a bug related to carbon components.





[ESBJAVA-2441] Unable to enable custom module in proxy configuration Created: 10/Sep/13  Updated: 20/Jul/15

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

Type: Improvement Priority: High
Reporter: Thijs Volders Assignee: Isuru Udana Loku Narangoda
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   

The synapse proxy configuration does not allow to specify which custom modules should be engaged upon deployment.

This introduces several challenges:
1) One cannot change the synapse configuration or a deploy a proxy service through the filesystem without manually engaging the module on the proxy through the admin-console.
2) When a CAR (with proxy service) is (re-)deployed manual actions are necessary through the console to engage the module on the proxy(ies).
3) When Carbon decides to undeploy a service and redeploy it later then the engaged module is no longer engaged thus messages are no longer properly processed. Again manual engagement is necessary.

This latter issue is rather problematic as I have seen situations where Carbon decided to undeploy the proxy under high load en redeploy it moments later. Unfortunately the module was gone after this redeployment thus causing invalid messages to go through as the module did not stop them...






[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-3896] Sample 657 of distributed transaction management is not working properly Created: 13/Jul/15  Updated: 06/Aug/16

Status: Open
Project: WSO2 ESB
Component/s: None
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-5064] SOAP to JSON Integration broken with JSONStreamBuilder/Formatter Created: 29/Mar/17  Updated: 29/Mar/17

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

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

Severity: Blocker
Estimated Complexity: Novice
Test cases added: Yes

 Description   

Just test with simple scenario with the following proxy, The BE must be JSON, and client should be SOAP

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="WorkflowCallbackService"
       transports="https http"
       startOnLoad="true"
       trace="disable">
   <description/>
   <target>
      <inSequence>
         <property name="messageType"
                   value="application/x-www-form-urlencoded"
                   scope="axis2"
                   type="STRING"/>
         <send>
            <endpoint>
               <address uri="https://localhost:9443/store/site/blocks/workflow/workflow-listener/ajax/workflow-listener.jag"
                        format="rest"/>
            </endpoint>
         </send>
      </inSequence>
      <outSequence>
         <property name="messageType" value="text/xml" scope="axis2" type="STRING"/>
         <send/>
      </outSequence>
   </target>
</proxy>
[19:46:51,245{GMT}] DEBUG - headers http-outgoing-2 >> Connection: Keep-Alive
[19:46:51,245{GMT}] DEBUG - headers http-outgoing-2 >> User-Agent: Synapse-PT-HttpComponents-NIO
[19:46:51,245{GMT}] DEBUG - wire HTTP-Sender I/O dispatcher-1 << "POST /foo HTTP/1.1[\r][\n]"
[19:46:51,245{GMT}] DEBUG - wire HTTP-Sender I/O dispatcher-1 << "Content-Type: application/x-www-form-urlencoded[\r][\n]"
[19:46:51,245{GMT}] DEBUG - wire HTTP-Sender I/O dispatcher-1 << "SOAPAction: urn:getFullQuote[\r][\n]"
[19:46:51,245{GMT}] DEBUG - wire HTTP-Sender I/O dispatcher-1 << "Transfer-Encoding: chunked[\r][\n]"
[19:46:51,246{GMT}] DEBUG - wire HTTP-Sender I/O dispatcher-1 << "Host: localhost:8080[\r][\n]"
[19:46:51,246{GMT}] DEBUG - wire HTTP-Sender I/O dispatcher-1 << "Connection: Keep-Alive[\r][\n]"
[19:46:51,246{GMT}] DEBUG - wire HTTP-Sender I/O dispatcher-1 << "User-Agent: Synapse-PT-HttpComponents-NIO[\r][\n]"
[19:46:51,246{GMT}] DEBUG - wire HTTP-Sender I/O dispatcher-1 << "[\r][\n]"
[19:46:51,246{GMT}] DEBUG - wire HTTP-Sender I/O dispatcher-1 << "74[\r][\n]"
[19:46:51,246{GMT}] DEBUG - wire HTTP-Sender I/O dispatcher-1 << "request=%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20[\r][\n]"
[19:46:51,247{GMT}] DEBUG - wire HTTP-Sender I/O dispatcher-1 << "0[\r][\n]"
[19:46:51,247{GMT}] DEBUG - wire HTTP-Sender I/O dispatcher-1 << "[\r][\n]"
[19:46:51,254{GMT}] DEBUG - wire HTTP-Sender I/O dispatcher-1 >> "HTTP/1.1 200 OK[\r][\n]"
[19:46:51,254{GMT}] DEBUG - wire HTTP-Sender I/O dispatcher-1 >> "Content-Type: application/json[\r][\n]"
[19:46:51,254{GMT}] DEBUG - wire HTTP-Sender I/O dispatcher-1 >> "Transfer-Encoding: chunked[\r][\n]"
[19:46:51,254{GMT}] DEBUG - wire HTTP-Sender I/O dispatcher-1 >> "Server: Jetty(6.1.26)[\r][\n]"
[19:46:51,254{GMT}] DEBUG - wire HTTP-Sender I/O dispatcher-1 >> "[\r][\n]"
[19:46:51,254{GMT}] DEBUG - wire HTTP-Sender I/O dispatcher-1 >> "35[\r][\n]"
[19:46:51,254{GMT}] DEBUG - wire HTTP-Sender I/O dispatcher-1 >> "{"workflowCallbackResponse" : {"error" : "false"}}   [\r][\n]"
[19:46:51,254{GMT}] DEBUG - wire HTTP-Sender I/O dispatcher-1 >> "0[\r][\n]"
[19:46:51,254{GMT}] DEBUG - wire HTTP-Sender I/O dispatcher-1 >> "[\r][\n]"
[19:46:51,254{GMT}] DEBUG - headers http-outgoing-2 << HTTP/1.1 200 OK
[19:46:51,255{GMT}] DEBUG - headers http-outgoing-2 << Content-Type: application/json
[19:46:51,255{GMT}] DEBUG - headers http-outgoing-2 << Transfer-Encoding: chunked
[19:46:51,255{GMT}] DEBUG - headers http-outgoing-2 << Server: Jetty(6.1.26)
[19:46:51,256{GMT}]  INFO - LogMediator To: http://www.w3.org/2005/08/addressing/anonymous, WSAction: , SOAPAction: , MessageID: urn:uuid:c9265bc9-1993-47c4-a93f-e16d86bf9e77, Direction: response, sss = ssss222222, Payload: {"workflowCallbackResponse" : {"error" : "false"}}
[19:46:51,257{GMT}] ERROR - PassThroughHttpSender Failed to submit the response
org.apache.axis2.AxisFault: Can not output XML declaration, after other output has already been done.
	at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
	at org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo(SOAPMessageFormatter.java:78)
	at org.apache.synapse.transport.passthru.PassThroughHttpSender.submitResponse(PassThroughHttpSender.java:555)
	at org.apache.synapse.transport.passthru.PassThroughHttpSender.invoke(PassThroughHttpSender.java:264)
	at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
	at org.apache.synapse.core.axis2.Axis2Sender.sendBack(Axis2Sender.java:222)
	at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:531)
	at org.apache.synapse.mediators.builtin.SendMediator.mediate(SendMediator.java:118)
	at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator






[ESBJAVA-5045] Datamapper throws NumberFormatException when xsi:nil="true" in xml Created: 14/Mar/17  Updated: 31/Mar/17

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

Type: Bug Priority: High
Reporter: Ruwani Wanniarachchi Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: ESB
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

 Description   

When there is an xml where one element has a number and other has xsi:nil="true" as below

<Party>
    <id>100</id>
    <PartyId xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
</Party>
<Party>
     <id>101</id>
     <PartyId>22222</PartyId>
</Party>

Auto generated inputSchema.json will map the PartyId as a number

"PartyId" : {
                "id" : "http://wso2jsonschema.org/GetResponse/Party/0/PartyId",
                "type" : "number"
} 

When you send the same xml to a datamapper mediator in a proxy it throws the following exception.

ERROR - SequenceMediator empty String
java.lang.NumberFormatException: empty String
	at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1020)
	at java.lang.Double.parseDouble(Double.java:540)
	at org.wso2.carbon.mediator.datamapper.engine.input.readers.XMLInputReader.writeFieldElement(XMLInputReader.java:650)
	at org.wso2.carbon.mediator.datamapper.engine.input.readers.XMLInputReader.xmlTraverse(XMLInputReader.java:211)
	at org.wso2.carbon.mediator.datamapper.engine.input.readers.XMLInputReader.xmlTraverse(XMLInputReader.java:228)
	at org.wso2.carbon.mediator.datamapper.engine.input.readers.XMLInputReader.xmlTraverse(XMLInputReader.java:228)
	at org.wso2.carbon.mediator.datamapper.engine.input.readers.XMLInputReader.xmlTraverse(XMLInputReader.java:228)
	at org.wso2.carbon.mediator.datamapper.engine.input.readers.XMLInputReader.read(XMLInputReader.java:120)
	at org.wso2.carbon.mediator.datamapper.engine.input.InputBuilder.buildInputModel(InputBuilder.java:59)
	at org.wso2.carbon.mediator.datamapper.engine.core.mapper.MappingHandler.doMap(MappingHandler.java:67)
	at org.wso2.carbon.mediator.datamapper.DataMapperMediator.transform(DataMapperMediator.java:306)
	at org.wso2.carbon.mediator.datamapper.DataMapperMediator.mediate(DataMapperMediator.java:256)
	at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97)
	at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:260)
	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:188)
	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:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:745)


 Comments   
Comment by Himasha Guruge [ 31/Mar/17 ]

Fixed with commit https://github.com/wso2/carbon-mediation/commit/b45657aa2f04531af89d0f09029503e18fdb2cd3.





[ESBJAVA-5015] java.util.EmptyStackException Created: 09/Feb/17  Updated: 09/Feb/17

Status: Open
Project: WSO2 ESB
Component/s: Mediators, Message Processors, Message Stores, Sequences Management
Affects Version/s: 4.8.1
Fix Version/s: None

Type: Bug Priority: High
Reporter: Nagamohan Borra 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 have a cluster of ESB servers and each server has a message store pointing to same JMS queue. Each server has a message processor for each message store configured.

Before we have two ESB servers and everything was fine but when we deploy the same code to another X servers then previous applications got affected .

here by iam giving the wso2-error-log found .

2017-01-27 19:29:22,087 [-] [Axis2 Task] ERROR AsyncCallback
java.util.EmptyStackException
at java.util.Stack.peek(Stack.java:102)
at org.apache.synapse.continuation.ContinuationStackManager.addReliantContinuationState(ContinuationStackManager.java:103)
at org.apache.synapse.mediators.eip.splitter.CloneMediator.mediate(CloneMediator.java:100)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:77)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:47)
at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:131)
at org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.receive(ProxyServiceMessageReceiver.java:166)
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.apache.axis2.transport.local.LocalTransportSender.finalizeSendWithToAddress(LocalTransportSender.java:102)
at org.apache.axis2.transport.local.LocalTransportSender.invoke(LocalTransportSender.java:77)
at org.apache.axis2.engine.AxisEngine$TransportNonBlockingInvocationWorker.run(AxisEngine.java:626)
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)






[ESBJAVA-5039] Error when creating Role in WSO2 IS through ESB 4.9.0 with call blocking Created: 07/Mar/17  Updated: 15/Mar/17

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

Type: Bug Priority: High
Reporter: ajanthan e 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   

Reproducing Steps:

1) Enable the admin services in WSO2 IS and start the server.
2) Create a proxy service as below:

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="test3"
       transports="http"
       statistics="disable"
       trace="disable"
       startOnLoad="true">
   <target>
      <inSequence>
         <log level="custom">
            <property name="LOG3" value="--- before call test33 ---"/>
         </log>
         <payloadFactory media-type="xml">
            <format>
               <ser:addRole xmlns:ser="http://service.ws.um.carbon.wso2.org">
                  <ser:roleName>test</ser:roleName>
               </ser:addRole>
            </format>
            <args/>
         </payloadFactory>
         <header name="Action" value="urn:addRole"/>
         <property name="HTTP_METHOD" value="POST" scope="axis2"/>
         <property name="Authorization"
                   expression="fn:concat('Basic ', base64Encode('admin:admin'))"
                   scope="transport"/>
         <property name="messageType" value="application/xml" scope="axis2"/>
         <log level="full"/>
         <call blocking="true">
            <endpoint>
               <address uri="https://localhost:9444/services/RemoteUserStoreManagerService"/>
            </endpoint>
         </call>
         <log level="custom">
            <property name="LOG3" value="--- after call test333 ---"/>
         </log>
         <respond/>
      </inSequence>
      <faultSequence>
         <log level="custom">
            <property name="LOG3" value="--- inside faultSequence - test3333 ---"/>
         </log>
         <sequence key="fault"/>
      </faultSequence>
   </target>
   <description/>
</proxy>                               

3) Send a request to proxy.

4) Will get the below error.

[2017-03-07 12:06:07,687] ERROR - ServerWorker Error processing GET reguest for : /services/test3. Error detail: org.apache.synapse.SynapseException: Could not build full log message: null.
java.lang.RuntimeException: org.apache.synapse.SynapseException: Could not build full log message: null
    at org.apache.synapse.FaultHandler.handleFault(FaultHandler.java:110)
    at org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.receive(ProxyServiceMessageReceiver.java:214)
    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.run(ServerWorker.java:149)
    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.synapse.SynapseException: Could not build full log message: null
    at org.apache.synapse.mediators.AbstractMediator.handleException(AbstractMediator.java:285)
    at org.apache.synapse.mediators.builtin.LogMediator.getFullLogMessage(LogMediator.java:207)
    at org.apache.synapse.mediators.builtin.LogMediator.getLogMessage(LogMediator.java:131)
    at org.apache.synapse.mediators.builtin.LogMediator.mediate(LogMediator.java:95)
    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.base.SequenceMediator.mediate(SequenceMediator.java:214)
    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.MediatorFaultHandler.onFault(MediatorFaultHandler.java:86)
    at org.apache.synapse.FaultHandler.handleFault(FaultHandler.java:102)
    ... 8 more



 Comments   
Comment by Himasha Guruge [ 15/Mar/17 ]

Fixed with https://github.com/wso2/wso2-synapse/commit/fd31b24fc20a147c58358aa3b50cfed1c496692f.





[ESBJAVA-5038] Error when creating a role in WSO2 IS RemoteUserStoreManagerService from a call blocking="true" in WSO2 ESB Created: 07/Mar/17  Updated: 07/Mar/17

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

Type: Bug Priority: High
Reporter: ajanthan e 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   

Follow the below steps to reproduce the issue.
1) Enable admin services and up the WSO2 IS.
2) create a proxy service as below:

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="test3"
       transports="http"
       startOnLoad="true"
       trace="disable">
   <description/>
   <target>
      <inSequence>
         <log level="custom">
            <property name="LOG3" value="--- before call test33 ---"/>
         </log>
         <payloadFactory media-type="xml">
            <format>
               <ser:addRole xmlns:ser="http://service.ws.um.carbon.wso2.org">
                  <ser:roleName>demo325</ser:roleName>
               </ser:addRole>
            </format>
            <args/>
         </payloadFactory>
         <header name="Action" value="urn:addRole"/>
         <property name="HTTP_METHOD" value="POST" scope="axis2"/>
         <property name="Authorization"
                   expression="fn:concat('Basic ', base64Encode('admin:admin'))"
                   scope="transport"/>
         <property name="messageType" value="application/xml" scope="axis2"/>
         <log level="full"/>
         <call blocking="true">
            <endpoint>
               <address uri="https://localhost:9444/services/RemoteUserStoreManagerService"/>
            </endpoint>
         </call>
         <log level="custom">
            <property name="LOG3" value="--- after call test333 ---"/>
         </log>
         <respond/>
      </inSequence>
      <faultSequence>
         <log level="custom">
            <property name="LOG3" value="--- inside faultSequence - test3333 ---"/>
         </log>
         <sequence key="fault"/>
      </faultSequence>
   </target>
</proxy>

3) Send a request to test3.xml.

4) Will get the below error.

[2017-03-07 09:43:29,306] ERROR - ServerWorker Error processing GET reguest for : /services/test3. Error detail: org.apache.synapse.SynapseException: Could not build full log message: null. 
java.lang.RuntimeException: org.apache.synapse.SynapseException: Could not build full log message: null
	at org.apache.synapse.FaultHandler.handleFault(FaultHandler.java:110)
	at org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.receive(ProxyServiceMessageReceiver.java:214)
	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.run(ServerWorker.java:149)
	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.synapse.SynapseException: Could not build full log message: null
	at org.apache.synapse.mediators.AbstractMediator.handleException(AbstractMediator.java:285)
	at org.apache.synapse.mediators.builtin.LogMediator.getFullLogMessage(LogMediator.java:207)
	at org.apache.synapse.mediators.builtin.LogMediator.getLogMessage(LogMediator.java:131)
	at org.apache.synapse.mediators.builtin.LogMediator.mediate(LogMediator.java:95)
	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.base.SequenceMediator.mediate(SequenceMediator.java:214)
	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.MediatorFaultHandler.onFault(MediatorFaultHandler.java:86)
	at org.apache.synapse.FaultHandler.handleFault(FaultHandler.java:102)
	... 8 more






[ESBJAVA-5036] Unable to sendViaPost to url - connection within timeout of 30000 ms Created: 06/Mar/17  Updated: 06/Apr/17

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

Type: Bug Priority: High
Reporter: Carlos Gomez Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 1
Labels: ESB
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

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

 Description   

Sorry my English, i hope you can help me, every day at 8:39am we have an error buy when restart service of wso2carbon server ESB, work fine. This is part of log

TID: [-1234] [] [2017-03-05 08:18:35,593] INFO

{org.apache.axis2.transport.http.HTTPSender} - Unable to sendViaPost to urlhttps://10.124.2.77:9443/services/RemoteUserStoreManagerService {org.apache.axis2.transport.http.HTTPSender}

org.apache.commons.httpclient.ConnectTimeoutException: The host did not accept the connection within timeout of 30000 ms
at org.apache.commons.httpclient.protocol.ReflectionSocketFactory.createSocket(ReflectionSocketFactory.java:155)
at org.apache.commons.httpclient.protocol.SSLProtocolSocketFactory.createSocket(SSLProtocolSocketFactory.java:130)
at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707)
at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.open(MultiThreadedHttpConnectionManager.java:1361)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
at org.apache.axis2.transport.http.AbstractHTTPSender.executeMethod(AbstractHTTPSender.java:630)
at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:195)
at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:77)
at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:451)
at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:278)
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.um.ws.api.stub.RemoteUserStoreManagerServiceStub.getRoleListOfUser(RemoteUserStoreManagerServiceStub.java:5261)
at ve.com.credicard.gateway.mediator.AuthorizationMediator.mediate(AuthorizationMediator.java:89)
at org.apache.synapse.mediators.ext.ClassMediator.mediate(ClassMediator.java:78)
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.net.SocketTimeoutException: connect timed out
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:579)
at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:625)
at sun.reflect.GeneratedMethodAccessor50.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.commons.httpclient.protocol.ReflectionSocketFactory.createSocket(ReflectionSocketFactory.java:140)
... 29 more



 Comments   
Comment by Kyrylo Levytskyi [ 06/Apr/17 ]

Hi Carlos,

Did you find a solution for the issue? We have the same error.

Kind Regards,
Kirill Levitskiy





[ESBJAVA-5032] ESB using a large heap memory when processing files through VFS proxy, using an iterator mediator Created: 01/Mar/17  Updated: 01/Mar/17

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

Type: Improvement Priority: High
Reporter: Sameera Ramasinghe 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   

When trying to process files > 200mb through a VFS proxy, which uses an iterator mediator. If the number of tags in the input xml, matching the iterator expression is too large, a java heap OOM exception occurs.






[ESBJAVA-5023] Incorrect error message in call-template with-param element Created: 21/Feb/17  Updated: 21/Feb/17

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

Type: Improvement Priority: High
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   

When there is an empty with-param element is configured in call-template, it throws exception with description "SynapseException: The 'key' attribute is required for the XSLT mediator." although it is not related to XSLT mediator.

Following is the call-template sample;

<call-template target="sampleTemplate">
<with-param/>
<with-param name="parameter1" value="abc"/>
</call-template>



 Comments   
Comment by Jagath Ariyarathne [ 21/Feb/17 ]

Fix with https://github.com/wso2/wso2-synapse/pull/706





[ESBJAVA-5024] Synapse.properties input stream is not properly closed Created: 21/Feb/17  Updated: 21/Feb/17

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

Type: Bug Priority: High
Reporter: Bhathiya Jayasekara 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   

Property file input stream is not closed after reading the file.

https://github.com/wso2/wso2-synapse/blob/v2.1.7-wso2v3/modules/commons/src/main/java/org/apache/synapse/commons/util/MiscellaneousUtil.java#L174:L181






[ESBJAVA-5003] Errors when executing identity migration client scripts for ESB 481/490 to 500 migration Created: 24/Jan/17  Updated: 25/Jan/17

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

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

OS - Ubuntu
DB - mysql 5.6


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

 Description   

Observed below "table not found" exception when upgrading the user management database schema in ESB481 to ESB500 migration using the "-Dmigrate -DmigrateUMData -Dcomponent=identity" command as mentioned in [1].

[2017-01-24 11:57:51,560]  INFO - RuleEngineConfigDS Successfully registered the Rule Config service
[2017-01-24 11:57:51,603] ERROR - MigrateFrom5to510 Error while migrating databases
org.wso2.carbon.identity.base.IdentityException: Error while migrating user management data
	at org.wso2.carbon.identity.base.IdentityException.error(IdentityException.java:162)
	at org.wso2.carbon.is.migration.client.MigrateFrom5to510.migrateUMData(MigrateFrom5to510.java:655)
	at org.wso2.carbon.is.migration.client.MigrateFrom5to510.databaseMigration(MigrateFrom5to510.java:197)
	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.wso2.carbon.identity.core.internal.IdentityCoreServiceComponent.activate(IdentityCoreServiceComponent.java:119)
	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: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: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: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: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)
Caused by: org.h2.jdbc.JdbcSQLException: Table "SP_APP" not found; SQL statement:
SELECT APP_NAME, TENANT_ID FROM SP_APP [42102-140]
	at org.h2.message.DbException.getJdbcSQLException(DbException.java:327)
	at org.h2.message.DbException.get(DbException.java:167)
	at org.h2.message.DbException.get(DbException.java:144)
	at org.h2.command.Parser.readTableOrView(Parser.java:4498)
	at org.h2.command.Parser.readTableFilter(Parser.java:1011)
	at org.h2.command.Parser.parseSelectSimpleFromPart(Parser.java:1577)
	at org.h2.command.Parser.parseSelectSimple(Parser.java:1682)
	at org.h2.command.Parser.parseSelectSub(Parser.java:1571)
	at org.h2.command.Parser.parseSelectUnion(Parser.java:1416)
	at org.h2.command.Parser.parseSelect(Parser.java:1404)
	at org.h2.command.Parser.parsePrepared(Parser.java:392)
	at org.h2.command.Parser.parse(Parser.java:275)
	at org.h2.command.Parser.parse(Parser.java:247)
	at org.h2.command.Parser.prepare(Parser.java:201)
	at org.h2.command.Parser.prepareCommand(Parser.java:214)
	at org.h2.engine.Session.prepareLocal(Session.java:434)
	at org.h2.engine.Session.prepareCommand(Session.java:384)
	at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1071)
	at org.h2.jdbc.JdbcPreparedStatement.<init>(JdbcPreparedStatement.java:71)
	at org.h2.jdbc.JdbcConnection.prepareStatement(JdbcConnection.java:234)
	at sun.reflect.GeneratedMethodAccessor28.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at org.apache.tomcat.jdbc.pool.ProxyConnection.invoke(ProxyConnection.java:126)
	at org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:109)
	at org.wso2.carbon.ndatasource.rdbms.ConnectionRollbackOnReturnInterceptor.invoke(ConnectionRollbackOnReturnInterceptor.java:51)
	at org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:109)
	at org.apache.tomcat.jdbc.pool.interceptor.AbstractCreateStatementInterceptor.invoke(AbstractCreateStatementInterceptor.java:67)
	at org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:109)
	at org.apache.tomcat.jdbc.pool.interceptor.ConnectionState.invoke(ConnectionState.java:153)
	at org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:109)
	at org.apache.tomcat.jdbc.pool.TrapException.invoke(TrapException.java:41)
	at org.apache.tomcat.jdbc.pool.JdbcInterceptor.invoke(JdbcInterceptor.java:109)
	at org.apache.tomcat.jdbc.pool.DisposableConnectionFacade.invoke(DisposableConnectionFacade.java:80)
	at com.sun.proxy.$Proxy18.prepareStatement(Unknown Source)
	at org.wso2.carbon.is.migration.client.MigrateFrom5to510.migrateUMData(MigrateFrom5to510.java:637)
	... 66 more

db scripts included in the "migration-5.0.0SP1_to_5.1.0" directory contains some alter statements for "SP_APP" table, but could not find a create table query.

Note: Verified the dbscripts in IS500 SP1 pack and it contains the SP_APP create table query.

[1] https://docs.wso2.com/display/ESB500/Upgrading+from+a+Previous+Release






[ESBJAVA-5090] Maximum redelivery attempts value is not reflected correctly in Message Processor UI Created: 28/Apr/17  Updated: 03/May/17

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

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

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

 Description   

Even the value of "Maximum redelivery attempts" is changed from Message processor UI, it is not updated in UI. But it is saved correctly in file system and functionality is working fine.



 Comments   
Comment by Jagath Ariyarathne [ 28/Apr/17 ]

This can be fixed with attached diff. patch.diff

Comment by Manorama Perera [ 03/May/17 ]

Fixed in https://github.com/wso2/carbon-mediation/pull/824





[ESBJAVA-5083] Disabling the MTOM failed when response sends back to client in ESB passthrough transport Created: 19/Apr/17  Updated: 20/Apr/17

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

Type: Bug Priority: High
Reporter: ajanthan e Assignee: Hasitha Amal De Silva
Resolution: Unresolved Votes: 0
Labels: esb, passthrough
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   

1) When using NHTTP transport

  • When we send a text/xml and doing the MTOM conversion as mentioned under "NHTTP Transport Scenario" if we enable or disable MTOM then able to observe that the SOAP UI receives message with and without MTOM.
  • Also sent the large binary, it able return the message without getting any timeout.

2) When using Passthrough transport

  • If we send a text/xml message and prepare the proxy service as specified under "Passthrough Transport Scenario". Then we can observe that the response sent back to SOAP client is still mtom enabled message.
  • Also when request have a large binary attached to the SOAP message, getting a timeout.

Passthrough Transport Scenario
----------------------------------------------

From default passthrough axis2.xml, the difference were the enableMTOM and enableSWA is optional and the multipart/form-data and multipart/related content type will use the BinaryRelayBuilder and ExpandingMessageFormatter. ( In a fresh pack of ESB5.0.0 done the below ).

Created a front proxy as below. This will convert the normal text/xml to MTOM and passed to the backend.

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="MtomEnabledBackEndOUT"
       startOnLoad="true"
       statistics="disable"
       trace="disable"
       transports="https,http">
   <target>
      <inSequence>
         <log level="custom">
            <property name="STATUS"
                      value="-------------------------MtomEnabledBackEndOUT IN Invoked-------------------"/>
         </log>
         <property name="enableMTOM" scope="axis2" value="true"/>
         <property name="messageType"
                   scope="axis2"
                   type="STRING"
                   value="multipart/related"/>
         <send>
            <endpoint>
               <address uri="http://ajanthan-ThinkPad-T440p:8089/services/MtomEnabledBackEnd"/>
            </endpoint>
         </send>
      </inSequence>
      <outSequence>
         <log level="custom">
            <property name="STATUS"
                      value="-------------------------MtomEnabledBackEndOUT OUTSEQ Invoked-------------------"/>
         </log>
         <property name="enableMTOM" scope="axis2" value="false"/>
         <send/>
      </outSequence>
   </target>
   <parameter name="enableMTOM">false</parameter>
   <description/>
</proxy>
        

The backend proxy is as below, this will just respond back the MTOM message to First Proxy.

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="MtomEnabledBackEnd"
       startOnLoad="true"
       statistics="disable"
       trace="disable"
       transports="https,http">
   <target>
      <inSequence>
         <log level="custom">
            <property name="STATUS"
                      value="-------------------------MtomEnabledBackEnd Invoked-------------------"/>
         </log>
         <respond/>
      </inSequence>
   </target>
   <description/>
</proxy>
    

When capturing the OUT using the TCPMon.
----------------------------------------------------------------

POST /services/MtomEnabledBackEnd HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: multipart/related
SOAPAction: "urn:echoString"
Transfer-Encoding: chunked
Host: ajanthan-ThinkPad-T440p:8089
Connection: Keep-Alive
User-Agent: Synapse-PT-HttpComponents-NIO
 
295
--MIMEBoundary_016e3bef7d78b5fd0bf0e040de6bdcb7475a4ae0e846c04f
Content-Type: application/xop+xml; charset=UTF-8; type="text/xml"
Content-Transfer-Encoding: binary
Content-ID: <0.716e3bef7d78b5fd0bf0e040de6bdcb7475a4ae0e846c04f@apache.org>
 
<?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:echo="http://echo.services.core.carbon.wso2.org">
   <soapenv:Header/>
   <soapenv:Body>
      <echo:echoString>
         <!--Optional:-->
         <in>test5</in>
      </echo:echoString>
   </soapenv:Body>
</soapenv:Envelope>
--MIMEBoundary_016e3bef7d78b5fd0bf0e040de6bdcb7475a4ae0e846c04f--
 
0

When capture the return from the backend:
-------------------------------------------------------------

HTTP/1.1 200 OK
Host: ajanthan-ThinkPad-T440p:8089
SOAPAction: "urn:echoString"
Accept-Encoding: gzip,deflate
messageType: multipart/related
Content-Type: multipart/related
Date: Tue, 18 Apr 2017 12:26:31 GMT
Transfer-Encoding: chunked
Connection: Keep-Alive
 
295
--MIMEBoundary_016e3bef7d78b5fd0bf0e040de6bdcb7475a4ae0e846c04f
Content-Type: application/xop+xml; charset=UTF-8; type="text/xml"
Content-Transfer-Encoding: binary
Content-ID: <0.716e3bef7d78b5fd0bf0e040de6bdcb7475a4ae0e846c04f@apache.org>
 
<?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:echo="http://echo.services.core.carbon.wso2.org">
   <soapenv:Header/>
   <soapenv:Body>
      <echo:echoString>
         <!--Optional:-->
         <in>test5</in>
      </echo:echoString>
   </soapenv:Body>
</soapenv:Envelope>
--MIMEBoundary_016e3bef7d78b5fd0bf0e040de6bdcb7475a4ae0e846c04f--
 
0

The Message which reaches the SOAP UI
-------------------------------------------------------------

HTTP/1.1 200 OK
Host: ajanthan-ThinkPad-T440p:8089
SOAPAction: "urn:echoString"
Accept-Encoding: gzip,deflate
messageType: multipart/related
Content-Type: multipart/related
Date: Tue, 18 Apr 2017 12:26:31 GMT
Transfer-Encoding: chunked
Connection: Keep-Alive
 
--MIMEBoundary_016e3bef7d78b5fd0bf0e040de6bdcb7475a4ae0e846c04f
Content-Type: application/xop+xml; charset=UTF-8; type="text/xml"
Content-Transfer-Encoding: binary
Content-ID: <0.716e3bef7d78b5fd0bf0e040de6bdcb7475a4ae0e846c04f@apache.org>
 
<?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:echo="http://echo.services.core.carbon.wso2.org">
   <soapenv:Header/>
   <soapenv:Body>
      <echo:echoString>
         <!--Optional:-->
         <in>test5</in>
      </echo:echoString>
   </soapenv:Body>
</soapenv:Envelope>
--MIMEBoundary_016e3bef7d78b5fd0bf0e040de6bdcb7475a4ae0e846c04f--

Based on the above even if we disable the MTOM, the message passed to Client still MTOM enabled.

NHTTP Transport Scenario
---------------------------------------

Used client axis2.xml, which is used for nhttp transport.

Created a fron proxy as below:

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="MtomEnabledBackEndOUT"
       startOnLoad="true"
       statistics="disable"
       trace="disable"
       transports="https,http">
   <target>
      <inSequence>
         <log level="custom">
            <property name="STATUS"
                      value="-------------------------MtomEnabledBackEndOUT IN Invoked-------------------"/>
         </log>
         <property name="enableMTOM" scope="axis2" value="true"/>
         <send>
            <endpoint>
               <address uri="http://ajanthan-ThinkPad-T440p:8089/services/MtomEnabledBackEnd"/>
            </endpoint>
         </send>
      </inSequence>
      <outSequence>
         <log level="custom">
            <property name="STATUS"
                      value="-------------------------MtomEnabledBackEndOUT OUTSEQ Invoked-------------------"/>
         </log>
         <property name="enableMTOM" scope="axis2" value="false"/>
         <send/>
      </outSequence>
   </target>
   <description/>
</proxy>

Created a backend as below:

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="MtomEnabledBackEnd"
       startOnLoad="true"
       statistics="disable"
       trace="disable"
       transports="https,http">
   <target>
      <inSequence>
         <log level="custom">
            <property name="STATUS"
                      value="-------------------------MtomEnabledBackEnd Invoked-------------------"/>
         </log>
         <respond/>
      </inSequence>
   </target>
   <description/>
</proxy>

Now sent a text/xml to the first proxy.

Captured OUT through proxy:
-----------------------------------------

POST /services/MtomEnabledBackEnd HTTP/1.1
Content-Type: multipart/related; boundary="MIMEBoundary_f27d3b562db624472b28528b7af8e9005bcf7de756cd6c24"; type="application/xop+xml"; start="<0.e27d3b562db624472b28528b7af8e9005bcf7de756cd6c24@apache.org>"; start-info="text/xml"
Accept-Encoding: gzip,deflate
SOAPAction: "urn:echoString"
Transfer-Encoding: chunked
Host: ajanthan-ThinkPad-T440p:8089
Connection: Keep-Alive
User-Agent: Synapse-HttpComponents-NIO
 
295
--MIMEBoundary_f27d3b562db624472b28528b7af8e9005bcf7de756cd6c24
Content-Type: application/xop+xml; charset=UTF-8; type="text/xml"
Content-Transfer-Encoding: binary
Content-ID: <0.e27d3b562db624472b28528b7af8e9005bcf7de756cd6c24@apache.org>
 
<?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:echo="http://echo.services.core.carbon.wso2.org">
   <soapenv:Header/>
   <soapenv:Body>
      <echo:echoString>
         <!--Optional:-->
         <in>test5</in>
      </echo:echoString>
   </soapenv:Body>
</soapenv:Envelope>
--MIMEBoundary_f27d3b562db624472b28528b7af8e9005bcf7de756cd6c24--
 
0

Captured Response to ESB:
---------------------------------------

HTTP/1.1 200 OK
Content-Type: multipart/related; boundary="MIMEBoundary_e27d3b562db62447d428528b7af8e900c6cf7de756cd6c24"; type="application/xop+xml"; start="<0.d27d3b562db62447d428528b7af8e900c6cf7de756cd6c24@apache.org>"; start-info="text/xml"
Accept-Encoding: gzip,deflate
Host: ajanthan-ThinkPad-T440p:8089
SOAPAction: "urn:echoString"
Date: Tue, 18 Apr 2017 13:00:25 GMT
Transfer-Encoding: chunked
Connection: Keep-Alive
 
a5
--MIMEBoundary_e27d3b562db62447d428528b7af8e900c6cf7de756cd6c24
Content-Type: application/xop+xml; charset=UTF-8; type="text/xml"
Content-Transfer-Encoding: binary
1f0
 
Content-ID: <0.d27d3b562db62447d428528b7af8e900c6cf7de756cd6c24@apache.org>
 
<?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:echo="http://echo.services.core.carbon.wso2.org">
   <soapenv:Header/>
   <soapenv:Body>
      <echo:echoString>
         <!--Optional:-->
         <in>test5</in>
      </echo:echoString>
   </soapenv:Body>
</soapenv:Envelope>
--MIMEBoundary_e27d3b562db62447d428528b7af8e900c6cf7de756cd6c24--
 
0

The message goes to SOAP UI is below:

HTTP/1.1 200 OK
Content-Type: text/xml; charset=UTF-8
Accept-Encoding: gzip,deflate
Host: ajanthan-ThinkPad-T440p:8089
SOAPAction: "urn:echoString"
Date: Tue, 18 Apr 2017 13:00:25 GMT
Transfer-Encoding: chunked
Connection: Keep-Alive
 
<?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:echo="http://echo.services.core.carbon.wso2.org">
   <soapenv:Header/>
   <soapenv:Body>
      <echo:echoString>
         <!--Optional:-->
         <in>test5</in>
      </echo:echoString>
   </soapenv:Body>
</soapenv:Envelope>

Means the mtom has been disabled. Also tried setting it to enabled that also worked and able to receive MTOM enabled message at SOAP UI.






[ESBJAVA-5005] Mailto Transport - Polling stops when laste email is already read. Created: 27/Jan/17  Updated: 27/Jan/17

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

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

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

 Description   

Issue reproduced with Outlook email server. When there are multiple emails (for example 5 emails) and last email is already set as "read", next iteration is not scheduled in MailTransportListener and will not poll emails anymore.

Sample synapse configuration attached.






[ESBJAVA-5001] GET request without Content-Type header modified with application/x-www-form-urlencoded Created: 24/Jan/17  Updated: 24/Jan/17

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

Type: Bug Priority: High
Reporter: Vijitha Ekanayake Assignee: Vijitha Ekanayake
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: Yes

 Description   

When "Content-Type" header is preserved in request path ESB sends Content-Type as application/x-www-form-urlencoded for HTTP GET requests.

TID: [-1] [] [2017-01-20 15:11:37,820] DEBUG

{org.apache.synapse.transport.http.wire} - >> "GET /stockquote/view/IBM HTTP/1.1[\r][\n]" {org.apache.synapse.transport.http.wire}

TID: [-1] [] [2017-01-20 15:11:37,821] DEBUG

{org.apache.synapse.transport.http.wire} - >> "Host: 10.100.5.195:8280[\r][\n]" {org.apache.synapse.transport.http.wire}

TID: [-1] [] [2017-01-20 15:11:37,821] DEBUG

{org.apache.synapse.transport.http.wire} - >> "User-Agent: curl/7.43.0[\r][\n]" {org.apache.synapse.transport.http.wire}

TID: [-1] [] [2017-01-20 15:11:37,821] DEBUG

{org.apache.synapse.transport.http.wire} - >> "Accept: /[\r][\n]" {org.apache.synapse.transport.http.wire}

TID: [-1] [] [2017-01-20 15:11:37,821] DEBUG

{org.apache.synapse.transport.http.wire} - >> "[\r][\n]" {org.apache.synapse.transport.http.wire}

TID: [-1234] [] [2017-01-20 15:11:37,871] INFO

{org.apache.synapse.core.axis2.TimeoutHandler} - This engine will expire all callbacks after : 120 seconds, irrespective of the timeout action, after the specified or optional timeout {org.apache.synapse.core.axis2.TimeoutHandler}

TID: [-1] [] [2017-01-20 15:11:37,889] DEBUG

{org.apache.synapse.transport.http.wire} - << "POST /services/SimpleStockQuoteService HTTP/1.1[\r][\n]" {org.apache.synapse.transport.http.wire}

TID: [-1] [] [2017-01-20 15:11:37,890] DEBUG

{org.apache.synapse.transport.http.wire} - << "Content-Type: application/x-www-form-urlencoded[\r][\n]" {org.apache.synapse.transport.http.wire}

TID: [-1] [] [2017-01-20 15:11:37,890] DEBUG

{org.apache.synapse.transport.http.wire} - << "Accept: /[\r][\n]" {org.apache.synapse.transport.http.wire}

TID: [-1] [] [2017-01-20 15:11:37,890] DEBUG

{org.apache.synapse.transport.http.wire} - << "SOAPAction: "getQuote"[\r][\n]" {org.apache.synapse.transport.http.wire}

TID: [-1] [] [2017-01-20 15:11:37,890] DEBUG

{org.apache.synapse.transport.http.wire} - << "Transfer-Encoding: chunked[\r][\n]" {org.apache.synapse.transport.http.wire}

TID: [-1] [] [2017-01-20 15:11:37,890] DEBUG

{org.apache.synapse.transport.http.wire} - << "Host: localhost:9000[\r][\n]" {org.apache.synapse.transport.http.wire}

TID: [-1] [] [2017-01-20 15:11:37,890] DEBUG

{org.apache.synapse.transport.http.wire} - << "Connection: Keep-Alive[\r][\n]" {org.apache.synapse.transport.http.wire}

TID: [-1] [] [2017-01-20 15:11:37,890] DEBUG

{org.apache.synapse.transport.http.wire} - << "User-Agent: Synapse-PT-HttpComponents-NIO[\r][\n]" {org.apache.synapse.transport.http.wire}

TID: [-1] [] [2017-01-20 15:11:37,890] DEBUG

{org.apache.synapse.transport.http.wire} - << "[\r][\n]" {org.apache.synapse.transport.http.wire}

TID: [-1] [] [2017-01-20 15:11:37,891] DEBUG

{org.apache.synapse.transport.http.wire} - << "113[\r][\n]" {org.apache.synapse.transport.http.wire}

TID: [-1] [] [2017-01-20 15:11:37,891] DEBUG

{org.apache.synapse.transport.http.wire} - << "<?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><m0:getQuote xmlns:m0="http://services.samples"><m0:request><m0:symbol>IBM</m0:symbol></m0:request></m0:getQuote></soapenv:Body></soapenv:Envelope>[\r][\n]" {org.apache.synapse.transport.http.wire}

TID: [-1] [] [2017-01-20 15:11:37,891] DEBUG

{org.apache.synapse.transport.http.wire} - << "0[\r][\n]" {org.apache.synapse.transport.http.wire}

TID: [-1] [] [2017-01-20 15:11:37,891] DEBUG

{org.apache.synapse.transport.http.wire} - << "[\r][\n]" {org.apache.synapse.transport.http.wire}




[ESBJAVA-4987] HTTP request with a query string parameter is routed to an incorrect API resource Created: 02/Jan/17  Updated: 02/Jan/17

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

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

Alpinelinux
jdk-8u102


Attachments: XML File test-api.xml    
Severity: Major
Estimated Complexity: Unknown
Test cases added: Yes

 Description   

GIVEN attached API configuration
WHEN curl -X GET "http://localhost:8280/test-api/test?param=fuu"
THEN resource with /test?param=

{param}

should run

Instead the request is routed to the resource WITHOUT the query string parameter.






[ESBJAVA-4977] Cannot Enrich a property when value of the property is OMElement Created: 14/Dec/16  Updated: 22/Dec/16

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

Type: Bug Priority: High
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   

Please find the sample configurations.

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
name="nnnn"
transports="https,http"
statistics="disable"
trace="disable"
startOnLoad="true">
<target>
<inSequence>
<log/>
<property name="foo">
<root xmlns="">
<test>
<aa>ff</aa>
<kk>aaa</kk>
</test>
</root>
</property>
<property name="transportHeader" scope="default">
<foo xmlns=""/>
</property>
<enrich>
<source type="property" clone="true" property="foo"/>
<target type="property" action="child" property="transportHeader"/>
</enrich>
<log level="custom">
<property name="ModifiedHeader" expression="get-property('transportHeader')"/>
</log>
<property name="header1"
expression="get-property('transportHeader')"
scope="transport"/>
<respond/>
</inSequence>
</target>
<description/>
</proxy>



 Comments   
Comment by Amjadh Ifthikar [ 22/Dec/16 ]

PR for the fix
https://github.com/wso2/wso2-synapse/pull/685





[ESBJAVA-5120] Failover Endpoint in ESB4.9.0 not retrying when there is a Connection Reset Exception Created: 07/Jun/17  Updated: 07/Jun/17

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

Type: Bug Priority: High
Reporter: ajanthan e Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: esb, failoverendpoint
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   

Reproducing Steps
-------------------------

1) In a fresh ESB4.9.0 create a proxy service as below:

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="FailoverCheckProxy"
       transports="https,http"
       statistics="disable"
       trace="disable"
       startOnLoad="true">
   <target>
      <inSequence onError="fault_sequence">
         <log level="custom">
            <property name="STATUS"
                      value="-----------------FailoverCheckProxy Invoked----------------------"/>
         </log>
         <call>
            <endpoint name="CBSSPersonServiceBackendEP_failover">
               <failover>
                  <endpoint name="EP1">
                     <address uri="http://localhost:8290">
                        <timeout>
                           <responseAction>fault</responseAction>
                        </timeout>
                        <suspendOnFailure>
                           <initialDuration>1000</initialDuration>
                           <progressionFactor>1.0</progressionFactor>
                           <maximumDuration>1000</maximumDuration>
                        </suspendOnFailure>
                        <markForSuspension>
                           <errorCodes>101500,101503,101504</errorCodes>
                           <retriesBeforeSuspension>4</retriesBeforeSuspension>
                           <retryDelay>1</retryDelay>
                        </markForSuspension>
                     </address>
                  </endpoint>
               </failover>
            </endpoint>
         </call>
         <log level="full"/>
      </inSequence>
      <outSequence>
         <send/>
      </outSequence>
   </target>
   <description/>
</proxy>
                                

2) Up the below Java Application to reproduce the Connection Reset Exception ( http://localhost:8290 ).

package com.custom.connection.peer;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.ObjectOutputStream;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class EchoServer {
	public static void main(String[] args) throws IOException {
		int portNumber = 8290;
		ServerSocket serverSocket = new ServerSocket(portNumber);
		while (true) {
			try {
				Socket clientSocket = serverSocket.accept();
				clientSocket.setSoLinger(true, 0);
				PrintWriter out = new PrintWriter(
						clientSocket.getOutputStream(), true);
				BufferedReader in = new BufferedReader(new InputStreamReader(
						clientSocket.getInputStream()));
				String inputLine;

				while ((inputLine = in.readLine()) != null) {
					System.out.println("test..");
					System.out.println(inputLine);
					clientSocket.close();					
				}
			} catch (Exception ex) {
				System.out.println("error");
			}
		}
	}
	
}

3) Send a request to proxy service and we can see that the retry is not happening and ESB will wait after the lat line of this log.

[2017-06-07 12:20:52,886] DEBUG - SourceHandler http-incoming-1: Connected
[2017-06-07 12:20:52,888] DEBUG - wire >> "POST /services/FailoverCheckProxy HTTP/1.1[\r][\n]"
[2017-06-07 12:20:52,888] DEBUG - wire >> "Accept-Encoding: gzip,deflate[\r][\n]"
[2017-06-07 12:20:52,888] DEBUG - wire >> "Content-Type: text/xml;charset=UTF-8[\r][\n]"
[2017-06-07 12:20:52,888] DEBUG - wire >> "SOAPAction: urn:echoString[\r][\n]"
[2017-06-07 12:20:52,888] DEBUG - wire >> "Content-Length: 319[\r][\n]"
[2017-06-07 12:20:52,889] DEBUG - wire >> "Host: ajanthan-ThinkPad-T440p:8280[\r][\n]"
[2017-06-07 12:20:52,889] DEBUG - wire >> "Connection: Keep-Alive[\r][\n]"
[2017-06-07 12:20:52,889] DEBUG - wire >> "User-Agent: Apache-HttpClient/4.1.1 (java 1.5)[\r][\n]"
[2017-06-07 12:20:52,889] DEBUG - wire >> "[\r][\n]"
[2017-06-07 12:20:52,889] DEBUG - wire >> "<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:echo="http://echo.services.core.carbon.wso2.org">[\n]"
[2017-06-07 12:20:52,889] DEBUG - wire >> "   <soapenv:Header/>[\n]"
[2017-06-07 12:20:52,889] DEBUG - wire >> "   <soapenv:Body>[\n]"
[2017-06-07 12:20:52,889] DEBUG - wire >> "      <echo:echoString>[\n]"
[2017-06-07 12:20:52,890] DEBUG - wire >> "         <!--Optional:-->[\n]"
[2017-06-07 12:20:52,890] DEBUG - wire >> "         <in>Test From Client</in>[\n]"
[2017-06-07 12:20:52,890] DEBUG - wire >> "      </echo:echoString>[\n]"
[2017-06-07 12:20:52,890] DEBUG - wire >> "   </soapenv:Body>[\n]"
[2017-06-07 12:20:52,890] DEBUG - wire >> "</soapenv:Envelope>"
[2017-06-07 12:20:52,895] DEBUG - SourceHandler http-incoming-1: POST /services/FailoverCheckProxy HTTP/1.1
[2017-06-07 12:20:52,905] DEBUG - SourceHandler http-incoming-1: Input ready
[2017-06-07 12:20:52,906] DEBUG - ServerWorker Starting a new Server Worker instance
[2017-06-07 12:20:52,906] DEBUG - SourceHandler http-incoming-1: Content decoder [content length: 319; pos: 319; completed: true]
[2017-06-07 12:20:52,915] DEBUG - RelayUtils Content Type is text/xml;charset=UTF-8
[2017-06-07 12:20:52,921]  INFO - LogMediator STATUS = -----------------FailoverCheckProxy Invoked----------------------
[2017-06-07 12:20:52,922]  INFO - FailoverEndpoint [AJAN] Endpoint Name New: EP1
[2017-06-07 12:20:52,923]  INFO - FailoverEndpoint [AJAN] endpoint.readyToSend() Value: true
[2017-06-07 12:20:52,923]  INFO - FailoverEndpoint [AJAN] Inside if endpoint.readyToSend() value: true
[2017-06-07 12:20:52,923] DEBUG - RelayUtils Content Type is text/xml;charset=UTF-8
[2017-06-07 12:20:52,929]  INFO - TimeoutHandler This engine will expire all callbacks after : 120 seconds, irrespective of the timeout action, after the specified or optional timeout
[2017-06-07 12:20:52,934] DEBUG - TargetConnections Trying to get a connection {}->http://localhost:8290
[2017-06-07 12:20:52,935] DEBUG - HostConnections Creating new connection pool: {}->http://localhost:8290
[2017-06-07 12:20:52,936] DEBUG - ConnectCallback Connected to remote address: localhost/127.0.0.1:8290 from local address: /127.0.0.1:24747
[2017-06-07 12:20:52,941] DEBUG - TargetHandler http-outgoing-1: Connected (org.apache.synapse.transport.passthru.connections.HostConnections@6ddc1846)
[2017-06-07 12:20:52,942] DEBUG - HostConnections New connection {}->http://localhost:8290 is added to the free list
[2017-06-07 12:20:52,942] DEBUG - DeliveryAgent Submitting new request to the connection: http-outgoing-1
[2017-06-07 12:20:52,946] DEBUG - TargetHandler http-outgoing-1: Request ready
[2017-06-07 12:20:52,950] DEBUG - TargetHandler http-outgoing-1: Output ready
[2017-06-07 12:20:52,951] DEBUG - TargetHandler http-outgoing-1: Content encoder [chunk-coded; completed: true]
[2017-06-07 12:20:52,951] DEBUG - wire << "POST  HTTP/1.1[\r][\n]"
[2017-06-07 12:20:52,951] DEBUG - wire << "Accept-Encoding: gzip,deflate[\r][\n]"
[2017-06-07 12:20:52,951] DEBUG - wire << "Content-Type: text/xml; charset=UTF-8[\r][\n]"
[2017-06-07 12:20:52,951] DEBUG - wire << "SOAPAction: "urn:echoString"[\r][\n]"
[2017-06-07 12:20:52,952] DEBUG - wire << "Transfer-Encoding: chunked[\r][\n]"
[2017-06-07 12:20:52,952] DEBUG - wire << "Host: localhost:8290[\r][\n]"
[2017-06-07 12:20:52,952] DEBUG - wire << "Connection: Keep-Alive[\r][\n]"
[2017-06-07 12:20:52,952] DEBUG - wire << "User-Agent: Synapse-PT-HttpComponents-NIO[\r][\n]"
[2017-06-07 12:20:52,952] DEBUG - wire << "[\r][\n]"
[2017-06-07 12:20:52,952] DEBUG - wire << "14b[\r][\n]"
[2017-06-07 12:20:52,952] DEBUG - wire << "<?xml version='1.0' encoding='UTF-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:echo="http://echo.services.core.carbon.wso2.org"><soapenv:Body>[\n]"
[2017-06-07 12:20:52,952] DEBUG - wire << "      <echo:echoString>[\n]"
[2017-06-07 12:20:52,953] DEBUG - wire << "         <!--Optional:-->[\n]"
[2017-06-07 12:20:52,953] DEBUG - wire << "         <in>Test From Client</in>[\n]"
[2017-06-07 12:20:52,953] DEBUG - wire << "      </echo:echoString>[\n]"
[2017-06-07 12:20:52,954] DEBUG - wire << "   </soapenv:Body></soapenv:Envelope>[\r][\n]"
[2017-06-07 12:20:52,954] DEBUG - wire << "0[\r][\n]"
[2017-06-07 12:20:52,955] DEBUG - wire << "[\r][\n]"
[2017-06-07 12:20:53,234] ERROR - TargetHandler http-outgoing-1: Connection reset by peer
java.io.IOException: Connection reset by peer
	at sun.nio.ch.FileDispatcherImpl.read0(Native Method)
	at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)
	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
	at sun.nio.ch.IOUtil.read(IOUtil.java:197)
	at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:384)
	at org.apache.synapse.transport.http.conn.LoggingIOSession$LoggingByteChannel.read(LoggingIOSession.java:188)
	at org.apache.http.impl.nio.reactor.SessionInputBufferImpl.fill(SessionInputBufferImpl.java:164)
	at org.apache.http.impl.nio.codecs.AbstractMessageParser.fillBuffer(AbstractMessageParser.java:136)
	at org.apache.synapse.transport.http.conn.LoggingNHttpClientConnection$LoggingNHttpMessageParser.fillBuffer(LoggingNHttpClientConnection.java:214)
	at org.apache.http.impl.nio.DefaultNHttpClientConnection.consumeInput(DefaultNHttpClientConnection.java:241)
	at org.apache.synapse.transport.http.conn.LoggingNHttpClientConnection.consumeInput(LoggingNHttpClientConnection.java:108)
	at org.apache.synapse.transport.passthru.ClientIODispatch.onInputReady(ClientIODispatch.java:83)
	at org.apache.synapse.transport.passthru.ClientIODispatch.onInputReady(ClientIODispatch.java:41)
	at org.apache.http.impl.nio.reactor.AbstractIODispatch.inputReady(AbstractIODispatch.java:113)
	at org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:159)
	at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:338)
	at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:316)
	at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:277)
	at org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:105)
	at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:586)
	at java.lang.Thread.run(Thread.java:745)
[2017-06-07 12:20:53,236]  WARN - TargetHandler Exception occured while before reading the response
[2017-06-07 12:20:53,236] DEBUG - TargetHandler http-outgoing-1: I/O error (Probably the keep-alive connection was closed):Connection reset by peer
[2017-06-07 12:20:53,237] DEBUG - TargetHandler http-outgoing-1: Closed
[2017-06-07 12:20:53,238] DEBUG - TargetHandler Connection closed by target host while in state REQUEST_READY. Response code : 2
[2017-06-07 12:20:53,238] DEBUG - TargetHandler http-outgoing-1: Keep-Alive Connection closed
[2017-06-07 12:20:53,241] DEBUG - TargetErrorHandler Sending Fault for Request with Message ID : urn:uuid:6723af35-74fb-48a7-bf19-1c4cfb0011f0
[2017-06-07 12:20:53,242]  WARN - EndpointContext Endpoint : EP1 is marked as TIMEOUT and will be retried : 3 more time/s after : Wed Jun 07 12:20:53 IST 2017 until its marked SUSPENDED for failure
[2017-06-07 12:20:53,243]  WARN - FailoverEndpoint Endpoint [CBSSPersonServiceBackendEP_failover] Detect a Failure in a child endpoint : Endpoint [EP1]
[2017-06-07 12:20:53,243]  INFO - FailoverEndpoint [AJAN] Endpoint Name New: EP1
[2017-06-07 12:20:53,243]  INFO - FailoverEndpoint [AJAN] endpoint.readyToSend() Value: true
[2017-06-07 12:20:53,243]  INFO - FailoverEndpoint [AJAN] Inside if endpoint.readyToSend() value: true
[2017-06-07 12:20:53,244] DEBUG - RelayUtils Content Type is text/xml;charset=UTF-8
[2017-06-07 12:20:53,245] DEBUG - TargetConnections Trying to get a connection {}->http://localhost:8290
[2017-06-07 12:20:53,245] DEBUG - ConnectCallback Connected to remote address: localhost/127.0.0.1:8290 from local address: /127.0.0.1:24749
[2017-06-07 12:20:53,246] DEBUG - TargetHandler http-outgoing-2: Connected (org.apache.synapse.transport.passthru.connections.HostConnections@6ddc1846)
[2017-06-07 12:20:53,246] DEBUG - HostConnections New connection {}->http://localhost:8290 is added to the free list
[2017-06-07 12:20:53,246] DEBUG - DeliveryAgent Submitting new request to the connection: http-outgoing-2

Thanks.
Ajanthan.






[ESBJAVA-5107] ESB failed to return 401, when there is a authentication failed in a Basic Authentication Secured Proxy Created: 31/May/17  Updated: 31/May/17

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

Type: Bug Priority: High
Reporter: ajanthan e 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: Yes

 Description   

Reproduce Steps
----------------------

ESB4.9.0 - Fresh Pack.

1) Create a policy as below:

<wsp:Policy wsu:Id="UTOverTransport" 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">
	<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>admin</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:RampartConfig>
	<sec:CarbonSecConfig xmlns:sec="http://www.wso2.org/products/carbon/security">
		<sec:Authorization>
			<sec:property name="org.wso2.carbon.security.allowedroles">Internal/everyone</sec:property>
		</sec:Authorization>
	</sec:CarbonSecConfig>
</wsp:Policy>

2) Secure the proxy with the policy file.

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="SecureProxyTest"
       transports="https,http"
       statistics="disable"
       trace="disable"
       startOnLoad="true">
   <target>
      <inSequence>
         <log level="custom">
            <property name="STATUS"
                      value="--------------------SecureProxyTest IN Invoked--------------------"/>
         </log>
         <send/>
      </inSequence>
      <outSequence>
         <log level="custom">
            <property name="STATUS"
                      value="--------------------SecureProxyTest OUT Invoked--------------------"/>
         </log>
         <send/>
      </outSequence>
      <faultSequence/>
   </target>
   <parameter name="ScenarioID">scenario1</parameter>
   <enableSec/>
   <policy key="conf:/policy/UserPolicy.xml"/>
   <description/>
</proxy>                                

3) Send a Request with addressing headers as below with ReplyTo:

Here: http://ajanthan-ThinkPad-T440p:8088/mockechoSoap11Binding - Is the mock Backend the message should be sent.
http://ajanthan-ThinkPad-T440p:8280/services/ReplyToProxy - Is the ReplyTo Destination.

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:echo="http://echo.services.core.carbon.wso2.org">
   <soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
      <wsa:To>http://ajanthan-ThinkPad-T440p:8088/mockechoSoap11Binding</wsa:To>
      <wsa:ReplyTo>
         <wsa:Address>http://ajanthan-ThinkPad-T440p:8280/services/ReplyToProxy</wsa:Address>
      </wsa:ReplyTo>
      <wsa:MessageID>urn:uuid:3c8e2dbb-fadf-4a97-bde1-2e8b79120f8f</wsa:MessageID>
      <wsa:Action>urn:echoString</wsa:Action>
      <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
         <wsu:Timestamp>
            <wsu:Created>2017-04-26T09:21:19.371Z</wsu:Created>
         </wsu:Timestamp>
         <wsse:UsernameToken>
            <wsse:Username>admin1</wsse:Username>
            <wsse:Password>admin</wsse:Password>
         </wsse:UsernameToken>
      </wsse:Security>
   </soapenv:Header>
   <soapenv:Body>
   <echo:echoString>
     <in>Test Message 1</in>
     </echo:echoString>
   </soapenv:Body>
</soapenv:Envelope>

4) After send the request the log will show that the message get back to SOAP UI is 500 Internal Server Error, not the expected 401.

[2017-05-31 12:50:51,978] DEBUG - wire >> "POST /services/SecureProxyTest HTTP/1.1[\r][\n]"
[2017-05-31 12:50:51,978] DEBUG - wire >> "Accept-Encoding: gzip,deflate[\r][\n]"
[2017-05-31 12:50:51,979] DEBUG - wire >> "Content-Type: text/xml;charset=UTF-8[\r][\n]"
[2017-05-31 12:50:51,979] DEBUG - wire >> "SOAPAction: "urn:echoString"[\r][\n]"
[2017-05-31 12:50:51,979] DEBUG - wire >> "Content-Length: 1207[\r][\n]"
[2017-05-31 12:50:51,979] DEBUG - wire >> "Host: ajanthan-ThinkPad-T440p:8243[\r][\n]"
[2017-05-31 12:50:51,979] DEBUG - wire >> "Connection: Keep-Alive[\r][\n]"
[2017-05-31 12:50:51,979] DEBUG - wire >> "User-Agent: Apache-HttpClient/4.1.1 (java 1.5)[\r][\n]"
[2017-05-31 12:50:51,979] DEBUG - wire >> "[\r][\n]"
[2017-05-31 12:50:51,992] DEBUG - wire >> "<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:echo="http://echo.services.core.carbon.wso2.org">[\n]"
[2017-05-31 12:50:51,992] DEBUG - wire >> "   <soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">[\n]"
[2017-05-31 12:50:51,992] DEBUG - wire >> "      <wsa:To>http://ajanthan-ThinkPad-T440p:8088/mockechoSoap11Binding</wsa:To>[\n]"
[2017-05-31 12:50:51,992] DEBUG - wire >> "      <wsa:ReplyTo>[\n]"
[2017-05-31 12:50:51,993] DEBUG - wire >> "         <wsa:Address>http://ajanthan-ThinkPad-T440p:8280/services/ReplyToProxy</wsa:Address>[\n]"
[2017-05-31 12:50:51,993] DEBUG - wire >> "      </wsa:ReplyTo>[\n]"
[2017-05-31 12:50:51,993] DEBUG - wire >> "      <wsa:MessageID>urn:uuid:3c8e2dbb-fadf-4a97-bde1-2e8b79120f8f</wsa:MessageID>[\n]"
[2017-05-31 12:50:51,993] DEBUG - wire >> "      <wsa:Action>urn:echoString</wsa:Action>[\n]"
[2017-05-31 12:50:51,993] DEBUG - wire >> "      <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">[\n]"
[2017-05-31 12:50:51,993] DEBUG - wire >> "         <wsu:Timestamp>[\n]"
[2017-05-31 12:50:51,994] DEBUG - wire >> "            <wsu:Created>2017-04-26T09:21:19.371Z</wsu:Created>[\n]"
[2017-05-31 12:50:51,994] DEBUG - wire >> "         </wsu:Timestamp>[\n]"
[2017-05-31 12:50:51,994] DEBUG - wire >> "         <wsse:UsernameToken>[\n]"
[2017-05-31 12:50:51,994] DEBUG - wire >> "            <wsse:Username>admin1</wsse:Username>[\n]"
[2017-05-31 12:50:51,994] DEBUG - wire >> "            <wsse:Password>admin</wsse:Password>[\n]"
[2017-05-31 12:50:51,995] DEBUG - wire >> "         </wsse:UsernameToken>[\n]"
[2017-05-31 12:50:51,995] DEBUG - wire >> "      </wsse:Security>[\n]"
[2017-05-31 12:50:51,995] DEBUG - wire >> "   </soapenv:Header>[\n]"
[2017-05-31 12:50:51,995] DEBUG - wire >> "   <soapenv:Body>[\n]"
[2017-05-31 12:50:51,995] DEBUG - wire >> "   <echo:echoString>[\n]"
[2017-05-31 12:50:51,995] DEBUG - wire >> "     <in>Test Message 1</in>[\n]"
[2017-05-31 12:50:51,995] DEBUG - wire >> "     </echo:echoString>[\n]"
[2017-05-31 12:50:51,995] DEBUG - wire >> "   </soapenv:Body>[\n]"
[2017-05-31 12:50:51,995] DEBUG - wire >> "</soapenv:Envelope>"
[2017-05-31 12:50:52,081] ERROR - AxisEngine The security token could not be authenticated or authorized; nested exception is: 
	javax.security.auth.callback.UnsupportedCallbackException: Check failed : System error
org.apache.axis2.AxisFault: The security token could not be authenticated or authorized; nested exception is: 
	javax.security.auth.callback.UnsupportedCallbackException: Check failed : System error
	at org.apache.rampart.handler.RampartReceiver.setFaultCodeAndThrowAxisFault(RampartReceiver.java:180)
	at org.apache.rampart.handler.RampartReceiver.invoke(RampartReceiver.java:95)
	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.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.apache.ws.security.WSSecurityException: The security token could not be authenticated or authorized; nested exception is: 
	javax.security.auth.callback.UnsupportedCallbackException: Check failed : System error
	at org.apache.ws.security.processor.UsernameTokenProcessor.handleUsernameToken(UsernameTokenProcessor.java:180)
	at org.apache.ws.security.processor.UsernameTokenProcessor.handleToken(UsernameTokenProcessor.java:61)
	at org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:332)
	at org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:249)
	at org.apache.rampart.RampartEngine.process(RampartEngine.java:214)
	at org.apache.rampart.handler.RampartReceiver.invoke(RampartReceiver.java:92)
	... 10 more
Caused by: javax.security.auth.callback.UnsupportedCallbackException: Check failed : System error
	at org.wso2.carbon.security.util.ServicePasswordCallbackHandler.handle(ServicePasswordCallbackHandler.java:112)
	at org.apache.rampart.TokenCallbackHandler.handle(TokenCallbackHandler.java:116)
	at org.apache.ws.security.processor.UsernameTokenProcessor.handleUsernameToken(UsernameTokenProcessor.java:168)
	... 15 more
[2017-05-31 12:50:52,083] ERROR - ServerWorker Error processing POST request for : /services/SecureProxyTest
org.apache.axis2.AxisFault: The security token could not be authenticated or authorized; nested exception is: 
	javax.security.auth.callback.UnsupportedCallbackException: Check failed : System error
	at org.apache.rampart.handler.RampartReceiver.setFaultCodeAndThrowAxisFault(RampartReceiver.java:180)
	at org.apache.rampart.handler.RampartReceiver.invoke(RampartReceiver.java:95)
	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.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.apache.ws.security.WSSecurityException: The security token could not be authenticated or authorized; nested exception is: 
	javax.security.auth.callback.UnsupportedCallbackException: Check failed : System error
	at org.apache.ws.security.processor.UsernameTokenProcessor.handleUsernameToken(UsernameTokenProcessor.java:180)
	at org.apache.ws.security.processor.UsernameTokenProcessor.handleToken(UsernameTokenProcessor.java:61)
	at org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:332)
	at org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:249)
	at org.apache.rampart.RampartEngine.process(RampartEngine.java:214)
	at org.apache.rampart.handler.RampartReceiver.invoke(RampartReceiver.java:92)
	... 10 more
Caused by: javax.security.auth.callback.UnsupportedCallbackException: Check failed : System error
	at org.wso2.carbon.security.util.ServicePasswordCallbackHandler.handle(ServicePasswordCallbackHandler.java:112)
	at org.apache.rampart.TokenCallbackHandler.handle(TokenCallbackHandler.java:116)
	at org.apache.ws.security.processor.UsernameTokenProcessor.handleUsernameToken(UsernameTokenProcessor.java:168)
	... 15 more
[2017-05-31 12:50:52,176] DEBUG - wire << "HTTP/1.1 500 Internal Server Error[\r][\n]"
[2017-05-31 12:50:52,176] DEBUG - wire << "Content-Type: text/html[\r][\n]"
[2017-05-31 12:50:52,176] DEBUG - wire << "Date: Wed, 31 May 2017 07:20:52 GMT[\r][\n]"
[2017-05-31 12:50:52,176] DEBUG - wire << "Transfer-Encoding: chunked[\r][\n]"
[2017-05-31 12:50:52,176] DEBUG - wire << "Connection: Keep-Alive[\r][\n]"
[2017-05-31 12:50:52,177] DEBUG - wire << "[\r][\n]"
[2017-05-31 12:50:52,177] DEBUG - wire << "1aa[\r][\n]"
[2017-05-31 12:50:52,177] DEBUG - wire << "<html><body><h1>Failed to process the request</h1><p>Error processing POST request for : /services/SecureProxyTest</p><p>The security token could not be authenticated or authorized; nested exception is: [\n]"
[2017-05-31 12:50:52,177] DEBUG - wire << "[0x9]javax.security.auth.callback.UnsupportedCallbackException: Check failed : System error</p></body></html><p>org.apache.axiom.om.impl.dom.ElementImpl cannot be cast to org.apache.axiom.soap.SOAPHeaderBlock</p></body></html>[\r][\n]"
[2017-05-31 12:50:52,177] DEBUG - wire << "0[\r][\n]"
[2017-05-31 12:50:52,177] DEBUG - wire << "[\r][\n]"

Thanks.
Ajanthan






[ESBJAVA-5126] PATCH request not working in blocking mode. Created: 19/Jun/17  Updated: 20/Jun/17

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

Type: Bug Priority: High
Reporter: Kanapriya Kuleswararajan 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. PATCH request not working with blocking mode. If the request is PATCH , then it execute the sendViaPost [1] and it gives following error.

Non - blocking

[2017-06-14 14:58:36,476] DEBUG - wire HTTPS-Sender I/O dispatcher-3 << "PATCH /api/data/v8.2/accounts(91618256718-8a4e-e711-80f7-c4346bad279c)?$select=name,creditonhold,address1_latitude HTTP/1.1[\r][\n]"
[2017-06-14 14:58:36,476] DEBUG - wire HTTPS-Sender I/O dispatcher-3 << "Prefer: return=representation[\r][\n]"
[2017-06-14 14:58:36,476] DEBUG - wire HTTPS-Sender I/O dispatcher-3 << "Accept-Language: en-US,en;q=0.8[\r][\n]"
[2017-06-14 14:58:36,476] DEBUG - wire HTTPS-Sender I/O dispatcher-3 << "Authorization: Bearer SUzI1NiIsIng1dCI6IjlGWERwYmZNRlQyU3ZRdVhoODQ2WVR3RUlCdyIsImtpZCI6IjlGWERwYmZNRlQyU3ZRdVhoODQ2WVR3RUlCdyJ9.eyJhdWQiOiJodHRwczovL3dzbzIxMjM0LmNybTUuZHluYW1pY3MuY29tLyIsImlzcyI6Imh0dHBzOi8vc3RzLndpbmRvd3MubmV0LzIxMzliNDZmLWE3ZjQtNGJiMS1iNDU4LWE0OWFmYWNjY2QwNS8iLCJpYXQiOjE0OTc0MzA0MzAsIm5iZiI6MTQ5NzQzMDQzMCwiZXhwIjoxNDk3NDM0MzMwLCJhY3IiOiIxIiwiYWlvIjoiQVNRQTIvOERBQUFBbWV5QitsbXdTUXJCM3luSTBsMVRtY250blNHOUJjQzh6MEZhOUVOYzUrMD0iLCJhbXIiOlsicHdkIl0sImFwcGlkIjoiYzEyZWM1YmUtODM1Ni00ZWRmLWI5YTQtY2Q1NjNlZDA5MTVhIiwiYXBwaWRhY3IiOiIxIiwiZmFtaWx5X25hbWUiOiJwcml5YSIsImdpdmVuX25hbWUiOiJrYW5hIiwiaXBhZGRyIjoiMjAzLjk0Ljk1LjQiLCJuYW1lIjoia2FuYSBwcml5YSIsIm9pZCI6ImZlNmY4ODVlLTk5ZWItNGJjMC1hMmRhLTZkYzU2ZmMxNDYxNiIsInBsYXRmIjoiMTQiLCJwdWlkIjoiMTAwMzAwMDBBMUJDRTk1RiIsInNjcCI6InVzZXJfaW1wZXJzb25hdGlvbiIsInN1YiI6IkJub3c0T2JEcEoyWElGSWJVR1hfZ2VlaWRDRWV5WC13NFQzYU1WNWRBZjAiLCJ0aWQiOiIyMTM5YjQ2Zi1hN2Y0LTRiYjEtYjQ1OC1hNDlhZmFjY2NkMDUiLCJ1bmlxdWVfbmFtZSI6ImthbmFAd3NvMjEyMzQub25taWNyb3NvZnQuY29tIiwidXBuIjoia2FuYUB3c28yMTIzNC5vbm1pY3Jvc29mdC5jb20iLCJ2ZXIiOiIxLjAiLCJ3aWRzIjpbIjYyZTkwMzk0LTY5ZjUtNDIzNy05MTkwLTAxMjE3NzE0NWUxMCJdfQ.bKyHO4wmp5JFBJb-0OI7OdeHguF37Zd3z2vgfgstn9iF7uP_PtuEO6Rxdtp07mVKZmNqP50GeZm62FZ74VgB8eDnxQP9mQXEe2rBU94oLVzc9r0bQ1YGqF88RQVcXoM-Q4U3J9rtyuZD1iEog1UsS43krG22YHQ5c-1234Cwbc1noz_bSpx798A1p5-KSD3mckVabkpxn__OU1lyygEfY6FiieuHQ0iT8nxmguGdH371XesxLzyJFOfZLDPHierLMUctQj7e2d_ClbA5nV7CjPfx7PitNVM1owxdnbtSRzkIUKn1gr8cI_0SY7hA4NGF3IrVxoIGcQ1tXaJKDPBqZ2FtozQgvfi61g[\r][\n]"
[2017-06-14 14:58:36,476] DEBUG - wire HTTPS-Sender I/O dispatcher-3 << "Action: urn:updateEntityWithDataReturnedOrSinglePropertyValue[\r][\n]"
[2017-06-14 14:58:36,477] DEBUG - wire HTTPS-Sender I/O dispatcher-3 << "Accept-Encoding: gzip, deflate[\r][\n]"
[2017-06-14 14:58:36,477] DEBUG - wire HTTPS-Sender I/O dispatcher-3 << "Origin: chrome-extension://fhbjgbiflinjbdggehcddcbncdddomop[\r][\n]"
[2017-06-14 14:58:36,477] DEBUG - wire HTTPS-Sender I/O dispatcher-3 << "Postman-Token: c1e955d9-5307-7369-6fd3-8c4cdefd56da[\r][\n]"
[2017-06-14 14:58:36,477] DEBUG - wire HTTPS-Sender I/O dispatcher-3 << "Content-Type: application/json[\r][\n]"
[2017-06-14 14:58:36,477] DEBUG - wire HTTPS-Sender I/O dispatcher-3 << "Accept: /[\r][\n]"
[2017-06-14 14:58:36,477] DEBUG - wire HTTPS-Sender I/O dispatcher-3 << "Cache-Control: no-cache[\r][\n]"
[2017-06-14 14:58:36,477] DEBUG - wire HTTPS-Sender I/O dispatcher-3 << "Content-Length: 33[\r][\n]"
[2017-06-14 14:58:36,477] DEBUG - wire HTTPS-Sender I/O dispatcher-3 << "Host: wso21234.crm5.dynamics.com[\r][\n]"
[2017-06-14 14:58:36,477] DEBUG - wire HTTPS-Sender I/O dispatcher-3 << "Connection: Keep-Alive[\r][\n]"
[2017-06-14 14:58:36,477] DEBUG - wire HTTPS-Sender I/O dispatcher-3 << "User-Agent: Synapse-PT-HttpComponents-NIO[\r][\n]"
[2017-06-14 14:58:36,478] DEBUG - wire HTTPS-Sender I/O dispatcher-3 << "[\r][\n]"
[2017-06-14 14:58:36,478] DEBUG - wire HTTPS-Sender I/O dispatcher-3 << "

{"name":"Updated Sample Account"}

"
[2017-06-14 14:58:37,828] DEBUG - wire HTTPS-Sender I/O dispatcher-3 >> "HTTP/1.1 200 OK[\r][\n]"

Blocking

[2017-06-14 15:00:13,791] DEBUG - header >> "POST /api/data/v8.2/accounts(91618256718-8a4e-e711-80f7-c4346bad279c)?$select=name,creditonhold,address1_latitude HTTP/1.1[\r][\n]"
[2017-06-14 15:00:13,795] DEBUG - header >> "Content-Type: application/json; charset=UTF-8[\r][\n]"
[2017-06-14 15:00:13,795] DEBUG - header >> "Accept: /[\r][\n]"
[2017-06-14 15:00:13,795] DEBUG - header >> "Accept-Encoding: gzip, deflate[\r][\n]"
[2017-06-14 15:00:13,795] DEBUG - header >> "Accept-Language: en-US,en;q=0.8[\r][\n]"
[2017-06-14 15:00:13,795] DEBUG - header >> "Action: urn:updateEntityWithDataReturnedOrSinglePropertyValue[\r][\n]"
[2017-06-14 15:00:13,795] DEBUG - header >> "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjlGWERwYmZNRlQyU3ZRdVhoODQ2WVR3RUlCdyIsImtpZCI6IjlGWERwYmZNRlQyU3ZRdVhoODQ2WVR3RUlCdyJ9.eyJhdWQiOiJodHRwczovL3dzbzIxMjM0LmNybTUuZHluYW1pY3MuY29tLyIsImlzcyI6Imh0dHBzOi8vc3RzLndpbmRvd3MubmV0LzIxMzliNDZmLWE3ZjQtNGJiMS1iNDU4LWE0OWFmYWNjY2QwNS8iLCJpYXQiOjE0OTc0MzA0MzAsIm5iZiI6MTQ5NzQzMDQzMCwiZXhwIjoxNDk3NDM0MzMwLCJhY3IiOiIxIiwiYWlvIjoiQVNRQTIvOERBQUFBbWV5QitsbXdTUXJCM3luSTBsMVRtY250blNHOUJjQzh6MEZhOUVOYzUrMD0iLCJhbXIiOlsicHdkIl0sImFwcGlkIjoiYzEyZWM1YmUtODM1Ni00ZWRmLWI5YTQtY2Q1NjNlZDA5MTVhIiwiYXBwaWRhY3IiOiIxIiwiZmFtaWx5X25hbWUiOiJwcml5YSIsImdpdmVuX25hbWUiOiJrYW5hIiwiaXBhZGRyIjoiMjAzLjk0Ljk1LjQiLCJuYW1lIjoia2FuYSBwcml5YSIsIm9pZCI6ImZlNmY4ODVlLTk5ZWItNGJjMC1hMmRhLTZkYzU2ZmMxNDYxNiIsInBsYXRmIjoiMTQiLCJwdWlkIjoiMTAwMzAwMDBBMUJDRTk1RiIsInNjcCI6InVzZXJfaW1wZXJzb25hdGlvbiIsInN1YiI6IkJub3c0T2JEcEoyWElGSWJVR1hfZ2VlaWRDRWV5WC13NFQzYU1WNWRBZjAiLCJ0aWQiOiIyMTM5YjQ2Zi1hN2Y0LTRiYjEtYjQ1OC1hNDlhZmFjY2NkMDUiLCJ1bmlxdWVfbmFtZSI6ImthbmFAd3NvMjEyMzQub25taWNyb3NvZnQuY29tIiwidXBuIjoia2FuYUB3c28yMTIzNC5vbm1pY3Jvc29mdC5jb20iLCJ2ZXIiOiIxLjAiLCJ3aWRzIjpbIjYyZTkwMzk0LTY5ZjUtNDIzNy05MTkwLTAxMjE3NzE0NWUxMCJdfQ.bKyHO4wmp5JFBJb-0OI7OdeHguF37Zd3z2stn9iF7uP_PtuEO6Rxdtp07mVKZmNqP50GeZm62FZ74VgB8eDnxQP9mQXEe2rBU94oLVzc9r0bQ1YGqF88RQVcXoM-Q4U3J9ZD1iEog1UsS43krG22YHQ5c-Cwbc1noz_bSpx798A1p5-KSD3mckVabkpxn__OU1lyygEfY6FiieuHQ0iT8nxmguGdH371XesxLzyJFOfZLDPHierLMUctQj7e2d_ClbA5nV7CjPfx7PitNVM1owxdnbtSRzkIUKn1gr8cI_0SY7hA4NGF3IrVxoIGcQ1tXaJKDPBqZ2FtozQgvfi61g[\r][\n]"
[2017-06-14 15:00:13,796] DEBUG - header >> "Cache-Control: no-cache[\r][\n]"
[2017-06-14 15:00:13,796] DEBUG - header >> "Origin: chrome-extension://fhbjgbiflinjbdggehcddcbncdddomop[\r][\n]"
[2017-06-14 15:00:13,796] DEBUG - header >> "Postman-Token: 5adbade0-eb4c-d552-202a-54ff19ee0dfa[\r][\n]"
[2017-06-14 15:00:13,796] DEBUG - header >> "Prefer: return=representation[\r][\n]"
[2017-06-14 15:00:13,796] DEBUG - header >> "User-Agent: Axis2[\r][\n]"
[2017-06-14 15:00:13,796] DEBUG - header >> "Host: wso21234.crm5.dynamics.com[\r][\n]"
[2017-06-14 15:00:13,796] DEBUG - header >> "Content-Length: 33[\r][\n]"
[2017-06-14 15:00:13,797] DEBUG - header >> "[\r][\n]"
[2017-06-14 15:00:13,797] DEBUG - content >> "

{"name":"Updated Sample Account"}

"
[2017-06-14 15:00:13,953] DEBUG - header << "HTTP/1.1 405 Method Not Allowed[\r][\n]"
[2017-06-14 15:00:13,953] DEBUG - header << "HTTP/1.1 405 Method Not Allowed[\r][\n]"
[2017-06-14 15:00:13,954] DEBUG - header << "Cache-Control: no-cache[\r][\n]"
[2017-06-14 15:00:13,954] DEBUG - header << "Pragma: no-cache[\r][\n]"
[2017-06-14 15:00:13,954] DEBUG - header << "Allow: GET,PUT,PATCH,DELETE[\r][\n]"
[2017-06-14 15:00:13,955] DEBUG - header << "Content-Type: application/json; odata.metadata=minimal[\r][\n]"
[2017-06-14 15:00:13,955] DEBUG - header << "Expires: -1[\r][\n]"
[2017-06-14 15:00:13,955] DEBUG - header << "Server: Microsoft-IIS/8.5[\r][\n]"
[2017-06-14 15:00:13,955] DEBUG - header << "REQ_ID: 8ba04189-7459-4837-86e7-dce8df6a9ac1[\r][\n]"
[2017-06-14 15:00:13,955] DEBUG - header << "Set-Cookie: ReqClientId=582ab259-22e7-4130-81af-02700cf96a92; expires=Tue, 14-Jun-2067 09:30:13 GMT; path=/; secure; HttpOnly[\r][\n]"
[2017-06-14 15:00:13,956] DEBUG - header << "Access-Control-Allow-Origin: *[\r][\n]"
[2017-06-14 15:00:13,956] DEBUG - header << "Access-Control-Expose-Headers: Preference-Applied,OData-EntityId,Location,ETag,OData-Version,Content-Encoding,Transfer-Encoding,Content-Length,Retry-After[\r][\n]"
[2017-06-14 15:00:13,956] DEBUG - header << "OData-Version: 4.0[\r][\n]"
[2017-06-14 15:00:13,956] DEBUG - header << "X-AspNet-Version: 4.0.30319[\r][\n]"
[2017-06-14 15:00:13,956] DEBUG - header << "X-Powered-By: ASP.NET[\r][\n]"
[2017-06-14 15:00:13,957] DEBUG - header << "Date: Wed, 14 Jun 2017 09:30:13 GMT[\r][\n]"
[2017-06-14 15:00:13,957] DEBUG - header << "Content-Length: 2149[\r][\n]"
[2017-06-14 15:00:13,957] DEBUG - header << "Set-Cookie: crmf5cookie=!CJwKVxgHGYXTSBLJGlBgYdD3j/Njchy9e3PTBiqxdXWXGrr92QWgIIwdtlLOkedogQKJlLfUu515Fyg=;secure; path=/[\r][\n]"
[2017-06-14 15:00:13,957] DEBUG - header << "Strict-Transport-Security: max-age=31536000; includeSubDomains[\r][\n]"
[2017-06-14 15:00:13,957] DEBUG - header << "[\r][\n]"
[2017-06-14 15:00:13,962] DEBUG - content << "{[\r][\n]"
[2017-06-14 15:00:13,962] DEBUG - content << " "error":{[\r][\n]"
[2017-06-14 15:00:13,962] DEBUG - content << " "code":"","message":"Unmapped Request found, PathTemplate:~/entityset/key, HttpVerb:POST","innererror":

{[\r][\n]" [2017-06-14 15:00:13,962] DEBUG - content << " "message":"Unmapped Request found, PathTemplate:~/entityset/key, HttpVerb:POST","type":"Microsoft.Crm.CrmHttpException","stacktrace":" at Microsoft.Crm.Extensibility.OData.EntityController.HandleUnmappedRequest(ODataPath path)\r\n at lambda_method(Closure , Object , Object[] )\r\n at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass10.<GetExecutor>b__9(Object instance, Object[] methodParameters)\r\n at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.Execute(Objec" [2017-06-14 15:00:13,963] DEBUG - content << "t instance, Object[] arguments)\r\n at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary`2 arguments, CancellationToken cancellationToken)\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n at System.Web.Http.Controllers.ApiControllerActionInvoker.<InvokeActionAsyncCore>d__0.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n at System.Web.Http.Controllers.ActionFilterResult.<Exe" [2017-06-14 15:00:13,963] DEBUG - content << "cuteAsync>d__2.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()\r\n at System.Web.Http.Dispatcher.HttpControllerDispatcher.<SendAsync>d__1.MoveNext()"[\r][\n]" [2017-06-14 15:00:13,963] DEBUG - content << " }

[\r][\n]"
[2017-06-14 15:00:13,964] DEBUG - content << " }[\r][\n]"
[2017-06-14 15:00:13,964] DEBUG - content << "}"
[2017-06-14 15:00:13,966] INFO - HTTPSender Unable to sendViaPost to urlhttps://wso21234.crm5.dynamics.com/api/data/v8.2/accounts(31618218-8a4e-e711-80f7-c4346bad279c)?$select=name,creditonhold,address1_latitude
org.apache.axis2.AxisFault: Transport error: 405 Error: Method Not Allowed
at org.apache.axis2.transport.http.HTTPSender.handleResponse(HTTPSender.java:326)
at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:196)
at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:77)
at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:451)
at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:278)
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.apache.synapse.message.senders.blocking.BlockingMsgSender.sendReceive(BlockingMsgSender.java:293)
at org.apache.synapse.message.senders.blocking.BlockingMsgSender.send(BlockingMsgSender.java:194)
at org.apache.synapse.mediators.builtin.CallMediator.handleBlockingCall(CallMediator.java:125)
at org.apache.synapse.mediators.builtin.CallMediator.mediate(CallMediator.java:97)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:59)
at org.apache.synapse.mediators.filters.FilterMediator.mediate(FilterMediator.java:169)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:59)
at org.apache.synapse.mediators.filters.FilterMediator.mediate(FilterMediator.java:169)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:59)
at org.apache.synapse.mediators.template.TemplateMediator.mediate(TemplateMediator.java:104)
at org.apache.synapse.mediators.template.InvokeMediator.mediate(InvokeMediator.java:148)
at org.apache.synapse.mediators.template.InvokeMediator.mediate(InvokeMediator.java:84)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:59)
at org.apache.synapse.config.xml.AnonymousListMediator.mediate(AnonymousListMediator.java:37)
at org.apache.synapse.config.xml.SwitchCase.mediate(SwitchCase.java:69)
at org.apache.synapse.mediators.filters.SwitchMediator.mediate(SwitchMediator.java:134)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:97)
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.core.axis2.ProxyServiceMessageReceiver.receive(ProxyServiceMessageReceiver.java:210)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
at org.apache.synapse.transport.passthru.ServerWorker.processNonEntityEnclosingRESTHandler(ServerWorker.java:325)
at org.apache.synapse.transport.passthru.ServerWorker.processEntityEnclosingRequest(ServerWorker.java:371)
at org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:151)
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)
[2017-06-14 15:00:13,988] INFO - LogMediator To: https://wso21234.crm5.dynamics.com/api/data/v8.2/accounts(31618218-8a4e-e711-80f7-c4346bad279c)?$select=name,creditonhold,address1_latitude, MessageID: urn:uuid:73a06200-8cf2-4b5d-a03e-d19ee4ff5bdd, Direction: request, MESSAGE = Executing default 'fault' sequence, ERROR_CODE = 401001, ERROR_MESSAGE = Transport error: 405 Error: Method Not Allowed, Payload:

{"name":"Updated Sample Account"}

[2017-06-14 15:00:13,996] DEBUG - wire HTTP-Listener I/O dispatcher-1 << "HTTP/1.1 202 Accepted[\r][\n]"
[2017-06-14 15:00:13,997] DEBUG - wire HTTP-Listener I/O dispatcher-1 << "Date: Wed, 14 Jun 2017 09:30:13 GMT[\r][\n]"
[2017-06-14 15:00:13,997] DEBUG - wire HTTP-Listener I/O dispatcher-1 << "Transfer-Encoding: chunked[\r][\n]"
[2017-06-14 15:00:13,997] DEBUG - wire HTTP-Listener I/O dispatcher-1 << "Connection: keep-alive[\r][\n]"
[2017-06-14 15:00:13,997] DEBUG - wire HTTP-Listener I/O dispatcher-1 << "[\r][\n]"
[2017-06-14 15:00:13,997] DEBUG - wire HTTP-Listener I/O dispatcher-1 << "0[\r][\n]"
[2017-06-14 15:00:13,998] DEBUG - wire HTTP-Listener I/O dispatcher-1 << "[\r][\n]"

[1] https://github.com/wso2/wso2-axis2/blob/master/modules/transport/http/src/org/apache/axis2/transport/http/HTTPSender.java#L77






[ESBJAVA-4763] NullPointerException while sending IDOC to SAP Created: 16/Jul/16  Updated: 28/Sep/16

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

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

Attachments: Text File DebuggingWithWSO2SuggestedParameters_sapDebugEnabled.txt     Text File Test_SAP_XSLT.txt     XML File idocTestXSLT.xslt     File sapdelts.dest     Text File test_sap.txt    
Severity: Blocker
Estimated Complexity: Advanced
Test cases added: No

 Description   

Facing the following error while sending the IDOC to SAP.

Transport configurations are fine (Even BAPI message to SAP is successful)

TID: [0] [ESB] [2016-07-12 13:50:39,213] ERROR

{org.wso2.carbon.transports.sap.SAPTransportSender} - Error while sending an IDoc to the EPR : idoc:/sapdelts {org.wso2.carbon.transports.sap.SAPTransportSender}

java.lang.NullPointerException
at org.wso2.carbon.transports.sap.idoc.DefaultIDocXMLMapper.closeStream(DefaultIDocXMLMapper.java:68)
at org.wso2.carbon.transports.sap.idoc.DefaultIDocXMLMapper.getDocumentList(DefaultIDocXMLMapper.java:59)
at org.wso2.carbon.transports.sap.SAPTransportSender.getIDocs(SAPTransportSender.java:163)
at org.wso2.carbon.transports.sap.SAPTransportSender.sendMessage(SAPTransportSender.java:103)
at org.apache.axis2.transport.base.AbstractTransportSender.invoke(AbstractTransportSender.java:112)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
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:482)
at org.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java:59)
at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:338)
at org.apache.synapse.endpoints.AbstractEndpoint.send(AbstractEndpoint.java:333)
at org.apache.synapse.endpoints.AddressEndpoint.send(AddressEndpoint.java:59)
at org.apache.synapse.mediators.builtin.CallMediator.mediate(CallMediator.java:114)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:77)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:47)
at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:131)
at org.apache.synapse.core.axis2.ProxyServiceMessageReceiver.receive(ProxyServiceMessageReceiver.java:166)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
at org.apache.synapse.transport.passthru.ServerWorker.processEntityEnclosingRequest(ServerWorker.java:411)
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:724)
TID: [0] [ESB] [2016-07-12 13:50:39,215] ERROR

{org.apache.synapse.core.axis2.Axis2Sender} - Unexpected error during sending message out {org.apache.synapse.core.axis2.Axis2Sender}

org.apache.axis2.AxisFault: Error while sending an IDoc to the EPR : idoc:/sapdelts
at org.apache.axis2.transport.base.AbstractTransportSender.handleException(AbstractTransportSender.java:226)
at org.wso2.carbon.transports.sap.SAPTransportSender.sendMessage(SAPTransportSender.java:136)
at org.apache.axis2.transport.base.AbstractTransportSender.invoke(AbstractTransportSender.java:112)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:442)
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:482)
at org.apache.synapse.core.axis2.Axis2Sender.sendOn(Axis2Sender.java:59)
at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.send(Axis2SynapseEnvironment.java:338)
at org.apache.synapse.endpoints.AbstractEndpoint.send(AbstractEndpoint.java:333)
at org.apache.synapse.endpoints.AddressEndpoint.send(AddressEndpoint.java:59)
at org.apache.synapse.mediators.builtin.CallMediator.mediate(CallMediator.java:114)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:77)
at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:47)



 Comments   
Comment by Muralidharan Balanandan [ 19/Jul/16 ]

Proxy used to send IDOC to SAP

Comment by Muralidharan Balanandan [ 19/Jul/16 ]

the .dest file used to connect to SAP

Comment by Chanaka Fernando [ 20/Jul/16 ]

This looks like an issue with the connectivity from the ESB to SAP over IDOC transport or an error with the IDOC message. Could you please enable the error handler with the following parameters for this proxy and attach the resulting log.

<parameter name="transport.sap.enableTIDHandler">enabled</parameter>
<parameter name="transport.sap.enableErrorListener">enabled</parameter>

Another thing you can do is to check the validity of the IDOC message which you are sending to the SAP system from ESB. If the message is not formatted properly, you will get this kind of error.

Comment by Chanaka Fernando [ 20/Jul/16 ]

Reducing the priority since this looks like a configuration issue.

Comment by Muralidharan Balanandan [ 20/Jul/16 ]

Thanks Chanaka Fernando.. Can you please share some reference to valid IDOC message or message content. It would be very helpful.

Comment by Muralidharan Balanandan [ 21/Jul/16 ]

We validated the IDOC message and its fine. As you suggested, added the above parameters and tried. Attaching the latest proxy. XSLT used and the logs.
Kindly have a look and let us know your findings.

Comment by Muralidharan Balanandan [ 26/Jul/16 ]

Receive the following error code in trace.

TID: [0] [ESB] [2016-07-26 10:09:29,255] WARN

{org.apache.synapse.FaultHandler} - ERROR_CODE : 8001 {org.apache.synapse.FaultHandler}

TID: [0] [ESB] [2016-07-26 10:09:29,255] WARN

{org.apache.synapse.FaultHandler} - ERROR_MESSAGE : null {org.apache.synapse.FaultHandler}

TID: [0] [ESB] [2016-07-26 10:09:29,255] WARN

{org.apache.synapse.FaultHandler} - ERROR_DETAIL : null {org.apache.synapse.FaultHandler}

TID: [0] [ESB] [2016-07-26 10:09:29,255] WARN

{org.apache.synapse.FaultHandler} - ERROR_EXCEPTION : null {org.apache.synapse.FaultHandler}

TID: [0] [ESB] [2016-07-26 10:09:29,256] WARN

{org.apache.synapse.FaultHandler} - FaultHandler : Endpoint [sapidocendpoint] {org.apache.synapse.FaultHandler}

TID: [0] [ESB] [2016-07-26 10:09:29,256] WARN

{org.apache.synapse.endpoints.EndpointContext} - Endpoint : sapidocendpoint will be marked SUSPENDED as it failed {org.apache.synapse.endpoints.EndpointContext}

TID: [0] [ESB] [2016-07-26 10:09:29,256] WARN

{org.apache.synapse.endpoints.EndpointContext} - Suspending endpoint : sapidocendpoint - current suspend duration is : 30000ms - Next retry after : Tue Jul 26 10:09:59 CLT 2016 {org.apache.synapse.endpoints.EndpointContext}

TID: [0] [ESB] [2016-07-26 10:09:29,256] ERROR

{org.wso2.carbon.transports.sap.SAPTransportSender} - Error while sending an IDoc to the EPR : idoc:/sapdelts {org.wso2.carbon.transports.sap.SAPTransportSender}

java.lang.NullPointerException
at org.wso2.carbon.transports.sap.idoc.DefaultIDocXMLMapper.closeStream(DefaultIDocXMLMapper.java:86)
at org.wso2.carbon.transports.sap.idoc.DefaultIDocXMLMapper.getDocumentList(DefaultIDocXMLMapper.java:79)
at org.wso2.ca

Comment by Evanthika Amarasiri [ 28/Sep/16 ]

I too faced the same issue. The reason was that the IDOC message was not correct. When I used a correct IDOC message, the NPE disappeared and the IDOC was sent properly.





[ESBJAVA-4953] Improve permissions to create a read-only User Created: 15/Nov/16  Updated: 15/Nov/16

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

Type: New Feature Priority: High
Reporter: Chanaka Cooray 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 the user creation process, there is no option to add read only permission for a user. We can only control the permissions of a role to disable some functionalities for a user who assigned to that particular role. For example, if we set mediation permission, then the user can view and change the configurations from the management console. There is no separate option to set edit or view permission. So Read only user is needed when there is a requirement to create a user to review the configurations, artifacts and without the capability to change anything.






[ESBJAVA-4954] API calls are not reflecting in system statistics Created: 15/Nov/16  Updated: 15/Nov/16

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

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

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
Test cases added: Yes

 Description   

In monitor -> system statistics, the API calls are not reflected in the number of request / response served and thereby in the service response times.
Need your help on this. Whether this is not supported or some configuration to be enabled.






[ESBJAVA-4932] RabbitMQ AMQP Inbound Endpoint exchange parameters are ignored Created: 25/Oct/16  Updated: 25/Oct/16

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

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

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

 Description   

The exchange type, duration and auto deletion parameters from a Rabbitmq Inbound Endpoint are ignored when configurated on the inbound endpoint.






[ESBJAVA-4917] [Inbound endpoint] WSO2 MB - queue inbound endpoint with cache level set to 2 fails to consume messages Created: 07/Oct/16  Updated: 07/Oct/16

Status: Open
Project: WSO2 ESB
Component/s: Inbound Endpoints
Affects Version/s: 5.0.0
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:

ESB
Standalone ESB 5.0.0
JDK - 1.7.0_79
DB - h2

MB
Set up - 3 node MB cluster with rdbmsBasedCoordination enabled
JDK - IBM-JDK 8
OS - Node 1- RedHat 7.0 , Node 2- RedHat 6.6 , Node 3- RedHat 5.8
DB - MSSQL 2014


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

 Description   

Created an inbound endpoint using the WSO2 MB type to subscribe to a queue. The transport.jms.CacheLevel was set to 2.

Issue
The ESB throws the below exception and fails to consume the published messages from the queue.

TID: [-1234] [] [2016-10-07 08:21:27,709] ERROR {org.wso2.carbon.inbound.endpoint.protocol.jms.factory.JMSConnectionFactory} -  JMS Exception while creating consumer. Object org.wso2.andes.client.AMQSession_0_8@5caaf5c2 has been closed {org.wso2.carbon.inbound.endpoint.protocol.jms.factory.JMSConnectionFactory}
javax.jms.IllegalStateException: Object org.wso2.andes.client.AMQSession_0_8@5caaf5c2 has been closed
	at org.wso2.andes.client.Closeable.checkNotClosed(Closeable.java:70)
	at org.wso2.andes.client.AMQSession.checkNotClosed(AMQSession.java:648)
	at org.wso2.andes.client.AMQSession$6.execute(AMQSession.java:2089)
	at org.wso2.andes.client.AMQSession$6.execute(AMQSession.java:2086)
	at org.wso2.andes.client.AMQConnectionDelegate_8_0.executeRetrySupport(AMQConnectionDelegate_8_0.java:342)
	at org.wso2.andes.client.AMQConnection$3.run(AMQConnection.java:655)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.wso2.andes.client.AMQConnection.executeRetrySupport(AMQConnection.java:652)
	at org.wso2.andes.client.failover.FailoverRetrySupport.execute(FailoverRetrySupport.java:102)
	at org.wso2.andes.client.AMQSession.createConsumerImpl(AMQSession.java:2084)
	at org.wso2.andes.client.AMQSession.createConsumer(AMQSession.java:1063)
	at org.wso2.carbon.inbound.endpoint.protocol.jms.factory.JMSConnectionFactory.createMessageConsumer(JMSConnectionFactory.java:368)
	at org.wso2.carbon.inbound.endpoint.protocol.jms.factory.CachedJMSConnectionFactory.createMessageConsumer(CachedJMSConnectionFactory.java:124)
	at org.wso2.carbon.inbound.endpoint.protocol.jms.factory.CachedJMSConnectionFactory.getMessageConsumer(CachedJMSConnectionFactory.java:116)
	at org.wso2.carbon.inbound.endpoint.protocol.jms.JMSPollingConsumer.poll(JMSPollingConsumer.java:172)
	at org.wso2.carbon.inbound.endpoint.protocol.jms.JMSPollingConsumer.execute(JMSPollingConsumer.java:119)
	at org.wso2.carbon.inbound.endpoint.protocol.jms.JMSTask.taskExecute(JMSTask.java:47)
	at org.wso2.carbon.inbound.endpoint.common.InboundTask.execute(InboundTask.java:45)
	at org.wso2.carbon.mediation.ntask.NTaskAdapter.execute(NTaskAdapter.java:98)
	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: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:745)
TID: [-1234] [] [2016-10-07 08:21:27,715] ERROR {org.wso2.carbon.inbound.endpoint.protocol.jms.JMSPollingConsumer} -  Error while receiving JMS message. null {org.wso2.carbon.inbound.endpoint.protocol.jms.JMSPollingConsumer}
java.lang.NullPointerException
	at org.wso2.carbon.inbound.endpoint.protocol.jms.JMSPollingConsumer.receiveMessage(JMSPollingConsumer.java:307)
	at org.wso2.carbon.inbound.endpoint.protocol.jms.JMSPollingConsumer.poll(JMSPollingConsumer.java:173)
	at org.wso2.carbon.inbound.endpoint.protocol.jms.JMSPollingConsumer.execute(JMSPollingConsumer.java:119)
	at org.wso2.carbon.inbound.endpoint.protocol.jms.JMSTask.taskExecute(JMSTask.java:47)
	at org.wso2.carbon.inbound.endpoint.common.InboundTask.execute(InboundTask.java:45)
	at org.wso2.carbon.mediation.ntask.NTaskAdapter.execute(NTaskAdapter.java:98)
	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: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:745)





[ESBJAVA-4918] Created inbound endpoint with client acknowledgement for queue is auto acknowledging Created: 07/Oct/16  Updated: 07/Oct/16

Status: Open
Project: WSO2 ESB
Component/s: Inbound Endpoints
Affects Version/s: 5.0.0
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:

ESB
Standalone ESB 5.0.0
JDK - 1.7.0_79
DB - h2

MB
Set up - 3 node MB cluster with rdbmsBasedCoordination enabled
JDK - IBM-JDK 8
OS - Node 1- RedHat 7.0 , Node 2- RedHat 6.6 , Node 3- RedHat 5.8
DB - MSSQL 2014


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

 Description   

If an inbound endpoint is created for a queue using WSO2 MB type with the transport.jms.SessionAcknowledgement set as CLIENT_ACK. Published messages are consumed no redelivery seems to occur.

Steps

1) Create an inbound endpoint using WSO2 MB type with the transport.jms.SessionAcknowledgement set as CLIENT_ACK. (The sequence consists only a log mediator)
2) Publish one message to the queue

Issue

The published message is consumed.

Expected Result

The message should be redelivered since the acknowledgement is not set explicitly and affect the retry period is over the message should be in DLC






[ESBJAVA-4916] [Inbound endpoint] WSO2 MB - queue inbound endpoint with cache level set to 1 fails to consume messages Created: 06/Oct/16  Updated: 06/Oct/16

Status: Open
Project: WSO2 ESB
Component/s: Inbound Endpoints
Affects Version/s: 5.0.0
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:

ESB
Standalone ESB 5.0.0
JDK - 1.7.0_79
DB - h2

MB
Set up - 3 node MB cluster with rdbmsBasedCoordination enabled
JDK - IBM-JDK 8
OS - Node 1- RedHat 7.0 , Node 2- RedHat 6.6 , Node 3- RedHat 5.8
DB - MSSQL 2014


Attachments: PNG File CacheLevelOne.png    
Severity: Major
Estimated Complexity: Moderate
Test cases added: No

 Description   

Created an inbound endpoint using the WSO2 MB type to subscribe to a queue. The transport.jms.CacheLevel was set to 1.

Issue
Published 100 messages to the queue. But the inbound endpoint fails to consume the messages from the queue.

Refer attachment for inbound endpoint configuration.






[ESBJAVA-4922] Car deployment failure error thrown is not clear when serverRole of security policy is set to GovernanceRegistry Created: 11/Oct/16  Updated: 11/Oct/16

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

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

Operating System : Mac OS X El Capitan 10.11.2 (15C50), x86_64
Java Version/Java VM :1.7.0_79/Java(TM) SE Runtime Environment (build 1.7.0_79-b15)/Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
Packs : wso2esb-5.0.0
DBMS/DBMS Driver :H2
Setup : Standalone
Dev Studio : 3.8.0


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

 Description   

I have a car which refers a UT policy stored in the registry.
I had the serverRole of the policy set to GovernanceRegistry by mistake (I forgot to change it to EnterpriseServiceBus). So when I deploy this car, I get the following exception.
This error is not descriptive enough and I has to spend some considerable time to figure out what the actual issue is.
So can we make these errors more descriptive?

[2016-10-11 16:54:23,997] ERROR - ProxyServiceDeployer ProxyService Deployment from the file : /Users/evanthika/WSO2/CARBON/ESB/5.0.0/wso2esb-5.0.0/tmp/carbonapps/-1234/1476185063826aaaaa_1.7.5-SNAPSHOT.car/registry_resource_properties_wss_v1_1.0.0/registry_resource_properties_wss_v1-1.0.0.xml : Failed.
org.apache.synapse.SynapseException: Cannot convert null to a StreamSource
	at org.apache.synapse.config.SynapseConfigUtils.handleException(SynapseConfigUtils.java:580)
	at org.apache.synapse.config.SynapseConfigUtils.getStreamSource(SynapseConfigUtils.java:81)
	at org.apache.synapse.core.axis2.ProxyService.getPolicyFromKey(ProxyService.java:831)
	at org.apache.synapse.core.axis2.ProxyService.buildAxisService(ProxyService.java:624)
	at org.apache.synapse.deployers.ProxyServiceDeployer.deploySynapseArtifact(ProxyServiceDeployer.java:81)
	at org.wso2.carbon.proxyadmin.ProxyServiceDeployer.deploySynapseArtifact(ProxyServiceDeployer.java:46)
	at org.apache.synapse.deployers.AbstractSynapseArtifactDeployer.deploy(AbstractSynapseArtifactDeployer.java:194)
	at org.wso2.carbon.application.deployer.synapse.SynapseAppDeployer.deployArtifacts(SynapseAppDeployer.java:131)
	at org.wso2.carbon.application.deployer.internal.ApplicationManager.deployCarbonApp(ApplicationManager.java:263)
	at org.wso2.carbon.application.deployer.CappAxis2Deployer.deploy(CappAxis2Deployer.java:72)
	at org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy(DeploymentFileData.java:136)
	at org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.java:807)
	at org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList.java:144)
	at org.apache.axis2.deployment.RepositoryListener.update(RepositoryListener.java:377)
	at org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryListener.java:254)
	at org.apache.axis2.deployment.RepositoryListener.startListener(RepositoryListener.java:371)
	at org.apache.axis2.deployment.scheduler.SchedulerTask.checkRepository(SchedulerTask.java:59)
	at org.apache.axis2.deployment.scheduler.SchedulerTask.run(SchedulerTask.java:67)
	at org.wso2.carbon.core.deployment.CarbonDeploymentSchedulerTask.runAxisDeployment(CarbonDeploymentSchedulerTask.java:93)
	at org.wso2.carbon.core.deployment.CarbonDeploymentSchedulerTask.run(CarbonDeploymentSchedulerTask.java:138)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:745)
[2016-10-11 16:54:23,998] ERROR - AbstractSynapseArtifactDeployer Deployment of the Synapse Artifact from file : /Users/evanthika/WSO2/CARBON/ESB/5.0.0/wso2esb-5.0.0/tmp/carbonapps/-1234/1476185063826aaaaa1.7.5-SNAPSHOT.car/registry_resource_properties_wss_v1_1.0.0/registry_resource_properties_wss_v1-1.0.0.xml : Failed!
org.apache.synapse.deployers.SynapseArtifactDeploymentException: ProxyService Deployment from the file : /Users/evanthika/WSO2/CARBON/ESB/5.0.0/wso2esb-5.0.0/tmp/carbonapps/-1234/1476185063826aaaaa1.7.5-SNAPSHOT.car/registry_resource_properties_wss_v1_1.0.0/registry_resource_properties_wss_v1-1.0.0.xml : Failed.
	at org.apache.synapse.deployers.AbstractSynapseArtifactDeployer.handleSynapseArtifactDeploymentError(AbstractSynapseArtifactDeployer.java:474)
	at org.apache.synapse.deployers.ProxyServiceDeployer.deploySynapseArtifact(ProxyServiceDeployer.java:120)
	at org.wso2.carbon.proxyadmin.ProxyServiceDeployer.deploySynapseArtifact(ProxyServiceDeployer.java:46)
	at org.apache.synapse.deployers.AbstractSynapseArtifactDeployer.deploy(AbstractSynapseArtifactDeployer.java:194)
	at org.wso2.carbon.application.deployer.synapse.SynapseAppDeployer.deployArtifacts(SynapseAppDeployer.java:131)
	at org.wso2.carbon.application.deployer.internal.ApplicationManager.deployCarbonApp(ApplicationManager.java:263)
	at org.wso2.carbon.application.deployer.CappAxis2Deployer.deploy(CappAxis2Deployer.java:72)
	at org.apache.axis2.deployment.repository.util.DeploymentFileData.deploy(DeploymentFileData.java:136)
	at org.apache.axis2.deployment.DeploymentEngine.doDeploy(DeploymentEngine.java:807)
	at org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList.java:144)
	at org.apache.axis2.deployment.RepositoryListener.update(RepositoryListener.java:377)
	at org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryListener.java:254)
	at org.apache.axis2.deployment.RepositoryListener.startListener(RepositoryListener.java:371)
	at org.apache.axis2.deployment.scheduler.SchedulerTask.checkRepository(SchedulerTask.java:59)
	at org.apache.axis2.deployment.scheduler.SchedulerTask.run(SchedulerTask.java:67)
	at org.wso2.carbon.core.deployment.CarbonDeploymentSchedulerTask.runAxisDeployment(CarbonDeploymentSchedulerTask.java:93)
	at org.wso2.carbon.core.deployment.CarbonDeploymentSchedulerTask.run(CarbonDeploymentSchedulerTask.java:138)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.synapse.SynapseException: Cannot convert null to a StreamSource
	at org.apache.synapse.config.SynapseConfigUtils.handleException(SynapseConfigUtils.java:580)
	at org.apache.synapse.config.SynapseConfigUtils.getStreamSource(SynapseConfigUtils.java:81)
	at org.apache.synapse.core.axis2.ProxyService.getPolicyFromKey(ProxyService.java:831)
	at org.apache.synapse.core.axis2.ProxyService.buildAxisService(ProxyService.java:624)
	at org.apache.synapse.deployers.ProxyServiceDeployer.deploySynapseArtifact(ProxyServiceDeployer.java:81)
	... 22 more





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

Status: Open
Project: WSO2 ESB
Component/s: None
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-2467] [MSMP] Add JMS Message Store Username / Passwords Plain text ? Created: 20/Sep/13  Updated: 09/Jul/15  Due: 20/Sep/13

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

Type: Improvement Priority: High
Reporter: dushan abeyruwan Assignee: shafreen anfar
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

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

need expressions thus we can use mediation security component to secure passwords






[ESBJAVA-2867] Inconsistency in filter mediator Created: 06/Jan/14  Updated: 09/Jul/15

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

Type: Bug Priority: High
Reporter: Chandana Napagoda Assignee: Jagath Ariyarathne
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: XML File config.xml    
Severity: Critical
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

Filter mediator shows an inconsistent behavior after messages passed via message store processor. Please refer below synapse config. With out store processor it prints below log[1] and with store processor it prints log[2]

[1]. RESULT = Found a SOAP fault, Envelope: <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><soapenv:Fault><faultcode>soapenv:Server.generalException</faultcode><faultstring>java.io.IOException Message being parsed: </faultstring></soapenv:Fault></soapenv:Body></soapenv:Envelope>

[2]. RESULT = All is well, Envelope: <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><soapenv:Fault><faultcode>soapenv:Server.generalException</faultcode><faultstring>java.io.IOException Message being parsed: </faultstring></soapenv:Fault></soapenv:Body></soapenv:Envelope>



 Comments   
Comment by Kasun Indrasiri [ 23/Jan/14 ]

Lowering the priority as this is not a L1.





[ESBJAVA-2753] [EntitlementMediator] Once did some change in esb side, it took nearly 15min to update and execute the correct result for a XACML policy Created: 26/Nov/13  Updated: 25/Jul/15

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

Type: Improvement Priority: High
Reporter: Suneth Ranasinghe Assignee: madhuranga bandara
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   

I have changed the XACML policy (role) and try to invoke the given service which should not be permitted for the given user. But its allowing the user to access the service for nearly like 15mins.






[ESBJAVA-3361] Inconsistence fault handling for users and tenants Created: 30/Oct/12  Updated: 24/May/16

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

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

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

 Description   

same fault handling synapse configuration behave differently for users and tenant.

attached soap11_fault_code_Server_synapse.xml configuration make different fault messages for receiver. It works fine for users, but tenants It sees not.

Same configuration send fault message for users
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<soapenv:Fault>
<faultcode xmlns:soap11Env="http://schemas.xmlsoap.org/soap/envelope/">soap11Env:Server</faultcode>
<faultstring>Soap11FaultCodeServerTestCase</faultstring>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>

for tenants
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<soapenv:Fault>
<faultcode>soapenv:Server</faultcode>
<faultstring>Connection refused or failed for : localhost/127.0.0.1:9020, IO Exception occured : Connection refused</faultstring>
<detail>Connection refused or failed for : localhost/127.0.0.1:9020, IO Exception occured : Connection refused</detail>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>



 Comments   
Comment by Kasun Indrasiri [ 09/Dec/12 ]

This is not a blocker, hence lowering the priority.





[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-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-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-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-4858] [DataMapper Mediator] NPE for Script Engine in Alpine Linux in Docker Created: 21/Aug/16  Updated: 22/Aug/16

Status: Open
Project: WSO2 ESB
Component/s: None
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-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-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-4875] Support expression as class mediator properties Created: 30/Aug/16  Updated: 30/Aug/16

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

Type: Improvement Priority: Normal
Reporter: Iranga Muthuthanthri 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   

Currently only static values can be passed as properties to a class mediator, suggest an improvement to support expression as class mediator properties .






[ESBJAVA-4840] Incorrect pagination when artifacts are searched Created: 11/Aug/16  Updated: 11/Aug/16

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

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

Java 1.8
ESB 5.0


Attachments: PNG File Selection_001.png    
Severity: Minor
Estimated Complexity: Moderate
Test cases added: Yes

 Description   

Steps

1. Login to ESB and create 10+ Endpoints. (The pagination limit is at 10)
2. Now navigate to Manage Endpoints page. (Observe the EP list is paginated)
3. Now search for an Endpoint with * character.

Issue : Although all the Endpoints are shown in the results, the view is still paginated. When you click page 2 it will take to 2nd page of results without the search filter. Please refer the attached screenshot.

*Note : * This bug is applicable to all Artefact types.






[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-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: undefined undefined 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-4904] FileCopy mediator fails to complete when source is a server outside of firewall Created: 26/Sep/16  Updated: 28/Sep/16

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

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

Windows


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

 Description   

Per observation, FileCopy mediator not able to finish when source is a server outside of firewall/network. Log pertaining to this issue is copied below.

TID: [-1234] [] [2016-09-23 11:41:52,109] DEBUG

{org.apache.synapse.mediators.ext.ClassMediator} - Start : Class mediator {org.apache.synapse.mediators.ext.ClassMediator}

TID: [-1234] [] [2016-09-23 11:41:52,109] DEBUG

{org.apache.synapse.mediators.ext.ClassMediator} - invoking : class org.wso2.carbon.connector.FileCopy.mediate() {org.apache.synapse.mediators.ext.ClassMediator}

However, the mediator finishes successfully if the source is a server behind firewall. Log provided below.
TID: [-1234] [] [2016-09-23 11:49:18,884] DEBUG

{org.apache.synapse.mediators.ext.ClassMediator} - Start : Class mediator {org.apache.synapse.mediators.ext.ClassMediator}

TID: [-1234] [] [2016-09-23 11:49:18,884] DEBUG

{org.apache.synapse.mediators.ext.ClassMediator} - invoking : class org.wso2.carbon.connector.FileCopy.mediate() {org.apache.synapse.mediators.ext.ClassMediator}

TID: [-1234] [] [2016-09-23 11:49:20,891] DEBUG

{org.apache.synapse.mediators.ext.ClassMediator} - End : Class mediator {org.apache.synapse.mediators.ext.ClassMediator}

TID: [-1234] [] [2016-09-23 11:49:20,892] DEBUG

{org.apache.synapse.mediators.base.SequenceMediator} - End : Sequence <FileCopySeq> {org.apache.synapse.mediators.base.SequenceMediator}

 Comments   
Comment by Mo-Ting Tai [ 26/Sep/16 ]

I am using File Connector 2.0. I also made another test by specifying a ftp site, which is outside of firewall, as the destination of the operation and a local directory as the source; and the operation finishes successfully.

Comment by Malaka Silva [ 28/Sep/16 ]

Hi,

Sorry your question is not clear. Can you explain what are you trying to achieve and share the configuration you have used.

Best Regards,
Malaka

Comment by Mo-Ting Tai [ 28/Sep/16 ]

I am sorry. Let me try again.

Our objectives is:
1. to download files from our vendors' ftp servers using FileCopy; and
2. to upload files to our vendors' ftp servers using FileCopy

Code Snippet:
<?xml version="1.0" encoding="UTF-8"?>
<sequence name="FileCopySeq" trace="disable" xmlns="http://ws.apache.org/ns/synapse">
<log/>
<fileconnector.copy>
<source>ftp://username:password@vendor_ftp_url</source>
<destination>local directory</destination>
<filePattern>.*\.csv</filePattern>
</fileconnector.copy>
</sequence>

I also listed below all different test cases that I had performed and their behaviors.
1. copy file from vendor's ftp site to local directory. Behavior observed: remote file was being copied repetitively and file handle was never released since FileCopy mediator couldn't finish as seen in the log provided in the Description field.
2. copy file from internal ftp site to local directory. Behavior observed: FileCopy mediator completed successfully.
3. copy file from local directory to vendor's ftp site. Behavior observed: FileCopy mediator completed successfully.
4. copy file from local directory to local directory. Behavior observed: FileCopy mediator completed successfully.

Regards,
Mo-Ting





[ESBJAVA-4900] Casting error in admin service Created: 22/Sep/16  Updated: 22/Sep/16

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

Type: Bug Priority: Normal
Reporter: Irange Thenuwara 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
Test cases added: Yes

 Description   

A casting error occurred when the passed value in the request doesn't point to a registry while accessing BAMMediatorConfigAdmin.getBamServerConfig admin service.

Passed value should be validated to check availability of a registry.






[ESBJAVA-4893] CORS Access for restful web services Created: 14/Sep/16  Updated: 14/Sep/16

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

Type: Patch Priority: Normal
Reporter: Martin Licea Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: cors, esb
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

linux RHEL 6.7 64-bit


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   

We are trying to make calls to our restful web services/APIs using a tool called Swagger-ui. Since CORS configuration is not set at the server level, which should return a header similar to [["Access-Control-Allow-Origin: *]], Google Chrome will not display the results, and the response is lost.






[ESBJAVA-4888] Add documentation to escaping auto primitive nature selectively based on JSON field value. Created: 08/Sep/16  Updated: 08/Sep/16

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

Type: Improvement Priority: Normal
Reporter: Kevin Ratnasekera Assignee: Nisrin Sheriff
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   

This is related to issue [1] All the necessary information is attached to JIRA

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






[ESBJAVA-4886] Can not create proxy with call out mediator when anlytics enabled Created: 07/Sep/16  Updated: 26/Apr/17

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

Type: Bug Priority: Normal
Reporter: Waruna Perera Assignee: Chanaka Fernando
Resolution: Unresolved Votes: 0
Labels: 5.0.0, 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: Yes

 Description   

When create a proxy service with mediation.flow.statistics.enable=true in synapse.properties it throws empty stack exception. This happens when we use call out mediator in proxy service.

java.util.EmptyStackException
	at java.util.Stack.peek(Stack.java:102)
	at java.util.Stack.pop(Stack.java:84)
	at org.apache.synapse.aspects.flow.statistics.StatisticIdentityGenerator.reportingEndEvent(StatisticIdentityGenerator.java:103)
	at org.apache.synapse.core.axis2.ProxyService.setComponentStatisticsId(ProxyService.java:1369)
	at org.apache.synapse.aspects.flow.statistics.StatisticSynapseConfigurationObserver.proxyServiceAdded(StatisticSynapseConfigurationObserver.java:90)
	at org.apache.synapse.config.SynapseConfiguration.addProxyService(SynapseConfiguration.java:1091)
	at org.wso2.carbon.proxyadmin.service.ProxyServiceAdmin.addProxyService(ProxyServiceAdmin.java:271)
	at org.wso2.carbon.proxyadmin.service.ProxyServiceAdmin.addProxy(ProxyServiceAdmin.java:706)



 Comments   
Comment by Andrey Filippov [ 26/Apr/17 ]

This happens only if endpointKey used. If I use serviceURL then everything seems to be ok.





[ESBJAVA-4882] Typo: "Aggregate Mediator Time out occured" Created: 02/Sep/16  Updated: 02/Sep/16

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

Type: Bug Priority: Normal
Reporter: ajith vitharana 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   

it should be " Aggregate Mediator Timeout occurred"






[ESBJAVA-4831] Swagger Support for APIs Created: 08/Aug/16  Updated: 08/Aug/16

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

Type: New Feature 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   

API Definitions should provide a Swagger Definition






[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-4822] [ForEach Mediator] Native JSON support Created: 05/Aug/16  Updated: 05/Aug/16

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

Type: Improvement 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   

Support jsonpath for foreach mediator






[ESBJAVA-4819] Message Processor fails to handle message when setting wsa headers dynamically Created: 04/Aug/16  Updated: 04/Aug/16

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

Type: Bug Priority: Normal
Reporter: Nadeeshaan Gunasinghe 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   

When we add wsa headers dynamically and store them in the message store to be consumed by a ScheduledMessageForwardingProcessor, it fails to parse the wsa headers.

<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="TestProxy"
       transports="https,http"
       statistics="disable"
       trace="disable"
       startOnLoad="true">
   <target>
      <inSequence>
         <log/>
         <property name="FORCE_SC_ACCEPTED" value="true" scope="axis2" type="STRING"/>
	 <property name="OUT_ONLY" value="true" scope="default" type="STRING"/>
         <sequence key="ebMSDeliver2Destination"/>
      </inSequence>
      <outSequence>
         <log/>
      </outSequence>
   </target>
   <description/>
</proxy>

<?xml version="1.0" encoding="UTF-8"?>
<sequence name="ebMSDeliver2Destination" trace="disable" xmlns="http://ws.apache.org/ns/synapse">
    <payloadFactory media-type="xml">
        <format>
            <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
                <soap:Body>$1</soap:Body>
            </soap:Envelope>
        </format>
        <args>
            <arg evaluator="xml" expression="$body/text"
                xmlns:ns="http://org.apache.synapse/xsd" xmlns:ser="http://services.samples"/>
        </args>
    </payloadFactory>
    <header>
        <p1:Header xmlns:p1="http://www.XYZ.com/XSD">
            <p1:Version>1.5</p1:Version>
            <p1:Code>XYZ</p1:Code>
            <p1:Type>ABC</p1:Type>
            <p1:Ver>1.1/1.2</p1:Ver>
            <p1:Org>DIS</p1:Org>
        </p1:Header>
    </header>
    <header scope="default">
        <wsa:From xmlns:wsa="http://www.w3.org/2005/08/addressing">qqq</wsa:From>
    </header>
    <log level="full">
        <property name="BeforeSendingToStore" value="======"/>
    </log>
    <property name="PRESERVE_WS_ADDRESSING" value="true"/>
    <axis2ns2:store messageStore="testMs" xmlns:axis2ns2="http://ws.apache.org/ns/synapse"/>
</sequence>





[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-4803] Improve passthrough transport to support globally disabling keep-alive connections Created: 29/Jul/16  Updated: 03/Aug/16

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




[ESBJAVA-4800] API source doesn't show <handlers> tag Created: 27/Jul/16  Updated: 24/Oct/16

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

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

API source doesn't show <handlers> tag. (Yet, it is shown in full source view)



 Comments   
Comment by Charini Nanayakkara [ 24/Oct/16 ]

Related to https://wso2.org/jira/browse/ESBJAVA-3395





[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-4788] Can't create an scheduled task with authentication (ws-security) Created: 25/Jul/16  Updated: 25/Jul/16

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

Type: Bug Priority: Normal
Reporter: Wesley Forti 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

 Description   

I have a proxy on WSO2 ESB using WS-Security.

I need to do a scheduled task that will call this proxy every day. But I need to post my username and password.

When I create my task, there is no options to authentication.

What's the right way to do this?

I know that I can put the credentials inside my payload on "message" field, but I wouldn't like this... I'd like to get it on Secure Vault Tool.






[ESBJAVA-4790] Send Mediator behavior incorrect (Please see config given below) Created: 26/Jul/16  Updated: 04/Aug/16

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

Type: Bug Priority: Normal
Reporter: dushan abeyruwan Assignee: Eranda Rajapakshe
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   
<?xml version="1.0" encoding="UTF-8"?>
<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="Foo"
       transports="https,http"
       statistics="disable"
       trace="disable"
       startOnLoad="true">
   <target>
      <inSequence>
         <log level="full">
            <property name="MESSAGE" value="#11111"/>
            <property name="11 Header" expression="$ctx:To"/>
         </log>
         <call>
            <endpoint>
               <http uri-template="http://localhost:8080/foo">
                  <timeout>
                     <duration>40000</duration>
                     <responseAction>fault</responseAction>
                  </timeout>
                  <suspendOnFailure>
                     <errorCodes>-1</errorCodes>
                     <progressionFactor>1.0</progressionFactor>
                  </suspendOnFailure>
                  <markForSuspension>
                     <errorCodes>-1</errorCodes>
                  </markForSuspension>
               </http>
            </endpoint>
         </call>
         <log level="full">
            <property name="MESSAGE" value="#2222222"/>
            <property name="To Header" expression="$ctx:To"/>
         </log>
         <send/>
      </inSequence>
   </target>
   <description/>
</proxy>

When putting "send" mediator, it seems the behavior is exactly as "respond" but that shouldn't be correct.

In addition to that , above config leads to unwanted timeout handler error, please review the behavior of above flow and correct the logic at "Send" mediator



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

Reducing the priority since this has many workarounds to achieve the requirement





[ESBJAVA-4273] [MB] ESB continuously retries to connect to a MB node when one MB node fails Created: 16/Oct/15  Updated: 06/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: 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 ====