Files
2025-02-06 20:33:26 +02:00

791 KiB

1issuekeytitledescriptionstorypoint
2TESB-1Investigation: S1 Improved user experience with TOS/TIS/ESB StudioNULL5
3TESB-2Investigate: S2 Business Service Implementation and provider registration in TOS/TIS/StudioNULL5
4TESB-3Investigate: S3 Improved XML Data Handling Components in TOS/TIS/StudioNULL5
5TESB-4Investigate: S7 TIS RTx based on the Service FactoryNULL5
6TESB-5Investigate: github migration new opportunities and challengesNULL5
7TESB-6S9 Investigate MDM Call ESB Provider from MDM TriggerNULL5
8TESB-33Common - Setup ESB Runtime Code Repositories (gitHub)Code Repository: It is expected that we setup a new git (gitHub) Code Repository for the 'new' Talend ESB Development Tasks with the goal that this repository contains all of our artefacts which will be later on part of the new ESB 4.0 and higher code base. 3
9TESB-34Initial Build System Setup- Concept within our Wiki how the internal build system is structures - Focus on using Maven 3 (+Tyco) - We use Nexus for the 3rd parties (Maven Repo) but here we should have potentially 2 repos and we might go away from snapshots to fully versioned artefacts even within the development repo (for 3rd parties) - Evaluate the pros / cons to continue with Cruise Control or if we get some significant featurews with Hudson3
10TESB-35Get familar: CXFfor all of the team mebers who not worked with CXF before we asked you to get familar with CXF by using / exporing a bit the documentation and examples on the Apache CXF web-site but also the Documented Examples provided with the Talend SF Release 2.3.1. 8
11TESB-36SL: Service Locator - InstallGet familar and install Zookeeper (Apache Hadoop subproject) and get used with the distributed setup and web-ui provided by Zookeeper2
12TESB-37SL: Service Locator Provider registrationCreate a CXF Interceptor in a way that we could register the current provider via the standard Zookeeper client.3
13TESB-39Agreed policy handling with CXFThis item is intended to deliver: - A concept how we deal with Agreed Policies in general in the CXF environment - Define and configure a CXF Processing Chain based on a Agreed policy (for now the current SR Agreed polices) - This BI is more like a proof-of concept implementation5
14TESB-40SR: Web-UI Mock-UPCreate an initial UI Specification for the new Service Registry (Runtime Registry) Based on the featues and API defined in TESB-141 and TESB-479. From a Look & Feel the SR UI should be aligned to the TIS (Admindistration Center)2
15TESB-53proxy settings for Web Service schema: mandatory user/passwordin the proxy settings of the Web Service schema user/password are mandatory. Should be optional fields.1
16TESB-54XML mapping dialog doesn't support namespaces from imported XML Treeimport importedXmlTree.xml as XML Tree in "Configure Xml Tree" dialog of tWriteXMLField produced output: {code:xml} <soapenv:Envelope> <soapenv:Header/> <soapenv:Body> <v2:getResource type="ServiceDescription"> <Namespace>http://services.sopera.org/demo/1.0</Namespace> <Name>TestService</Name> </v2:getResource> </soapenv:Body> </soapenv:Envelope> {code} but expected: {code:xml} <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header/> <soapenv:Body> <v2:getResource xmlns:v2="http://types.sopera.org/ServiceRegistry/query/V2.0" type="ServiceDescription"> <Namespace>http://services.sopera.org/demo/1.0</Namespace> <Name>TestService</Name> </v2:getResource> </soapenv:Body> </soapenv:Envelope> {code} i.e. namespaces are ignored during importing XML Tree and to achive desired output you should manually add namespaces to XML Tree in "Configure Xml Tree" dialog 1
17TESB-55XML mapping dialog doesn't support namespaces correctly from imported Xml Schemaimport importedXmlSchema.xsd as XML Tree in "Configure Xml Tree" dialog of tWriteXMLField produced output: {code:xml} <Id xmlns="http://types.sopera.org/ServiceRegistry/common/V2.0" type="ServiceDescription"> <Namespace>http://services.sopera.org/demo/1.0</Namespace> <Name>TestService</Name> </Id> {code} but expected: {code:xml} <com:Id xmlns:com="http://types.sopera.org/ServiceRegistry/common/V2.0" type="ServiceDescription"> <Namespace>http://services.sopera.org/demo/1.0</Namespace> <Name>TestService</Name> </com:Id> {code} i.e. nested elements should be in default (empty) namespace and to achive desired output you should manually reconfigure namespaces to XML Tree in "Configure Xml Tree" dialog 1
18TESB-56XML mapping dialog doesn't allow to choose type of imported Xml Schemaimport multipleTypes.xsd as XML Tree in "Configure Xml Tree" dialog of tWriteXMLField there is no possibility to choose schema type to use in XML mapping also reproducable via creating "File XML" metadata ("OutPut XML" type) using schema from file 1
19TESB-139SL: Create Service Locator UI Mock-UpCreate a specification for the Service Locator UI. Remark: Even though the Apache Zookeeper Project provides some Ui it is not really very inuitive to visualize the appearance and removal of Service Providers. Technical Remark: The UI is a web ui and the implementation will be made with GWT.3
20TESB-141SR: Specification of the updated Talend ESB RegistryProvide a specification for the new Talend ESB Registry which has a stronger focus on a pure Runtime SR. This part of the specification is expected to describe in detail - The use cases we support with the new registry (and also which once we will no longer support from the ASf Registry) - the Service API - the Data Model /relationships we can maintain with the SR - The implementation technology for the content repository (final decision for / against using Jackrabbit) As a base for the spec please use: http://wiki.servicebackbone.org/wiki/index.php/TESB:ServiceRegistry5
21TESB-144SR: Define Deployment package structure + examplesDefinition of the structure (zip file) which we allow to 'deploy' within the SR (WSDL, Policies, etc.) The structure is intented to be implemented later on by the deploy operation.2
22TESB-151STS: Provider Implementation (Servlet) (API + dummy issue operation implementation)Implement a new CXF Provider based on the WS-Trust 1.4 (!) API. The primary deployment for this STS Provider will be Tomcat 6 (WAR File). The Provider is also expectred to run later in a OSGi Environment (Equinox + Karaf). (For the WSDL and Spec of WS-Trust 1.4 STS see http://docs.oasis-open.org/ws-sx/ws-trust/v1.4/os/ws-trust-1.4-spec-os.html) Additionally: Implement the 'issue' operation of the service in a way that for a given UsernameToken and/or X.509 Token, we return a 'dummy' SAML Token (Spec. 1.1) which is created by using the latest version of OpenSAML 2.3.1. (so far it is ok to always return the same 'example SAML Token within the 'issue' operation implementation. 3
23TESB-158Documented Example: 'Rent-a-Car' Service for Talend ESB - OSGiRebuild the Rent-a-Car Service as CXF JAX-WS Consumer & Provider similar to the once we provided in the Swordfish Tutorial for Helios. Also the Swing Client should be migrated and work within this example with the new Talend ESB Service consumers and providers and within our OSGi Container (Equinox + Karaf). It is expected that the consumer can switch between a static (local config/policies) and a dynamic (SR policies) even though initial it only needs to work with local configuration/policies. 3
24TESB-203Develop, test and document Talend ESB Consumer ComponentNULL5
25TESB-205New components: tESBProviderRequest and tESBProviderResponseDevelop, test and document two new components: tESBProviderRequest and tESBProviderResponse. These components should work similar to the tWebServiceRequest but from the provider side. Code generated by these components should use ESB Service Factory (aka CXF).3
26TESB-208Integrate developed components with Talend Testing FrameworkNULL5
27TESB-209Create a build infrastructure (CI, build scripts, etc)NULL3
28TESB-274RTC: Policy resolver impl.Implementation of an initial policy resolver which is able to configure the processing chain in CXF by an effective policy document we get from 'outside' (could be a local file). Limited to be demonstrated with existing CXF policies (e.g. Authentication) Assumptions: For each endpoint (Consumer/provider) the user can decide if the chain is dynamically (SR provided policy / config) or static configured (local config/policies) - We will at least initially not support a mixed mode. So far it is ok if the policy negotiation is done within the SR and not in the local policy resolver It is expected that the chain can be reconfigured (Cache Invaliation)5
29TESB-278SL: Provider registration impl. CXF Provider registration (to the Service Locator) at startup. Implementation based on the M0 results for the incl. heardbeat (Provider availablility check)3
30TESB-279SL: Endpoint ResolverA consumer for the Service Locator which is able to retieve the list of available provider (endpoints) for a given service and uses inital only a random selection strategy to select a single endpoint (provider) out of the list if more then one exists. The SL client should also be able use the different SL instances and should switch automatically to another SL instance if the one he used before disappeared. Workflow to be supported on the consumer: - For a given Service get the list of existing providers (instances) from the SL. - Select from the list the endpoint to be used by just using a simple startegy to randomly pick one entry from the list but design. - Keep the selected endpoint also fro subsequent requests - Refresh (reload list from SL) the list of endpoints when the current selected Endpoint results in a 'connection refused' error - use the new endpoint Remark: We also should try to use/leverage/take into account the fail over feature which is available in CXF. (Remark: we mainly leverage here Zookeeper client features)3
31TESB-280SL: Installation & User Manual (Draft)Installation / Configuration manual for SL (Draft)3
32TESB-281STS: Issue standard SAMLToken - SAML 1.1Implement the Issue operation of the STS Framework service to support the following Inbound/Outbound Tokens: Inbound: UsernameToken, X.509 Token Outbound: SAML 1.1 w/ Holder-of-Key and Bearer subject confirmation methods To verify the incoming UsernameToken it would be ok to use a local file e.g. tomcat_users.xml and for the validation of the X509 Certificate it would be ok to use a local keystore. (.jks) which can be configured (location, user /pwd to access the store) Target Runtime Environment: Tomcat 6 Optional: OSGi Container Purpose: It is intended to be an Apache CXF Example implementation to demonstrate how the STS Frameweok service could be used2
33TESB-282SR: RTC: Specification of the effective policy format / XML and concrete policy definition for SAMLToken, UsernameToken, Authorization and CompressionDefine the new agreed policy format (in detail) which we expect to be send / created by the SR in future. Also provide concrete definition how the policy document for Authentication (SAMLToken, UsernameToken ) Remark: the goal is to get a sclose a s possible to standard WS-Policy and the WS_Security Policy definitations. Remark: Effectivew Policy is the new name we use in future but it is the same we had named as 'Agreed Policy' before. 3
34TESB-368New component: tESBProviderFaultNULL3
35TESB-369Develop additional TUJs for testing tESBConsumer componentsMore information about TUJs you can find here: http://talendforge.org/wiki/doku.php?id=tests:automated_tests:design Testing results are here: http://www.talendforge.org/colibri/charts.php5
36TESB-475STS: Issue standard SAMLToken - SAML 2.0As extention/alternative to TESB-281 we also like to issue SAML 2.0 Token on request to demo the new feature in CXF based on the updated WSS4J 1.6 version. Implement the Issue operation of the STS Framework service to support the following Inbound/Outbound Tokens: Inbound: UsernameToken, X.509 Token Outbound: SAML 2.0 w/ Holder-of-Key and Bearer subject confirmation methods To verify the incoming UsernameToken it would be ok to use a local file e.g. tomcat_users.xml and for the validation of the X509 Certificate it would be ok to use a local keystore. (.jks) which can be configured (location, user /pwd to access the store) Target Runtime Environment: Tomcat 6 Optional: OSGi Container Purpose: It is intended to be an Apache CXF Example implementation to demonstrate how the STS Frameweok service could be used and also to demonstrate the new SAML2.0 suppport on CXF based on the new WSS4J 1.6 Lib.1
37TESB-476RTC: Authentication Interceptor using STS ClientImplementation of Authentication Interceptor (actually the use of a STS Client to request a SAML Toke and set it in the SOAP Header using a custom part and make sure we not duplicate things already available in the exsiting Authentication Interceptor) to request a SAML Token (by UsernameToken and/or X509 Certificate) where the user has to provide a Username/Password for the Username Token and a X509 Certificate by the Authentication Callback Handler provided by TESB-154 Transfer the exsiting authentication callback handler to the Talend ESB to allow that a X509 Certificate can be provided to the SAML Token Request Interceptor defined in TESB-476 Also document how callbacks are handled in general for the Talend ESB product using the CXF Bus Context Properties3
38TESB-478SL: Integration of Provider Registration and Endpoint Lookup into CXFPlace the SL Provider Registration (CXF Provider side) and Endpoint Lookup (CXF Consumer side) in CXF. It is expeceted that this could be installed to a standard CXF Installation as a Talend ESB SL Feature. Also the static failover feature which we currently use seems to not be sufficient. Needs to be clarified and most likely also changed. Also concider and make sure that the feature works in our standard OSGi Container, Additional: We also need to finally discuss and aggree with PM if we should support JMS Endpoint at all and if yes if we should allow the Consumer (business user) to limit the endpoint which should be used for this consumer to a certain transport (currently http:/https: or jms:3
39TESB-481tESB Provider components should be compatible with tXMLMapScope of this backlog item: * Correct the output and input flows of tESB* components to use Document instead of Strings * Test that given structure works with tXMLMap 2
40TESB-482Make sure tESB Component TUJs are successfully runningNULL1
41TESB-483Automatic update of the TOS SVN based on the results of ESB Tooling Hudson buildNULL1
42TESB-484Add a section in the GettingStarted Guide how to use authentication policies & STSAs a Developer I want to learn how to secure my services and clients and how to take advantage of the CXF STS. Extend the Rent a Car demo to show how the service can be secured by the new Authenication Interceptor (STS Client) and the SAMl Tokens provided by the STS and the existing CXF Authentication Inteceptor. Content * What is an STS, what is the advantage of having an STS compared to have to configure everything locally on clients and services. * A diagram about the flow between client STS, and client provider what are artifacts that are exchanged. * Describe how to install and run the STS. If possible use the jetty maven plugin for this., Describe what has to be configured, e.g. keystore * Describe what has to be configured on the client side / service side and what the purpose is. * Decribe how to deploy and run the demo. * Describe how to uninstall the demo Provide the necessary configuration files and extend the maven build to create artifacts usable for the demo. For the tutorial use X509 Certs (best use the one already provided with the STS itself so it has not to be reconfigured. Server should return a SAML 2.0 token. Note Feature might involvet to male sure STS is really included in CXF 2.4 and to synchronize with Dan. Acceptance Criteria PO or other person with similar background must be able to get the demo running within 15 minutes.3
43TESB-485STS: Refactor existing STS Provider * Refactor the existing STS (from M0) to use org.apache. instead of or.talend (and move it so far in a private gitHub Repo) * Start the ddiscussion baout the feature on CXF User/Dev List (sync with Dan) * remove the implemenation for the Issue operation and implement/reuse it for the SAML 1.1/2.0 'Example Implementtions (also with org.apache. and also in the privat gitHub repo) The goal is to contribute during the sprint or at least in March the STS Framework service to a CXF Jira (and then by a commiter to CXF) and also to contribute the example implementation. 2
44TESB-486Refactor and simplify code produced by tESBProvider and tESBConsumer componentsNULL5
45TESB-528Documented Example: Simple JAX-WS Consumer / Provider with STS (UsernameToken)Provide a documented example with a running JAX-WS consumer / provider which uses the STS with a UsernameToken and could be build and installed with a maven. (similar to the TSF Documented Examples)2
46TESB-529Documented Examples: Enable the Rent-a-Car service to use the Service LocatorDocumented Examples: Enable the Rent-a-Car service to use the Service Locator so just provide a how to documentation what need to be changed on the base Rent-a-Car deployment to use the Service Lcator feature with the Rent-a-Car example. 3
47TESB-756Make Talend ESB Runtime release readyAs a product owner I need to make sure we fulfill all legal obligations and have a reproducible build. * Add coypright headers to all sources * Write license file (see TSF and TIF) * Write Notice file (see TSF and TIF) * Write Readme * List of required third-party libraries and corresponding licences (not part of the project) Clean up of Maven * define all plugins used in the build in the root pom and make sure they all have version numbers * For third-party dependencies define version numbers in the root pom (in the dependency management section) 3
48TESB-762Contribute STS provider & sample implementation to CXFThe STS components we built shall be part of the CXF 2.4.0 release, therefore we have to contribute it as soon as possible. We should initiate the discussion and incorporate as much change requests as possible. - Initiate further discussion of patch - Incorporate change requests from ,mailing list. h3. Acceptance Criteria * Attach patch with our STS contribution to https://issues.apache.org/jira/browse/CXF-1940 * Initiate further discussion of patch * Add further patch that covers the more formal changes ** Fulfill CXF checkstyle rules ** Use CXF compliant log statements ** Remove all printStacktrace and println statements 3
49TESB-763Packaging of the projectAs R&D team we need to provide two packages for the 4.0 release One package contains the software, the other the samples and the documentation. Both packages need to be provided as zip and tar.gz. a) Content of "software" package * TSF 2.4 and TIF 2.6 (CXF, camel Equinox karaf, Active MQ) * Monitoring Component * Locator Component * STS if not yet part of CXF Structure {noformat} / |-- | |-- bin (command line tools, wsdl2java, etc) | |-- container (Equinox/Karaf container w/ start/stop scripts etc.) | |-- docs | | |-- api (CXF Javadoc) | |-- etc (configurations) | |-- lib (CXF/Camel jars) | |-- lib-samples (jars required for samples, mainly for cxf) | |-- licenses (license text files for non-Apache licensed stuff) | |-- modules (CXF modules, should Camel components go here as well instead of lib?) | |-- samples (CXF/Camel examples) | |-- add-ons (subdirs for Locator, Monitoring, STS) |-- LICENSE |-- NOTICE |-- README {noformat} b) Content of "documentation" package * TSF & TIF samples * Rent a Car demo * locator & monitoring sample * TSF Users Guide * TIF Users Guide * Getting Started + Locator Users Guide + installation guide service locator Structure {noformat} / |-- | |-- docs (User Guides, Getting started, installation guide) |-- |-- examples (TSF, TIF samples, Rent a Car demo, locator sample, monitoring sample) {noformat} - Overall take TSF and TIF packages as blue print - Release build must use Nexus repository (not maven central) 3
50TESB-764Getting Started Guide for Talend ESBAs a Developer I want to learn the purpose of the Rent a Car Demo and how to run it. - Intro / Overview what to expect of this guide - Small architectural scetch (taken from swordfish demo?), what does the user learn about Talend ESB / CXF - How to compile the demo and deploy it into the OSGi container - How to run it. What does the user see / can do if everything works as expected Copy / Paste as much as possible from Swordfish demo Outcome should be in DocBook format h3. Acceptance Criteria The PO or some other person with developer skills is able to get the demo running with the help of the guide.3
51TESB-766User Guide Service LocatorAs a Developer I want to learn how to enable the Service Locator Component for the Rent a Car demo. - Purpose of ServiceLocator - What to additionaly deploy - Where to configure the additional feature - Where to learn how to install the locator server - How to run, what should the developer see. Outcome should be in DocBook format2
52TESB-780Build for Talend ESB StudioNULL1
53TESB-799Support one-way communication styles in the compponentsNULL5
54TESB-839NPE in generated code for provider TOS jobI was able to generate a job that is constantly producing an NPE inside the generated code. Exported job is in attachment. Tested on 4.2.0M4 Stacktrace: {code} web service [endpoint: http://127.0.0.1:8088/esb/provider] published Mar 8, 2011 2:01:44 PM org.apache.cxf.phase.PhaseInterceptorChain doDefaultLogging WARNING: Application {http://talend.org/esb/service/job}SimpleWebService#{http://talend.org/esb/service/job}invoke has thrown exception, unwinding now org.apache.cxf.interceptor.Fault org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:155) org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.createFault(AbstractJAXWSMethodInvoker.java:86) org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:121) org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:60) org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:75) org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58) java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) java.util.concurrent.FutureTask.run(FutureTask.java:138) org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37) org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:106) org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255) org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:113) org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:311) org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:280) org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:72) org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:922) org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:860) org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:247) org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:114) org.eclipse.jetty.server.Server.handle(Server.java:352) org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:596) org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:1066) org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:805) org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:218) org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:426) org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:510) org.eclipse.jetty.io.nio.SelectChannelEndPoint.access$000(SelectChannelEndPoint.java:34) org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40) org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:450) java.lang.Thread.run(Thread.java:680) Caused by: java.lang.NullPointerException org.dom4j.io.DocumentInputSource.<init>(DocumentInputSource.java:37) org.dom4j.io.DocumentSource.setDocument(DocumentSource.java:80) org.dom4j.io.DocumentSource.<init>(DocumentSource.java:57) test.simplewebservice_0_1.SimpleWebService$1ESBProvider_tESBProviderRequest_1.invoke(SimpleWebService.java:747) test.simplewebservice_0_1.SimpleWebService$1ESBProvider_tESBProviderRequest_1.invoke(SimpleWebService.java:1) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:173) org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:89) ... 29 more Job SimpleWebService ended at 14:01 08/03/2011. [exit code=0] {code}1
55TESB-875Project name should be also used for Service ID (QName) generationFor generated jobs that are created with tESBProvider components, service ID (QName) in the generated WSDL should not only depend on the job name but also include a project name.1
56TESB-891Deliver tESB components and associated libraries inside the Eclipse PluginNULL3
57TESB-1017Error with lock on mysql tables when persisting eventsWhen an event is written the code first gets the next event id from a sequence. In mysql this causes a hang which after some time results in a timeout getting locks. The workaround was to remove the @Transactional annotation on the writeEvent method in EventRepositoryImpl. We should solve the problem to be able to use transactions again.3
58TESB-1049Improve building of the Rent a Car Demo for different scenariosAs a developer I want to be able to compile the Rent a Car demo for different scenarios (locator, monitoring, sts, ....) without having to change the config files. Today only the basic Rent a Car demo can be compiled out of the box. To compile more compley samples, such as the locator sample, the user has first to change the spring configurations of most of the Rent a Car projects before he can recompile it. Worse, if he compiled another scenario before, he has first to remove the specific configuration of the scenario before. Therefore enable the build to provide a way via maven profiles to compile the different scenarios without having to change source code or configuration. Without specifying a profile the the basic demo should be built, specifying a profile "locator" should build the locator enabled demo. - The build system must be prepared to include further profiles for additional scenarios - The jars created by different profiles must get scenario specific names, e.g. crmservice-service-locaor-4.0.jar h4. Acceptance Criteria I must be possible to first compile the basic Rent a Car demo with one maven command, then without changing anything to compile with a second maven command the Rent a Car locator enabled sample.2
59TESB-1050Improve the Getting Started GuideAs a Developer I want to have a demo that is easy to follow and where the likelihood of success is very high. - Incorporate Glenns DocBook improvements - Work on PO's review remarks. See attachments for details h4. Some Highlights * Compile of Rent a Car demo must possible in one step * Deploy sample to Karaf by using feature descriptions and not copying each jar into the deploy dir * Distribute sample to at least two containers * Make locator sample more realistic by having several instances of the services. * Describe how to enable the sample in Eclipse h4. Acceptance Criteria PO or other person with similar background must be able to get each demo running within 10 minutes.3
60TESB-1051Build and test the package with the latest Camel and CXF versionsWe will release Talend ESB 4.0 with Camel 2.7.0 and CXF 2.4.0.. We should therefore upgrade the build to use Camel 2.7.0 and CXF 2.4.0 snapshot (2.4. is not yet released). To be able to fix things in CXF if necessary we should test our additional components and samples with latest CXF snapshot. - Test our additional components, service locator, sam, and integration with sts. - Execute all our samples, especially the Rent a Car demo. - Execute 2-3 examples of tsf and tif - Protocol all the tests2
61TESB-1052Improvements for the release packagesa) talend-esb-4.0.tar.gz README.txt * Introduction is getting a bit long (obviously it is the union of the tsf + tif intro), but misses to really talk about Talend ESB * In the main section Camel is missing, also the additional TESB components (locator + sam) should get described b) talend-esb-4.0-doc.tar.gz Add a pom file in the example directory that is just an umbrella to build all samples.2
62TESB-1053Make sure our delivery is compliant with legal requirementsFor our delivery we should make sure we have * License file with the license of the package we deliver. * All licenses for all 3rd party libraries we deliver with our package * All of 3rd party libraries listed in *notice.txt* file together with the license name and location on where to find source. Please see any SOPERA delivery we did for the last 5 years for the example. 1
63TESB-1054Generated JOB class should have ESB-specific methodsNULL3
64TESB-1055Prepare contents for tESB Components DocumentationPrepare documentation content for Technical Writer.3
65TESB-1227[Service Locator] Handling of connectionTimeout and sessionTimeout properties in client spring configurationInvalid values are not rejected by exception Valid value are not used - defaults are used instead2
66TESB-1233Make tESB Provider and Consumer components compatible to new ESB APIAs a Talend Job Developer I would like to deploy Talend Jobs in OSGi container (Talend ESB) so that I could use other ESB services at runtime.3
67TESB-1234Make sure tESB Consumer Component are working in TOS* As a Talend Job Developer I would like to use tESB Consumer Component in my Jobs with TOS so that my jobs would reuse other (web) services. * As a Talend Enterprise Job Developer I would like to use tESBConsumer Component in my Jobs with TIS using TIS Metadata repository, so that I could reuse same metadata in multiple Jobs. 2
68TESB-1235GWT knowhow acquisitionWe are going to use GWT + Ext GWT for Talend Web GUIs3
69TESB-1276Getting Started Guide references STS documentation, but it's not included in the packageThe Getting Started Guide (p. 29) refers to a "CXF STS server Installation and Configuration Manual" for instructions on how to setup an STS, but this document is not included in the package. Either a) include the documentaion in the package or b) insert the steps required to get the STS set up and running into the Getting Started Guide (preferable). 1
70TESB-1303Shell scripts to run service locator / zookeeper are not executable under Linux / Mac OS XThe shell scripts to run the service locator (aka zookeeper) that can be found under zookeeper/bin are not execuatble. Make them executable for all.1
71TESB-1305In the 'add-ons' directory, 'Locator' and 'Monitoring' should have a lower case first letter.All othe directories are in lower case. To avoid confusion also these two directories should follow the convention. Hint: Don't forget to also update the naming inscripts referencing the directories. 1
72TESB-1306Rent a Car related directories are intermingled with the other examplesAt the moment it is not clear which directories under examples belong to the Rent a Car demo and which are examples of their own. Also at temoment it is not possible to build all examples with one maven command. Create under examples a directory rent_a_car directory and move all directories related to the Rent a Car Demo und the new directory. Create a maven pom file in examples/rent_a_car that builds the different tutorials. Update the Getting started guide accordingly. Change examples/pom.xml to build all examples including rent a Car.2
73TESB-1311The STS based Rent a Car Tutorial does not work if running Karaf container is located next to examples directoryCRMService has the wsdlLocation '../examples/tesb/crmservice/common/src/main/resources/model/CRMService-sts.wsd'. If examples directory of package is not sibling of runtime container the demo breaks. For the actual stacktrace see attachment.1
74TESB-1312Builds for examples/sam and examples/locator fail because TESB jars missing in maven centralMaven when building the examples/sam and examples/locator assumes the TESB jars sam-agent-4.0.jar, sam-common-4.0.jar, and locator-4.0.jar in the maven repository. If you do not build the whole TESB project from scratch you normally don't have them in your maven repository.2
75TESB-1323compile of the samples with maven is failedcompile of the samples with maven is failed. Just go to the talend-esb-4.0\examples\ and execute: mvn clean install In result: ... [INFO] SOAP/JMS Transport Specification Example Service .. FAILURE [27.682s] ... [ERROR] Failed to execute goal on project jms-spec-server: Could not resolve dep endencies for project com.talend.sf.examples.jaxws-jms-spec:jms-spec-server:bund le:1.0: Could not find artifact org.apache.cxf:cxf-rt-transports-jms:jar:2.4.0-S NAPSHOT -> [Help 1] [ERROR] ... and build is failed. build log in attach P.S. the same error with mvn clean install -Psnapshots1
76TESB-1332Getting Started Guide is missing information how to see sam events in databaseChapter 8.5 in the Getting Started Guide claims to describe how to see the sam events in the database, but important information is missing. Information missing: - jdbc url of the event database - user name and password. - short overview what the contents of the table is (or at least a reference)1
77TESB-1333Getting Started Guide is missing description of configuration changes to be done for locator, sam, and sts examples.The Getting Started Guide describes how to build the different examples, but does not describe what the configuration steps are a user would need to do manually to get the features enabled. The guide should at least describe the necessary changes needed in the spring configurations to enable the different features. 1
78TESB-1334In the STS based tutorial not only the CRMService should be secured, but also the ReservationServiceExtend the demo to also secure the requests to the ReservationService likr for the CRMService.1
79TESB-1335Encryption in the STS based Rent a Car demo makes the scenario more complex than necessary.NULL1
80TESB-1336Locator example is missing a README fileNULL1
81TESB-1337Dependent tesb-locator-client feature is not installed when tesb-services-locator feature is installed.When running the demo described in chapter 7 "Enabling the Service Locator for the Rent a Car demo" of the Getting Started Guide. the step "features:install tesb-rac-services-locator1" leads to the following error: Error executing command: Could not start bundle mvn:org.talend.esb.examples/crmservice-service-endpoint-locator1/4.0 in feature(s) tesb-rac-services-locator1-4.0: The bundle "crmservice-service-endpoint-locator1_4.0.0 [162]" could not be resolved. Reason: Missing Constraint: Import-Package: org.talend.esb.locator; version="0.0.0" When explicitly installing feature "tesb-locator-client" before, executing the step is successful. This only happens if one of other demos was run before on the same container. Expectations is that even if the container was manipulated before the demo steps should work as described in the guide. 3
82TESB-1338Enable the ESB_Runtime build to exclusevly use Nexus repository for build.NULL3
83TESB-1339Recheck NOTICE file Make sure that the NOTICE is up-to-date. 1
84TESB-1440Provide code quality checks and reports in build- Integrate checkstyle plugin for the build, generate a report and also do violation check. At the moment do not fail if there are violations. Use the cxf set of checkstyle rules. - Integrate PMD plugin for the build, generate a report and also do violation check. At the moment do not fail if there are violations. Use the cxf set of PMD rules. - Generate a unit test coverage report. - Prepare the build to be able to fail on checkstyle and PMD rule violations2
85TESB-1441Enable Hyperic to monitor CXF- Provide plugin that allows to monitor CXF services that run in a Tomcat container or in a Talend ESB container (Equinox / Karaf). - All properties provided by CXf should be available - Autodiscovery of CXF services by Hyperic Agent should be possible - Document how to enable CXF for management, how to deploy and configure the hyperic plugin to the hyperic agents and server. Describe what has to be configured in Tomcat / OSGi container. If documentation is already available else where reference is also fine.5
86TESB-1442Enable Hyperic to monitor Camel- Provide plugin that allows to monitor Camel routes that run in a Tomcat container or in a Talend ESB container (Equinox / Karaf). - All properties provided by Camel should be available - Autodiscovery of Camel routes by Hyperic Agent should be possible - Document how to enable Camel for management, how to deploy and configure the hyperic plugin to the hyperic agents and server. Describe what has to be configured in Tomcat / OSGi container. If documentation is already available else where reference is also fine.5
87TESB-1443Make Sam server executable in ESB container (OSGi)At the moment the sam server can only run in a Tomcat container. Make it running in the Talend ESB container. Reuse if possible the war file we already generate and use pax Web to integrate into OSGi.3
88TESB-1444In OSGi make sam components configurable by the Config Admin serviceAt the moment sam agent and sam server are configured by property files that have to be somewhere on the class path. In OSGi the better way is to use the config admin service which also allwos to dynamically change the properties. The sam components should be extended to take advantage of the config admin service in case they are running within OSGi and to go the traditional way when they are running in Tomcat or standalone. MAke sure the properties can be changed dynamically Also adapt the Rent a Car so that the properties are actually taken by the config admin service. The impl of the service we use in our conatiner expects the properties to be in ${container}/etc3
89TESB-1446Enable Service Locator for Rest based services.Like for the SOAP services it should be possible for Rest based services to register at locator and for clients to lookup services. Feature already implemented for 4.2, but does not work because of missing fnctionality in CXF. With latest version evrything should work now. - Verify feature really works - Add a sample for locator enbaled REST service - Add documentation in runtime configuration guide. See conversation in mailing list for more details: http://groups.google.com/group/talend-ai-engineering/browse_thread/thread/28f56bb86d2f6d4/ad7221e2fc64e1a2?lnk=gst&q=REST#ad7221e2fc64e1a23
90TESB-1447Issues with the TESB Getting Started GuideFind attached a review of the Getting Started Guide. Evaluate the review comments and fix the guide where appropiated.1
91TESB-1452Improve Component documentation with new tXMLMapNULL1
92TESB-1453Prepare build and development environment for TAC DevelopmentNULL3
93TESB-1454Design, prototype and review SAM UINULL3
94TESB-1459Rebrand TOS to Talend Service BuilderNULL2
95TESB-1460WSDL-driven provider component configurationNULL5
96TESB-1461Service Locator support for tESBProvider/tESBConsumer componentsNULL2
97TESB-1462Service Activity Monitoring support for tESBProvider/tESBConsumer componentsNULL2
98TESB-1463Best practices for developing JAX-WS/OSGi/MAVEN/(REST) services in Eclipse for Talend ESBNULL3
99TESB-1577WSDLException while running WS-Security (STS) enabled Rent A Car tutorialThe Rent A Car tutorial on STS enabled client-app (tesb-rac-app-sts) car:GUI running in the Secondary OSGI container is throwing the following exception. Caused by: javax.wsdl.WSDLException: WSDLException (at /wsdl:definitions/wsdl:import/wsdl:definitions/wsdl:types/xs:schema/xs:schema): faultCode=PARSER_ERROR: Problem parsing 'bundleentry://159.fwk1234403385/META-INF/spring/model/oasis-200401-wss-wssecurity-utility-1.0.xsd'.: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: Invalid byte 3 of 3-byte UTF-8 sequence. Test Steps. 1. Build the STS feature. Run from directory talend-esb-<version>/examples/tesb/rent-a-car/: mvn clean install -Psts 2. Start the STS server on directory samples/cxf/sts_issue_operation mvn -Djetty.port=9081 jetty:run 3. Run the container1 (execute ./container/bin/tesb in the talend-esb-4.0 directory). Create dir keystores. Copy file servicestore.jks from crmservice\service-endpoint-sts\src\main\resources\META-INF\spring\ to keystores directory. In ESB console, install features:addurl mvn:org.talend.esb.examples.rent-a-car/features-sts/4.0/xml Eventually (when sts example have already been installed): features:refreshurl features:install tesb-rac-services-sts 4. Run the Secondary container(execute ./alternate-container/bin/tesb in the talend-esb-4.0 directory). Create dir keystores. Copy file clientstore.jks from crmservice\client-sts\src\main\resources\META-INF\spring\ to keystores directory In Secondary ESB console, install features:addurl mvn:org.talend.esb.examples.rent-a-car/features-sts/4.0/xml Eventually (when previous examples have already been installed): features:refreshurl features:install tesb-rac-app-sts 5. Execute car:GUI in Secondary ESB console, search(find) car/reservation. Note: Log attached.2
100TESB-1580Runtime support for deploying Data Services to Talend ESBRight now Talend Service Studio is able to generate Talend jobs with build-in support of the TESB runtime interface *TalendESBJob*. We need a runtime support so that Jobs deployed on TESB and implementing such interface would share common CXF instance. Main story behind it is that *I'm as Data Service developer would like to deploy multiple Talend jobs that are implementing different operations of the same service*. That mean that multiple jobs should share same endpoint and it is only feasible to do when multiple jobs are sharing same CXF instance. Here is a sequence diagram that demonstrate who is doing what: [big picture|http://www.websequencediagrams.com/cgi-bin/cdraw?lz=cGFydGljaXBhbnQgQ1hGCgAEDFJ1bnRpbWUABw1Qcm92aWRlckNhbGxiYWNrCgoAHwctPlRhbGVuZEVTQkpvYjogc2V0RW5kcG9pbnRSZWdpc3RyeShlcikAFBsASxAoY2IAFhlnAFQKKCkKAG4MLT4AgTAHOiBlAHkHAIEZCkNYRjogb3BlbgA0CQAcCCkKQ1hGADELdm9pZACBQxhydW5Kb2IAZxEAgXIOaW5pdGlhbGl6ZQpsb29wIG1haW4gbG9vcACBHw8AgkEQAIFXBVJlcXVlc3QoKQoAgmAQAB0Ud2FpdCBmb3IgcgAxBgCBRQYARhNvAFAJACMHAEwUAIFdDwBMBwCBTxxkbyBoZWF2eSBzdHVmZgCBPyFzZW5kUmVzcG9uc2UocgACBwCBVhQAgykFAAUpAIRxDgCDOwVlbmQAgwcdc2h1dGRvd24AhCkYAIQABQ&s=earth]5
101TESB-1582Add support for those DBMS in SAM that are also supported by TACAs an operator I want to use SAM in conjunction with Talend Administration Console (TAC) In the enterprise edition the SAM server will most likely run in the same Tomcat as the TAC and the SAM GUI will run as part of TAC. Therefor the plan is to use the TAC database as the data base backend for the SAM server. TAC supports the following DBMS which should also be supported by SAM. - H2 Database Engine - Oracle - MySQL - SQL Server For all not yet supported DBMS scripts for table creation must be created and the SAM server must be tested using the corresponding DBMS. As preparation most probably also the DBMS have to be installed somewhere. We only need to support all the DBMS in Tomcat. 8
102TESB-1583Make Hyperic CXF / Camel Plugins production ready.- Provide the plugins a way that they can be used without having to configure them first. At least for the standard cases: Only one Tomcat / karaf on the machine, default ports are used. - Reduce the number of plugins to two: one for cxf (Tomcat and Karaf), one for Camel (Tomcat and Karaf). - Ensure the UI is consistent between Tomcat and Karaf view. Use short names for the resources. - Provide continous Integration for the projects5
103TESB-1584Make the build consume snapshots and deploy snapshots.- For CXF, Camel and Karaf we should switch to snapshot versions: CXF 2.4.1-SNAPSHOT, Camel 2.8.0-SNAPSHOT, and Karaf-2.2.1-SNAPSHOT. - We should also provide a snapshot repository where we deploy our snapshots. At the moment the snapshot repository may not be publicly available (This will change for the 5.0 release), but only within the corporate network. - We need at least to describe how to use our examples to use the snapshot repository. Or if this is only a minor effort add a profile to run maven build against our snapshot repository. 3
104TESB-1585Make the Service Locator configurable from outsideAs developer/administrator I want to configure parameters, such as locator endpoint or time out values, of the Service Locator outside the spring configuration file. Provide a way to externalize parameters in a properties file (for Tomcat or stand alone) or via the config Admin service in OSGi. For example you can use the way it was solved in SAM with help of the PropertyPlaceholderConfigurer. - Adapt documentation and examples to reflect the new way of configuration. - It is not a must to be able to reconfigure parameters dynamically in OSGi. 3
105TESB-1586Provide a first load balancing strategy for the Service LocatorAs an administrator I want to be able to specify a load balancing strategy for the Service Locator that distributes the load over equivalent providers. - Implement a strategy that at the client side that for each request takes the next endpoint in the list of available endpoints it got from the Service Locator server (sort of round robbin on the client side). - After a configurable number of rounds the client must retrieve a new list of the available servers from the Service Locator server. - Which strategy is choosen (simple failover strategy or evenly distributed strategy) must be configurable 5
106TESB-1600WSDL wizard only shows ports of the first service and not of the other services in WSDLCheck this WSDL http://queue.amazonaws.com/doc/2009-02-01/QueueService.wsdl It has two services and 4 ports, however only 2 ports are shown in the GUI. 1
107TESB-1645Service Activity Monitoring UI integrated with TACThis backlog item should relay on results of TESB-1453. This is an email that was send by the end of the UI review: Service Activity Monitoring UI will present an aggregated information about message exchanges to the user in following view: http://screencast.com/t/OuUvudVX View presents the events from SAM agents grouped by Flow ID therefore provides an important information on request-response total elapsed time (time between consumer sending request and receiving response). This view provides basic quick-filter fields where user could filter displayed information. When user clicks on the one specific flow in the aggregated information table she would see a detailed information pane with full details of request/responses/faults that were part of selected message flow. Mockup of this pane is now in works and will be sent around later today. We are also planning to provide an Advanced filter pop-up that will give users ability to fine-graned filtering of the SAM events: http://screencast.com/t/tVyK4M4I Please note that filtering based on custom fields is not in scope for June release. The mockup XML files are attached to this item. 5
108TESB-1646Service Activity Monitoring Backend integrated in SAM ServerSAM API used by SAM GUI5
109TESB-1648Support and test for TESB runtime for Data ServicesNULL2
110TESB-1740Add WSDL-driven configuration for tESBProviderFault componentNULL2
111TESB-1824tESBConsumer Job with WSDL referenced as file fails at deployment with FileNotFoundExceptionI set WSDL file location in tESBConsumer component to local file. When I try to run exported job at another machine I got Exception in component tESBConsumer_1 javax.wsdl.WSDLException: WSDLException: faultCode=Cannot parse cervice WSDL or WSDL is not accessible: D:/talend/tesb-r t-se/job/controller/src/main/test/job/CustomerService.wsdl: javax.wsdl.WSDLException: WSDLException: faultCode=OTHER_ERR OR: Unable to resolve imported document at 'D:/talend/tesb-rt-se/job/controller/src/main/test/job/CustomerService.wsdl'. : java.io.FileNotFoundException: This file was not found: file:/D:/talend/tesb-rt-se/job/controller/src/main/test/job/Cu stomerService.wsdl at org.talend.ws.helper.ServiceDiscoveryHelper.init(ServiceDiscoveryHelper.java:105) at org.talend.ws.helper.ServiceDiscoveryHelper.<init>(ServiceDiscoveryHelper.java:83) at org.talend.ws.helper.ServiceDiscoveryHelper.<init>(ServiceDiscoveryHelper.java:70) at test.consumerjob_0_1.ConsumerJob.tFixedFlowInput_1Process(ConsumerJob.java:1253) at test.consumerjob_0_1.ConsumerJob.runJobInTOS(ConsumerJob.java:1852) at test.consumerjob_0_1.ConsumerJob.runJob(ConsumerJob.java:1756) at org.talend.esb.job.controller.internal.TalendJobLauncher$1.run(TalendJobLauncher.java:65) at java.lang.Thread.run(Thread.java:662) Caused by: javax.wsdl.WSDLException: WSDLException: faultCode=OTHER_ERROR: Unable to resolve imported document at 'D:/ta lend/tesb-rt-se/job/controller/src/main/test/job/CustomerService.wsdl'.: java.io.FileNotFoundException: This file was no t found: file:/D:/talend/tesb-rt-se/job/controller/src/main/test/job/CustomerService.wsdl at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source) at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source) at org.talend.ws.helper.ServiceDiscoveryHelper.init(ServiceDiscoveryHelper.java:100) ... 7 more Caused by: java.io.FileNotFoundException: This file was not found: file:/D:/talend/tesb-rt-se/job/controller/src/main/te st/job/CustomerService.wsdl at com.ibm.wsdl.util.StringUtils.getContentAsInputStream(Unknown Source) ... 10 more2
112TESB-1928Improved SAM UI flow details form* Re-arange participants, add picture with arrows between two messages (-> and <-) ** First row participants (consumer --> provider) ** Second row Request Out --> Request In ** Third row Response In <-- Response Out * XML Payload should be shown as popup with scrolling, do on-demand loading for XML payload for single message * Add custom information on the details panel3
113TESB-1929Improved SAM UI flow table* SAM header label in TAC --> Service Activity Monitoring * Add second units to the Elapsed time to every row * Add 4 columns provider host, ip, consumer host, ip. Hidden by default. * Ability to filter on 4 columns described above 2
114TESB-1966TAC: in 'Details' pane, Participants details the extra icons are displayed.TAC: in 'Details' pane, Participants details the extra icons are displayed. That occurs in IE 6. Tested on TAC-r61938-V4.2.0RC11
115TESB-2023Remove unnecessary imports in spring configurationStarting with CXF 2.4.0, only the following import is needed within the spring configuration: <import resource="classpath:META-INF/cxf/cxf.xml" /> Most of the examples import other resources also like: <import resource="classpath:META-INF/cxf/cxf.xml" /> <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" /> <import resource="classpath:META-INF/cxf/cxf-extension-http-jetty.xml" /> 2
116TESB-2047SAM connection does not work for H2 databaseTesting SAM Server and TAC with H2 database. When configuring the the SAM Server to run against the TAC H2 database I get exception: message: "Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Connection is broken: "Connection refused" [90067-142])" Regarding Configuration I did the following: 0. copied h2-1.2.142.jar to /opt/Talend/apache-tomcat-5.5.12/webapps/sam-server-war/WEB-INF/lib 1. Open http://sop-td52.servicebackbone.org:8080/org.talend.administrator/h2console 2. From this screen directly created a new database by changing JDBC URL: from jdbc:h2:~/test to jdbc:h2:~/testSAM with new User testSAM/testSAM 3. Stopped the TAV/SAM Tomcat 3. Configured logserver.properties with: #for H2 db.driver=org.h2.Driver db.url=jdbc:h2:tcp://localhost/~/testSAM db.username=testSAM db.password=testSAM db.dialect=h2Dialect db.recreate=false db.createsql=create_h2.sql db.pool.initsize=5 db.pool.maxactive=20 db.pool.maxwait=-1 4. started the tomcat, and checked http://sop-td52.servicebackbone.org:8080/sam-server-war/api/v1.0/list -> get the error 5. Stop Tomcat 6. Change logserver.properties to: #for H2 db.driver=org.h2.Driver db.url=jdbc:h2:tcp://localhost/~/test db.username=tisadmin db.password=tisadmin 7. Start Tomcat and check http://sop-td52.servicebackbone.org:8080/sam-server-war/api/v1.0/list -> same error 8. Stop Tomcat 9. Change logserver.properties to default values delivered: #for H2 db.driver=org.h2.Driver db.url=jdbc:h2:tcp://localhost/~/test db.username=sa db.password= 10. Start Tomcat and check http://sop-td52.servicebackbone.org:8080/sam-server-war/api/v1.0/list -> still same error Catalina attached. As- H2 is delivered together with TAC I would consider this as a blocker. 1
117TESB-2049Issue starting zookeeper when java is not in pathI start zookeeper: D:\talend-esb-4.2-SNAPSHOT\zookeeper\bin>zkServer.cmd start when got: "JMX enabled by default" "Using config: D:\talend-esb-4.2-SNAPSHOT\zookeeper\bin\..\conf\zoo.cfg" "Starting zookeeper ... " The system cannot find the file java. STARTED really zookeeper not started. on my machine 'java' not in Path.2
118TESB-2066TAC Service Locator View: Refresh after Zookeeper is down -> Table list still shows records and is not cleaned upI have tested the TAC Zookeeper view and did the following: Used TAC instance: http://sop-td52.servicebackbone.org:8080/org.talend.administrator/ * Start Zookeeper on sop-lt02.servicebackbone.org:9991 * Start tomcat on sop-td52 (includes TAC and an example Service /opt/Talend/apache-tomcat-5.5.12/webapps/sam-example-service2 - connecting to Zookeeper * In Config Connect to Zookeeper sop-lt02.servicebackbone.org:9991 -> ok * Open the ESB Service Locator view the the CustomerServiceImplService is shown as connected and running * Stop Zookeper on sop-lt02 * Refresh the the ESB Service Locator View in TAC -> The Message "Cannot Connect to Zookeper ..." is shown, but the listed Service remains in the table with updated Uptime. -> Expected: The Table content is purged when zookeeper can not be reached 1
119TESB-2068Change of Default TESB Container HTTP PortThe TESB Container use currently the port 8080 as default http port. As Tomcat has the same default port (e.g. also when TAC is installed on the same machine) it is likely that this port is used already by a tomcat instance. So it would be good to get a new default port (e.g. 8040 ) 3
120TESB-2087TAC Service Locator View: Service is shown as not reachable although it is running, connected to Zookeeper and SAMHello, I have connected the Service to http://sop-lt02.servicebackbone.org:8080/sam-example-service2/ to the service Locator running on the same machine. THE TAC monitoring this Zookeper is running on sop-td52.servicebackbone.org. The sam-example-service2 has been started in a tomcat. It can be invoked from a consumer running on my local machine and correctly sends SAM notification to the sam-server running on SOP-td52. In the TAC Service Locator Table the Service is shown as connected, but as not reachable (see attached screenshot) To look yourseldf you can connect to sop-td52 with user tester@talend.com, pw tester1
121TESB-2090TAC Service Locator View: Details View: Some lables with ":" some without and unclean table linesJust some real minor cosmetic remarks (corresponding test case still passed): In the details view Selecting a Service Row in the TAC Service Locator Table: Some labels have a colon, some don't (Last time started/stopped. In Service Endpoint : there is a Blank between Endpoint and the colon. The vertical table line for the lables is interupted.1
122TESB-2091Starting of SAM Server as mvn jetty:run-war fails for examples/talend/tesb/sam/Starting of SAM Server as mvn jetty:run-war fails for examples/talend/tesb/sam/. There are two Issues, one embedded derby is not started and hence during SAM serer startup we get the following exception: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (java.net.ConnectException : Error connecting to server localhost on port 1527 with message Connection refused.) Moreover the README is not upto date. The readme describes first to invoke the sample service in tomcat and then to start the SAM server but it should be the other way around. 2
123TESB-2093TAC Service Activity Monitoring: Filter with search string "get" hangs up TAC Service Activity MonitoringTesting SAM on sop-td52 with database mySQL 5.5. There are two Services with one operation each connected to sam. The Operation Names are "getCustomersByName" and "getCRMInformation" Just by incidence trying to test the both operations would be shown using a common string I entered "get" for the search criteria. Executing this the TAC Service Activity hangs up remaining in "loading" state for ever. The catalina shows error in SQL statement [http-8080-Processor21] ERROR org.talend.esb.sam.server.ui.servlets.AbstractAPIServlet - Exception processing request /sam-server-war/api/v1.0/list with parameters sortField=timestamp&sortDir=ASC&offset=-30&limit=30&operation=bet org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [select EVENTS.MI_FLOW_ID, EI_TIMESTAMP, EI_EVENT_TYPE, MI_PORT_TYPE, MI_OPERATION_NAME, MI_TRANSPORT_TYPE, ORIG_HOSTNAME, ORIG_IP from (select MI_FLOW_ID from EVENTS WHERE (MI_OPERATION_NAME LIKE ?) group by MI_FLOW_ID order by MAX(EI_TIMESTAMP) DESC LIMIT ? OFFSET ?) as SUBQ LEFT JOIN EVENTS ON SUBQ.MI_FLOW_ID = EVENTS.MI_FLOW_ID order by EI_TIMESTAMP DESC]; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-30) as SUBQ LEFT JOIN EVENTS ON SUBQ.MI_FLOW_ID = EVENTS.MI_FLOW_ID order by EI' at line 1 This defect is at least major as content of search/filters should be clearly seperated from SQL statements. 1
124TESB-2109SAM adds flowID twice for faultsApparently SAM agent adds two FlowIDs for faults: http://screencast.com/t/lqx5UyYsE Where for non-faults it's adding only one: http://screencast.com/t/PT9sJEz81
125TESB-2112While sending business faults, exception stacktrace with warning level is logged in the log fileWhile sending business faults, exception stacktrace with warning level is logged in the log file.1
126TESB-2117Dokumentation, SAMUserGuide : Hint where to find the database sql script filesThe Service Activity Monitoring User Guide describes in Chapter 3.2 Monitoring Server Installation that the sql scripts for setting up the DB's "...are packaged within sam-server-war.war" (which leaves the user clueless where to actually look for them and guessing based on this statement that they might be extracted into <Tomcat_HOM>/webapps/sam-server-war after deployment turns out to also not be true). The documentation should describe that after untzip/untar talend-esb-4.2 the SQL scripts can be found in: talend-esb-4.2/add-ons/sam/db1
127TESB-2127Documentation inconsistencies "Talend ESB Development Guide"The documentation refers to classes introduced in version 4.2, but still contains a lot of references to the previous version 4.0 (Esp. in Maven pom.xml samples showing dependencies for ServiceLocator 4.0 and CXF 2.4.0 - e.g. see page 27). Also the Spring configuration example on page 25 is wrong: <jaxws:features> <bean class="org.talend.esb.servicelocator.cxf.LocatorFeature"> <property name="endpointPrefix" value="localhost:2181" /> </bean> </jaxws:features> Clearly the property to be set to "localhost:2181" would be the locatorEndpoints property (as can be derived from the subsequent code samples for programmatic configuration). But even that is not true according to Zsolt, because those properties cannot be set anymore directly on the feature (programmatically or in Spring), but require passing in properties (via file or as OSGi properties). Failing to do that leads to errors like: Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'LocatorTwoTestServiceProviderEndpoint': Cannot create inner bean 'org.talend.esb.servicelocator.cxf.LocatorFeature#4f2b6c89' of type [org.talend.esb.servicelocator.cxf.LocatorFeature] while setting bean property 'features' with key [0]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.talend.esb.servicelocator.cxf.LocatorFeature#4f2b6c89' defined in class path resource [locatortwo_i2/standalone.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'endpointPrefix' of bean class [org.talend.esb.servicelocator.cxf.LocatorFeature]: Bean property 'endpointPrefix' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter? org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:281) org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:120) org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedList(BeanDefinitionValueResolver.java:353) org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:153) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1325) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1086) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291) org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288) org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190) org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580) org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895) org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425) org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139) org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:93) org.talend.esb.tf.runtime.runner.AppRunner.main(AppRunner.java:41) Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.talend.esb.servicelocator.cxf.LocatorFeature#4f2b6c89' defined in class path resource [locatortwo_i2/standalone.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'endpointPrefix' of bean class [org.talend.esb.servicelocator.cxf.LocatorFeature]: Bean property 'endpointPrefix' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter? org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1361) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1086) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:270) ... 17 more Caused by: org.springframework.beans.NotWritablePropertyException: Invalid property 'endpointPrefix' of bean class [org.talend.esb.servicelocator.cxf.LocatorFeature]: Bean property 'endpointPrefix' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter? org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:1024) org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:900) org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:76) org.springframework.beans.AbstractPropertyAccessor.setPropertyValues(AbstractPropertyAccessor.java:58) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1358) ... 21 more 1
128TESB-2133Include Webconsole as Preinstalled FeatureCan we add the webconsole as a preinstalled feature? It has a nice GUI interface and gives the user a structured picture of the configuration. We could even consider using it for the configuration changes in the examples (instead of config files). I would suggest that we include both options in the examples since sometimes the webconsole won't be running (until at least the port is changed with the config file). 1
129TESB-2136Location of STS server sample in GettingStartedGuide is outdatedOn page 51 in chapter 10.4.2 "Build and run STS server" the location samples/cxf/sts_issue_operation for the cxf sts sample is outdated. It is now located in examples/apache/cxf/.1
130TESB-2137Custom properties support for tESB ComponentsAs a Data Service developer I would like to add SL custom properties (key-value pairs) to my tESBProvider and SAM custom properties for my tESBConsumer, tESBResponse and tESBFault components. * We might need to use 'Advanced' tab for that. * Property values should be dynamic. * Job API should remain unchanged.8
131TESB-2138Display and filter on selected (or user defined) custom properties in SAM UI in TAC*As a Monitoring Administrator I would like to see custom properties in the SAM Table as well as filter based on values of custom properties.* Assumptions: * Since naming of custom properties is not strictly defined, users should be able to enter custom property name one from the list of names already available in the database. * Filtering should be also be supported for custom properties displayed in the table. 3
132TESB-2139SAM UI: Visualization of cascading flows*As a monitoring user I would like to see flows that span across more than one service so that I could see information flow between related calls.* Assumptions: * FLOW_ID remains the same for multiple events. * Most of the times the maximum number of participants will not exceed 10 * Elapsed time will be the difference between first and last even within one flow * Port type and operation will be based on the first event in the flow * Transport will be aggregated transports used across all flows. 13
133TESB-2140tRESTRequest and tRESTResponse components for REST support*As a Data Service designer I would like to use simple REST abstractions to share information from the database as a REST-full resource.* Assumptions: * Need to use CXF * Support for 4 HTTP verbs (GET, PUT, POST and DELETE) * Component should only concentrate on URI mapping, not on the processing8
134TESB-2141Automatic import of XML Schemas from WSDL to Metadata*As an Data Service Designer with WSDL-first approach I would like to use XML Schemas from WSDL in my tXMLMap components.* Assumptions: * WSDL has an embedded XML Schema with no external imports. * WSDL has only one XML Schema element8
135TESB-2142Preparation and release of ESB Tooling 5.0 M1(nice task breakdown BTW) [14:45:57] Renat Zubairov: We need to check that all features available in 4.2.0 RELEASE are also available in 5.0 M1 [14:46:06] Renat Zubairov: including latest bugfixes [14:46:14] Renat Zubairov: which were done between release and today [14:46:41] Renat Zubairov: Actually we could already include peaces of new functionality, but very carefully so that M1 will not be broken [14:46:59 | Edited 14:47:11] Renat Zubairov: 5.0 NB from yesterday you can find here: http://build.talend.com/builds/V5.0.0NB_r63863/esb/3
136TESB-2143Improvements in the build system - Integrate build of samples into default project build - Move assembly of the delivery package to a separate build - Remove redundant configuration, e.g. specification of the standard resource location 'src/main/resource' - Remove explicit version numbers for artifact dependencies and plugins in sub modules, e.g. in Talend :: ESB :: Job :: Command the karaf version is set explicitly. - Fix bogus generation of eclipse generation via mvn eclips:eclipse (directory Target is added to source directories) . Seems to be because of the license plugin - In the sample build add missing version numbers for the plugins (see log below) [WARNING] [WARNING] Some problems were encountered while building the effective model for org.talend.esb.examples.rent-a-car:features:pom:5.0-SNAPSHOT [WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-resources-plugin is missing. @ line 39, column 21 [WARNING] 'build.plugins.plugin.version' for org.codehaus.mojo:build-helper-maven-plugin is missing. @ line 52, column 21 [WARNING] [WARNING] Some problems were encountered while building the effective model for org.talend.esb.examples.locator:locator-demo-client:bundle:5.0-SNAPSHOT [WARNING] 'build.plugins.plugin.version' for org.codehaus.mojo:exec-maven-plugin is missing. @ line 69, column 21 [WARNING] [WARNING] Some problems were encountered while building the effective model for org.talend.esb.examples.locator:locator-demo-service:bundle:5.0-SNAPSHOT [WARNING] 'build.plugins.plugin.version' for org.codehaus.mojo:exec-maven-plugin is missing. @ line 74, column 21 [WARNING] [WARNING] Some problems were encountered while building the effective model for org.talend.esb.examples:sam-example-client:jar:5.0-SNAPSHOT [WARNING] 'build.plugins.plugin.version' for org.codehaus.mojo:exec-maven-plugin is missing. @ line 35, column 21 [WARNING] [WARNING] Some problems were encountered while building the effective model for org.talend.esb.examples:sam-example-service:war:5.0-SNAPSHOT [WARNING] 'build.plugins.plugin.version' for org.mortbay.jetty:jetty-maven-plugin is missing. @ line 67, column 21 [WARNING] [WARNING] Some problems were encountered while building the effective model for org.talend.esb.examples:sam-example-service2:war:5.0-SNAPSHOT [WARNING] 'build.plugins.plugin.version' for org.mortbay.jetty:jetty-maven-plugin is missing. @ line 61, column 21 [WARNING] [WARNING] Some problems were encountered while building the effective model for org.talend.esb.examples:simple-service-bundle:bundle:5.0-SNAPSHOT [WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-resources-plugin is missing. @ line 53, column 12 [WARNING] 'build.plugins.plugin.version' for org.codehaus.mojo:build-helper-maven-plugin is missing. @ line 65, column 12 [WARNING] [WARNING] Some problems were encountered while building the effective model for org.talend.esb.examples:camel-example-management-karaf:bundle:5.0-SNAPSHOT [WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-resources-plugin is missing. @ line 82, column 12 [WARNING] 'build.plugins.plugin.version' for org.codehaus.mojo:build-helper-maven-plugin is missing. @ line 94, column 12 [WARNING] [WARNING] It is highly recommended to fix these problems because they threaten the stability of your build. [WARNING] [WARNING] For this reason, future Maven versions might no longer support building such malformed projects. [WARNING] 3
137TESB-2144Enable custom properties in SAM for Data ServicesCurrently for Data Services SAM can be enabled by the developer. The story https://jira.sopera.de/browse/TESB-2137 extends this by allowing to define additional custom properties when sending the request or sending the response. This story is about supporting the feature in the runtime. Synchronize with tooling how and where to pass the additional properties. Make sure also 4.2 Data Services are still running. 5
138TESB-2155Provide a Maven snapshot repository accessible from outsideAs user of the milestone releases I want to be able to build al samples with maven. Provide all artifacts we make available in Maven Central as snapshot versions also in the snapshot repository. Repository must be accesible also from out side of SOPERA and Talend Add a snapshots profile to all samples that need TESB artifacts from maven. profile should add snapshot repository to the known ones.2
139TESB-2156Specification of endpoint selection strategy per clientAt the moment the endpoint selection strategy can only be specified globally. It should be possible to specify one per client. - If one strategy is specified for a client this strategy should be choosen for the client. - If none is specified for the client but one for the whole bus, then this should applied to the client. - Otherwise he default strategy should be choosen. Document the behaviour in the Runtime Configuration Guide. 3
140TESB-2207create.sql in add-ons/sam/db won't work with Apache DerbyActivating the sam-server-war in Tomcat, using most recent release version of Derby (10.8.1.2), per Renat's first screencast (http://www.screenr.com/DxHs) is raising a syntax exception as the webapp tries to create the EVENTS table: (seen in Tomcat's catalina.out log file:) org.springframework.jdbc.BadSqlGrammarException: StatementCallback; bad SQL grammar [CREATE TABLE EVENTS ( ID BIGINT NOT NULL, EI_TIMESTAMP TIMESTAMP, EI_EVENT_TYPE VARCHAR(255), ORIG_CUSTOM_ID VARCHAR(255), ORIG_PROCESS_ID VARCHAR(255), ORIG_HOSTNAME VARCHAR(128), ORIG_IP VARCHAR(64), ORIG_PRINCIPAL VARCHAR(255), MI_PORT_TYPE VARCHAR(255), MI_OPERATION_NAME VARCHAR(255), MI_MESSAGE_ID VARCHAR(255), MI_FLOW_ID VARCHAR(64), MI_TRANSPORT_TYPE VARCHAR(255), CONTENT_CUT BOOLEAN, MESSAGE_CONTENT CLOB(2147483647), PRIMARY KEY (ID))]; nested exception is java.sql.SQLSyntaxErrorException: Syntax error: BOOLEAN. The other two tables create without a problem. To try to determine whether this is a Tomcat or a Derby problem, I directly ran create.sql from Derby's ij query tool and got the same problem (again, the other two tables in create.sql will work) using the steps listed here[1]: gmazza@gmazza-work:~/dataExt3/underthehood/db-derby-10.8.1.2-bin/bin$ ij ij version 10.4 ij> ls > select * from events; IJ ERROR: Unable to establish connection ij> connect 'jdbc:derby:/home/gmazza/derbyDBs/TESTDB;create=true'; ij> run 'create.sql'; ij> CREATE TABLE EVENTS ( ID BIGINT NOT NULL, EI_TIMESTAMP TIMESTAMP, EI_EVENT_TYPE VARCHAR(255), ORIG_CUSTOM_ID VARCHAR(255), ORIG_PROCESS_ID VARCHAR(255), ORIG_HOSTNAME VARCHAR(128), ORIG_IP VARCHAR(64), ORIG_PRINCIPAL VARCHAR(255), MI_PORT_TYPE VARCHAR(255), MI_OPERATION_NAME VARCHAR(255), MI_MESSAGE_ID VARCHAR(255), MI_FLOW_ID VARCHAR(64), MI_TRANSPORT_TYPE VARCHAR(255), CONTENT_CUT BOOLEAN, MESSAGE_CONTENT CLOB(2147483647), PRIMARY KEY (ID)); ERROR 42X01: Syntax error: BOOLEAN. ij> CREATE TABLE EVENTS_CUSTOMINFO ( ID BIGINT NOT NULL, EVENT_ID BIGINT NOT NULL, CUST_KEY VARCHAR(255), CUST_VALUE VARCHAR(255), PRIMARY KEY (ID)); 0 rows inserted/updated/deleted ij> CREATE TABLE TAB_SEQUENCE (ID_VALUE int generated always as identity, DUMMY char(1)); 0 rows inserted/updated/deleted ij> INSERT INTO TAB_SEQUENCE (DUMMY) values(null); 1 row inserted/updated/deleted [1] http://www.jroller.com/gmazza/entry/apache_derby_setup This problem prevents the bottom (non-SOAP/WSDL) links on the main sam-server-war HTML page to fail to work.1
141TESB-2216Wrong time zone when displaying time in SAM UI GridSAM UI Grid displays time not in the time zone of the browser.2
142TESB-2219Support DB2 for SAMAs an operator I want to be able to use IBM DB2 DBMS for SAM Server - Provide DB2 specific script for table creation - Test SAM server together with DB2 - Document in the SAM User Guide things specific to DB2 Primary version for testing DB2 UDB 9.1 Seconday (supported version DB2 9.7 Test OS is Linux even though customers might also run the DB2 on AIX and other operating systems2
143TESB-2237Moving to cxf, camel, karaf snapshot versionsTESB 5.0 will include cxf 2.5.0 or higher, camel 2.8 or higher, and Karaf 3.0.0 or higher.2
144TESB-2253SAM UI: date/time filter "on" don't work correctly1. initially (with out any filters applying) have a several flow for one date 2. after set date filter ON this date not all flows visible on previous step for the date are shown1
145TESB-2256In TAC, Service locator and Service Activity monitoring pages are not refreshed by clicking RefreshPreconditions: The service is deployed and started in karaf. Test steps: Go in TAC, Service Locator or Service Activity Monitoring page and click Refresh button. Expected result: New service appears. Actual result: New service appears only after closing browser and entering into TAC again. Details are in karaf_stacktrace.txt2
146TESB-2300SAM agent send incorrect event timeactually event datetime in SOAP message to SAM server (XMLGregorianCalendar) presents timezone without taking into account daily saving time offset1
147TESB-2302SAM custom properties are not passed correctly from Talend job with tESB componentsin case composite scenario (when there are several provider's jobs and some of them are invoked from another) custom properties set for participants in corresponding tESB components are mixed up3
148TESB-2316Importing routines instead of beansThe "Import Items" menu has problem to import Bean Classes. The default package name will be "routines" but "beans" after imported. this should be fixed1
149TESB-2317Export Multi Routers SupportOnly one router is supported when export router as bundle. it's better if it's supported to export more than one routers at one time3
150TESB-2318Improvement of Dependencies Table in ComponentView operationsDependencies Table in Component View operations need to be improved. Currently users have to select a dependency item from the total items througth a Combo list. And the list size is always large and it's different to select. I guess we can provide a multi-selection list instead of the single-selection list.3
151TESB-2319Start route bundle in the runtimeCurrently, you have to export the bundle from studio first, and then install it into runtime from Runtime Console. It's great if we can export router as a bundle and deploy it directly into Runtime. Require: TESB-23203
152TESB-2320Embed ESB Runtime into StudioIt's very useful if the ESB Runtime can be embedded into Studio, then you can control the runtime from studio instead of leaving it.5
153TESB-2321Pure Java Language code expressions supportCurrently the component exporessions can be XPath, EL, javascript or XQuery, but no pure java codes. For example, the MessageFitler needs an expression. If the "Header" type in Language combo is selected, then expression need to be "username").isEqualTo("name" Maybe it's better if the expression is header("username").isEqualTo("name)" in Language "Pure Java".3
154TESB-2332Import route from Spring XML fileNULL5
155TESB-2333Export route to the Spring XML fileNULL3
156TESB-2335Paging and sorting for Service Locator UIService Locator UI is very slow when used on the large number of endpoints. We have installation of SL which manages more than 500 endpoints. To achieve better client-side performance we need to implement server-side paging,sorting and filtering of the SL Data. You can see SAM UI for the examples on how to do the server-side paging and filtering. Important notes: * Sorting, paging and filtering should be done on the server side. In memory. * We can omit caching for the first version. * Since we need to do sorting, paging and filtering at the same time you may use insertion sorting algorithm. * Sorting, filtering and paging should not exceed complexity of n2 3
157TESB-2336Show/hide and filter of the custom properties in SL UIDisplaying and filtering of the custom properties in SL UI should also be server-based because TESB-2335 the client data will only be one page and not more.1
158TESB-2337New endpoint type: JMS endpointSL will going to support new type of the endpoint: JMS endpoint. Need to check with runtime team and visualize it property.1
159TESB-2341New specialized components in Routebuilder (cCXF, cFile, cJMS, cFTP, cActiveMQ)We need new specialized components for: * CXF messaging endpoint * File * JMS messaging endpoint * FTP component * ActiveMQ messaging endpoint We also need an improved component properties for specialized components, so that users wouldn't need to enter lengthy URLs3
160TESB-2359Make jmx samples work and align it with the other samplesAs a user I want to be able to sucessfully execute the jmx samples. When I was trying to execute the jmx samples according to the readme I encountered a lot of problems. See below for the problems I found *GENERAL* - Endpoint in SimpleClient is wrong. Defined is http://localhost:8080/services/simpleService, but in reality the service has the endpoint http://localhost:8080/simpleService/simpleService - In the war file below WEB-INF/classes there are again directories classes, META-INF, and WEB-INF. They shuld be removed. - The jmx sample should be splitted in one cxf sample and in one camel sample, both located directly under examples/talend/tesb with two different readme that describe how to build and run them. *README* - In general all steps should be described for Windows and Unix - Building the simple-service-war -- Instead of suggesting to add the CATALINA_OPTS property in some Tomcat start script (which one?) it should be described how to define it in the shell (Windows and Unix). The user should not be forced to change his Tomcat configuration. -- step 2: war file is not found in target, but simple-service-war/target -- step 4: you first have to change in directory simple-service-bundle before executing mvn exec:java -- step 4: you should configure the exec plugin with the main class in pom.xml, so user does not have to specify it explicitly. - Using jconsole to find MBean Attributes -- step 2: service:jmx:rmi:///jndi/rmi://localhost:6969/jmxrmi does not work Here I stopped trying out the samples. *Expectations* - Make sure the readme is up to date and complete, so anyone is able to run the samples. - The readme must equally well describe the Windows case and the Linux / Mac OS X case. - Split the cxf/jmx and the camel/jmx in two separate saples located directly under the examples directory. - For the cxf sample use the usual pattern for components in other samples (common, client, service, war) _Acceptance criteria_: PO is able to execute the demos following the instructions in the readme. 3
161TESB-2377Support for Lifecycle events in SAMAs an administrator I want to receive events when services, data services, and servers start and stop. Provide entries for the following events in - Karaf server starts / stops (more precisely sam service is started / stopped) - cxf web service starts / stops (only when SAM enabled) - data service starts / stops (only when SAM enabled) Document the new events in the SAM User Guide. This feature might include enhancing the database schema, synchronize here with the tooling team as they also need to visualize the new lifecycle events. Chnages in the Database schema also affects SQL script which genrate the tables for the various DBMS. Acceptance Criteria: Manual test proves th life cycle events are generated.5
162TESB-2378Provide a SOAP based proxy service for the Service LocatorAs an Administrator I want to be able to use the Service Locator with non CXF clients and services. The service must include the following operations - Register an endpoint for a specific service Parameters: fully qualified service name, endpoint URL, user defined properties (optional). Return: void - Unregister an enpoint Parameters: fully qualified service name, endpoint URL Return: success or non-success (endpoint did not exist) - Lookup all endpoints for a given service Parameters: fully qualified service name, required user defined properties (optional). Return: list of WS-Addressing EPR's, for all endpoints that provide the service and fullfil the required properties. If none exists return business fault - Lookup one endpoint for a given service Parameters: fully qualified service name, required user defined properties (optional). Return: one WS-Addressing EPR, for an endpoint that provides the service and fullfils the required properties. If several endpoints match select one randomly. If none exists return business fault Further outcome - Create a WSDL for the service and document it. t is part of the delivery - Mention the SOAP service in the documentation and where to find the WSDL (further discuss the topic with Bridget) 5
163TESB-2384Create a sample project to demo the Service Locator proxy serviceAs a developer I want to know how the Service Locator proxy service is used. Create a simple sample that demontrates the usage of the service. Sample should be Maven based. Also provide a README that describes what to expect from the sample and how to execute it Windows and Linux / Mac OS X. Acceptance criteria: PO is able to sucessfully execute the demo following the README.2
164TESB-2389Deployment of ZooKeeper server and ServiceLocator proxy service into one TESB Runtime OSGi containerAs an administrator I want to run the ZooKeeper server and the proxy service colocated in one container. - Provide a Karaf feature to install ZooKeeper server and Proxy service in one container. - Test it - Document in the Runtime configuration guide how to install, configure and run ZooKeeper server and Proxy service in one container.5
165TESB-2391it would be good to have configurable SAM server location in TACunfortunately for the moment SAM server have to be deployed in the same servlet container as TAC1
166TESB-2401Improve support for data services with several operations in the Talend runtimeWSDL first data services may consist of several operations, each one represented by a job. Even normally for web services the unit of deployment is the service currently in TESB the job / operation ist the unit deployment. Consequences - Configuration data such as endpoints, features that apply to the service are attached to the job. First job installed wins. - No way to ensure the data service in the runtime really represents the service described in the WSDL. - WSDL exposed by the service in the runtime does not correspond to the one specified in tooling - Very hackish implementation Solution idea - Provide an explicit service / wsdl item in tooling, a first class citizen like job and route. Properties such a endpoint, enabled features, map which job is implementing which operation are stored in this item - User can generate bundle based on the service item which includes all this information - Job controller in runtime is able to handle this new kind of bundle (start service expose wsdl, forward request to correct job based on map, ....) Activities: - Synchronize with Tooling about new service / wsdl item, how the generated artifact looks like - improve the job controller to handle new kind of bundle - ... Open questions - how to handle job first services Out of scope: - Improvements regarding the documentation - only basic testing, full roundtrip test with tooling is a separate feature.8
167TESB-2404Support for HTTPS based endpoints in the Service LocatorAs an admin I want to enable https secured services to register with the Service Locator. Test if it works out of the box, if no enhance it. If changes have to be made, ensure documentation is up to date. Open question: is there a mixed mode possible2
168TESB-2496Open WSDL Editor for editing Service entriesAs a Service Developer I would like to edit service description using WSDL Editor so that I could edit my service operations, schema and endpoint information. Assumptions: * Eclipse 3.61
169TESB-2498Export service and route as OSGi bundle(s)As a data service developer I would like to export service and all associated jobs with the server as a set of OSGi bundles so that I could deploy them to my Talend ESB Runtime. Assumptions: * We need to match the bundle expectations defined by Runtime team * Current assumption is: ** We will export one bundle per JOB for each operation in the service (if such jobs created) ** We will export additional bundle with WSDL and Spring/Blueprint descriptors ** We will export a feature XML file that refer to the bundles described above.5
170TESB-2500Improve SAM UI error messages"Can not to SAM server. The server is unavailable or connection is unavailable." is the only error message that gets displayed regardless whether the server is running or not or if only the database is down. The SAM server should provide better information to the UI, users should have a high level indication what might be wrong.1
171TESB-2513Component generated code should not include obvious variable namesWe have a problem since generated code coexists in global variable space we should not use obvious names for the internal variables. In this case I have a flow named 'request': http://screencast.com/t/9qJaXvHFE and generated code also uses 'request': http://screencast.com/t/ONmiB9nU Se we have a complication error. *Workaround exists*: don't name flows 'request'. 1
172TESB-2519Allow users to change endpoint in the tESBConsumer componentNULL1
173TESB-2520Imported XML Metdata is organized using subfoldersNULL2
174TESB-2521Make sure internal job data could be used for populating SAM custom propertiesNULL2
175TESB-2522Simplified SAM custom properties configuration UI (remove unnecessary checkboxes)NULL1
176TESB-2646Add SOAP UI, WS and Java Tooling to Enterprise StudioStory: *As a Java Developer I would like to create, edit, and deploy my OSGi-based Talend ESB Services using Java so that I could effectively repeat Rent-a-Car demo using Talend ESB Studio environment*. We need: * Java Development Tooling (check if works) * Web Service Development Tooling * XML Development Tooling * m2eclipse * SOAP UI See linked issues for more information. 1
177TESB-2666Problem with DB2 v 9.1 executing "Flow List" from SAM UIWhen we try open Flow List from UI API we have exception. 2
178TESB-2675Out-dated sections about CXF/CAMEL jmx examplesIn HypericIntegrationGuide there are the sections about running CXF/CAMEL jmx examples. This information is out-dated because of the latest changes. Now README files (in \examples\talend\tesb\camel-jmx and \examples\talend\tesb\cxf-jmx folders) describe how to run jmx samples. So we need to discuss if we need such sections in HypericIntegrationGuide and make appropriate changes1
179TESB-2684Backport DB2 for SAM to 4.2.1As an operator I want to use IBM DB2 DBMS for SAM Server already with 4.2.1 Backport DB2 support from 5.0 to 4.2.1, see TESB-2219 Primary version for testing DB2 UDB 9.1, seconday (supported version DB2 9.7 Test OS is Linux 1
180TESB-2685Use new 2.4.2 CXF and camel 2.7.3 version in TESB 4.2.1As a Developer I want to able to use the latest security enhancements in cxf already for 4.2.1. - Change the versions in the build, there will also be corresponding TSF 2.4.2 and TIF 2.7.3 to be inclded in the build. - Test TESB 4.2.1 with the new versions. 2
181TESB-2686TESB 4.2.1 SE and EE release- Test the 4.2.1 (see test plan: http://typewith.me/OsHO64D5QP) - Create Release notes for both SE and EE, start with the relase notes for 4.2. and add a section for the bugs fixed in 4.2.1 - Change from Snapshot to release versions, create tagged release build. Include version 4.2 b of the documentation5
182TESB-2687JobServer runnable within KarafAs an Admin I want to have one Unified Platform that also includes the JobServer Current JobServer is a stand alone application. Make it running within Karaf. Ensure the server still runs as a stand alone application. Still to be decided: - where are the sources located - which build system is used (DI one or TESB runtime build) Provide automated or semi automated tests that may be executed for the stand alone case and JobServer running in Karaf 3
183TESB-2688Include JobServer bundles into Talend Runtime during build assemblyAs Admin I want to have the JobServer out of the box in the Talend Runtime Include JobServer in the Talend Runtime in the Enterprise release package Make sure all thir-parties are mentioned in the NOTICE file and the corresponding licenses are included. If there are third-parties not used in SE create a EE specific NOTICE file.2
184TESB-2689Make JobServer configuration Config Admin Service awareAs Admin I want to configure the JobServer in Karaf like the other Karaf components via the Config Admin Service. A properties file equivalent to them found under conf/TalendJobServer.properties should be available under conf in the container. Make sure the way to configure stand alone JobServer still works. Documentation is not part of this feature2
185TESB-2690Howto for remote provisioning to a Talend RuntimeAs an admin I want to install and start services, data services, and routes in TAC like I can do it for jobs. For this TAC needs a remote API to install / uninstall bundles (via features.xml) and to start / stop the different kind of applications (services, data services, and routes). The API will consist of the JMX API provided by Karaf. The Howto shall describe for each kind of application the commands to use for install / uninstall, start / stop. Also describe how to connect o the Karaf MBean server. To illustrate the usage of the API provide code snippets and also provide a small sample application that demonstrates how to use it. Assume the necessary bundles are already deployed to an OBR (OSGi Bindle Repository), features.xml and othe artifacts are in a Maven repository The audience of the document are primarily TAC developers. The document should be created in the Talend wiki. 5
186TESB-2691Design a Rest interface for the Service Locator proxyAs developer of a service not using CXF as Web Service stack I still want to use the Service Locator using a REST based interface Provide a design document that specifies the Resourese to be exposed via the REST interface, define for each resource its URI which verbs (GET, POST,PUT,...) it supports and its representation (what data is sent). Specify how the resources are connected with each other, specify the main entry point. Show for the typical use cases (register endpoint, lookup, list) the interaction between client and server. Provide the design doc in the Talend wiki5
187TESB-2692Implement the Rest interface for the Service Locator proxy- Add a sample that shows how to use the REST API - Include it in the Karaf Locator features file - Provide documentation.5
188TESB-2701Open Route Context for external manipulationFollowing stories: * As a Route Designer I would like to use a custom code so that I could overcome limitations of Camel Route Builder components. * As a Route Designer I would like to unit test my routes so that I could integrate them into my Continuous integration build. One way to achieve it is to fake route decencies at runtime. 3
189TESB-2708refactoring slui for test proposalNULL1
190TESB-2718Enable Camel-CXF component to support Talend ESB-specific parametersMake sure that Camel-CXF component extended at runtime with Talend-specific contributions is able to understand and act upon properties to enable following ESB Features: * Service Locator * Service Activity Monitoring Limitations: * It's ok if SAM and SL features are only working when Route is deployed in ESB Runtime (so SAM/SL features will not work in Studio) * It's ok if we only can enable/disable SAM/SL features, without configuring them (e.g. selection algorithm for SL or custom properties for SAM)3
191TESB-2719Prepare, test and release 4.2.1 releaseWe need to make sure an fix version of Route Builder 4.2.1 is prepared, tested and released. Goal of 4.2.1 (aka 4.2.3) is to fix the major issues with 4.2.0. Items included in 4.2.1: * Fixed camel-shade JAR file. *Warning*: we need to include latest CXF version in it, as well as Camel version used in TSF/TIF. * Make sure routing use-case works. * Additional testing that Route Builder works. 2
192TESB-2744Jobs that uses tESB* components should rely on OSGi require-bunlde instead of embedded bundles.With new feature TDI-8690 we could now declare OSGi require-bundle references instead of embedding JAR files into OSGi bundle classpath. We need to convert tESB components to use this feature.2
193TESB-2747Test and release 4.2.1 ESB StudioNeed to do: * Upgrade the CXF version * Test that components work.2
194TESB-2752Follow-up on tXMLMap IssuesNULL1
195TESB-2870Valid values for the variables in the agent.properties of SAM not described in SAMUserGuide.pdf and GettingStartedGuide.pdfTo SAM,the value of collector.scheduler.interval in agent.properties file can not be set 0.Or it will throw an exception(the details is in attach file for log).But the related documents (SAMUserGuide.pdf and GettingStartedGuide.pdf) do not describe the valid value of collector.scheduler.interval in agent.properties file in case someone set it invalid value. The description for the variables of the agent.properties is in chapter "9.4. Configure Service Activity Monitoring Agent" in GettingStartedGuide.pdf and in chapter "4.1. Agent Configuration " in SAMUserGuide.pdf Please check.Thanks.1
196TESB-2872Exported OSGI bundle cann't start when contains cActiveMQIf a route contains cActiveMQ, it will be not started in ESB Runtime when exported as an OSGI bundle. The main reason is the bundle lacks of necessary Import Packages and Required Bundles.1
197TESB-2936Passwords to secure commands in JobServer visibleStarting with the 4.2 for the JobServer is possible to require user name and password to execute specific commands. Currently 1) Password is visible in the jobserver configuration file 2) Password is not encrypted when sent from TAC to the jobserver This compromises to secure the JobServer and should be fixed.3
198TESB-2938Same native OS metrics in Karaf embedded JobServer as in stand-alone JobServerStand-alone JobServer integrates the JSysmon library on Windows and Linux to provide metrics like available memory and load on CPU. JSysmon libraries should also be integrated in Karaf embedded JobServer. JSysmon consists of native libraries for both OS and a Java wrapper library, which is not OSGi enabled. As the project has an LGPL license the library itself should not be modified. If there are better alternatives to provide metrics equivalent to the ones provided today it's an option to take the alternative and kick out JSysmon. Please discuss this first with the PO. Alternatives may be - only use information provided through JMX - use another library, such as Sigar (http://support.hyperic.com/display/SIGAR/) 3
199TESB-2966Karaf command to stop a routeAs Admin I just want to be able to stop a route (or more precisely the CamelContext) without having to shutdown Karaf. Route / CamelContext should also stop when corresponding bundle stops. This might include to extend the Job API 3
200TESB-2971Authentication for Data ServicesAs a data service designer / administrator I want to secure my data services to only allow authenticated user to invoke the service. h4. Goal The goal is to enable user in ESB Studio to specify which kind of authentication he requires for the data service (client and provider) if any. For the client user can either select non secured, user name / pasword or SAML Token. For the provider user can either select non secured, user name / pasword, SAML Token or both. h4. How to provide authentication based on user name password On the client side user name and password are specified via the context of the data service. Talend runtime needs a way to pass these credentials to CXF. On the provider side user name password combination is validated using Karaf's JAAS modules. Talend runtime needs to provide handler that given the information from CXF validates it using the JAAS modules. h4. How to provide authentication based on SAML token Here it is assumed that an STS is available. Authentication to the STS is done via user name / password taken from the context, on the provider side validation is done against STS certificate stored in local keystore. h4. Additional things to do - Specify security policies for user name / password and SAML token, include them in Karaf in some dedicated directory, so they can be referenced from within the WSDL. - For all scenarios specify corresponding spring configuration that is required to sucessfully run the services. - Include bundles in Karaf container and activate by default. - Provide documentation how to configure Karaf JAAS modules and how to add STS certificate to keystore 8
201TESB-2972Include CXF-STS in deliveryCurrently in github test case repository a fully functional STS is implemented. It must be included in the delivery and located under add-ons/sts 2
202TESB-2979Custom security policy for data servicesAs an service designer / administrator I want to specify a custom security policy for data services in case the default ones do not fit my requirements. We need to explore if we can provide a configuration for data services that is generic enough to sucessfully run with a variety of policy configurations. Typical features that might be specified in such a custom policy are - signing - encyption - x509 certificates3
203TESB-3007Message IDs for same message are different on sender and receiver sideIn a request-response scenario I would expect to talk about to messages I can identify by one ID. A message exchange would lead to two UUIDs in four SAM records (assuming that client and server are configured to use SAM). Still, considering the different event types, it would be easy to identify each part of the communication. Current implementation In SAM, I find four UUIDs: Client / Server MessageID_1 / REQ_OUT --> MessageID_2 / REQ_IN MessageID_3 / RESP_IN <-- MessageID_4 / RESP_OUT Expected behaviour: Client / Server MessageID_1 / REQ_OUT --> MessageID_1 / REQ_IN MessageID_2 / RESP_IN <-- MessageID_2 / RESP_OUT This expectation also is supported by comon definitions of "Message ID" like i.e. in WS-Addressing where Message ID is defined as: "A URI that uniquely identifies this message in time and space." To reproduce: Run a request-response http call and collect all events from sam db,the result is as follows when excute the sql: SELECT id,EI_TIMESTAMP,EI_EVENT_TYPE ,MI_MESSAGE_ID FROM events id | EI_TIMESTAMP | EI_EVENT_TYPE | MI_MESSAGE_ID 325, '2011-09-08 10:14:48', 'REQ_OUT', 'urn:uuid:ebfa86c3-bdac-4d1c-8f0c-3e4f33cc6035' 326, '2011-09-08 10:14:48', 'RESP_IN', 'urn:uuid:ecebc958-b601-407e-8dc0-b45a0b2dd77d' 327, '2011-09-08 10:14:48', 'REQ_IN', 'urn:uuid:360e8cb7-cd6b-4fd6-93a7-39d45a84ac7d' 331, '2011-09-08 10:14:48', 'RESP_OUT', 'urn:uuid:782d99fe-0001-45c9-9b3b-2824ead8d18f' Request from consumer(EI_EVENT_TYPE =REQ_OUT) to provider(EI_EVENT_TYPE =REQ_IN) are same message but these two message id are different. Response from provider(EI_EVENT_TYPE =RESP_OUT) to consume(EI_EVENT_TYPE =RESP_IN) are same message but these two message id are different. Expect result:Request from consumer(EI_EVENT_TYPE =REQ_OUT) to provider(EI_EVENT_TYPE =REQ_IN) are same message and these two message id should be same. Response from provider(EI_EVENT_TYPE =RESP_OUT) to consume(EI_EVENT_TYPE =RESP_IN) are same message and these two message id should be same. 2
204TESB-3051Add support for relative URL in tESBProviderWhat's need to be done: * Add a preference page with default port that will be used when starting from Studio * Use a port from preference page if relative URL is specified in the WSDL of a service when started from Studio. {quote} 1) the import of META-INF/cxf/osgi/cxf-extension-osgi.xml is now deprecated as it's no longer needed. It will remain in place for now, but will issue a warning in the logs. When we update to 2.4.3/2.5.0, we should stop generating that import. Now, when deploying an endpoint in OSGi, if the address is a full URL (like http://localhost:9000/foo), it will spin up a jetty instance. If it's not (like /foo), it will use the OSGi servlet based thing. Thus, changing an endpoint from one to the other really is just updating the URL. {quote}2
205TESB-3055Move SAM and SL Configuration on the Data Service LevelWe can store this metadata in the storage implemented as part of TDI-175773
206TESB-3056Enable security for Data ServicesProvider part should be done on Port level of the Service entry. For service we have following options: * No security * SAML * Username/Password token Consumer part should be done in tESBConsumer component as usual. For the consumer we need to add following fields: * Radio button ** No security ** SAML ** Username/Password token * Two text field ** Username ** Password3
207TESB-3057Deploy data service and/or route to Maven RepositoryNULL8
208TESB-3059New commands for Data ServicesAs an admin I want to pass additional parameters, such as the context to be used, when starting a data service. As an admin I want to stop a data service. As an admin I to list all available data services. For data services like for routes specific commands need to be added - to list all data services available in the in runtime - to start a data service by name - to pass the context to be used as parameter (--context_param <<context name>) and additional parameters which override the value defined in the context. - to stop the service Remark: Parameters need to be passed from provider object to the jobs implementing the operations All Karaf commands should include the usual help message describing the goal and usage of the command 3
209TESB-3060Expose all Talend Runtime specific commands via JMX MBeansAs an Administrator I want to remotely start / stop / list services routes in a Talend Runtime (preferably viia TAC) To expose the following commands also remotely we must provide MBeans for it - routes:list, routes:start, routes:stop - services:list, services:start, services:stop Add to the wiki page http://www.talendforge.org/wiki/doku.php?id=how-to-karaf-jmx-remote-management description of commands 3
210TESB-3068Ready to deploy archiva package for TomcatAs a pre-sales guy I want to deploy an archiva package that is running out of the box with meaningful values Pre-sales guy is representing here everyone who has to deme Talend ESB, also of course someone who is trying out the Talend ESB. Archiva is an apache project that provides a Maven repository manager very similar to Nexus. We will deliver it in the EE edition as the central artifact repository that hosts all jars, bundles and features files to be deployed to the Talend Runtime. Opposite to the stand-alone version for the war file version there is upfront configuration necessary to get archiva running. We should provide a war file with meaningful configuration parameters that may deployed to a Tomcat webapp dirctory and successfuly starts without any further changes. In addition - there should be a build available that produces the war file. - the UI should be re-branded (Talend logo instead of archiva logo)3
211TESB-3081Samples in the software package instead of the documentation packageMove the samples from the documentation package to the software package1
212TESB-3104Plain ActiveMQ Distribution in Talend ESB Runtime packageCurrently we only provide ActiveMQ within OSGi. For ActiveMQ this is a rather unusual deployment. User would like to have plain ActiveMQ. Therefore we should also deliver the usual distribution within our package.1
213TESB-3105New package only containing the Talend RuntimeWe need a package only containing the runtime (everything located in the container directory), which we can include in TIS Structure should look like this: {noformat} /talend-runtime-5.0.0 | |-- bin (Talend Runtime) | |-- deploy (Talend Runtime) | |-- etc (Talend Runtime) | |-- lib (Talend Runtime) | |-- system (Talend Runtime) | |-- LICENSE.txt (Talend ESB License text) | |-- NOTICE (Talend ESB Notice file) {noformat} 1
214TESB-3822Add soap ui and m2e to ESB Studio and check with Rent a car examplewe need to integrate SOAP UI and m2eclipse into ESB Studio. Additionally we like to test that m2eclipse can be used with at least our Rent a car example and that soapUi also works with these Services5
215TESB-3140Talend ESB Service Locator Example does not workThe Talend ESB SL Example fails with the following error for 4.2.1. This is caused by building the SL example first directly from the examples/talend/tesb/locator directory. In order to build correctly in needs to build from the examples/talend/tesb directory. Some users may naturally try this when updating to a new version of the product. Can we get it so the child pom's are independent?2
216TESB-3241Add logging statements to the RoutesDefault log4j file is in attachment. Please make sure it's not exported into OSGi bundle.1
217TESB-3252SAM: Sometimes the value of field MESSAGE_CONTENT is null in SAM server db for JMS message on Service Provider sideRun a request-response JMS call from provider to consumer(both side are configured to use SAM,with log.messageContent=true in agent.properties), a message exchange would lead to four SAM records with four different event typse:REQ_OUT,RESP_IN ,REQ_OUT and RESP_IN.Collect these four events from SAM db,sometimes i found the value of field MESSAGE_CONTENT is null on provider side when i run request-response JMS call for many times,but it did not always happen in every time. i deteted the records in SAM db before running the request-response JMS call again. sometimes the results in SAM db are as follows,please have a look the file(results in sam db.txt) in the attachments and look the value of MESSAGE_CONTENT field. Expected behaviour: For non Lifecycle Events,the value of MESSAGE_CONTENT field is always SOAP message content when running a request-response JMS call from provider to consumer(both side are configured to use SAM,with log.messageContent=true in agent.properties). link to the test case in Github: https://github.com/Talend/tesb-rt-se-systemtest/blob/scenarios/tesb.test.stories.sam/src/main/easyb/org/talend/esb/test/stories/sam/runtime/SamRequestResponseJmsStandardConfig.story3
218TESB-3259Rename tHTTPRequest and tHTTPResponse to tRESTRequest and tRESTResponseNULL1
219TESB-3278WSDL Improvement of the SOAP based Service Locator proxy.As developer I want to use a service that follows the WS-I guidelines and best pratices to ensure interoperability and ease of use. Oliver Wulf did a quick review and has a rather long lists of topics (see below) we should fix. We should also ensure it it conforms to WS-I Basic Profile Version 1.2 (http://www.ws-i.org/Profiles/BasicProfile-1.2-2010-11-09.html) Use the test tools provided to ensure conformance. --- {noformat} Relevant snippets from Olis mail (if you have questions don't hesitate to contact Oliver) ..... - <xsd:element name="EndpointReferenceType" type="wsa:EndpointReferenceType"> - targetNamespace=http://service.proxy.locator.esb.talend.org/ (way to fine grained) - SLPropertiesType better fit for WS-Addr EPR Metadata - <part name="input" element="lpx:lookupEndpointsRequest" /> ??? (use parameters as the name) - LocatorProxyService name for portType: this is the interface, not the service - <wsdl:binding name="localhostBinding" type="lps:LocatorProxyService"> a binding called locahostBinding ??? - <wsdl:service name="LocatorProxyServiceImpl"> , this is the service, why impl suffix - <wsdl:port binding="lps:localhostBinding" name="localhost">, again, a wsdl port with name localhost (how will it be named if used remotely ;-) - not wrapped doc/literal compliant: <message name="lookupEndpointsRequest"> <part name="input" element="lpx:lookupEndpointsRequest" /> </message> <message name="lookupEndpointResponse"> <part name="return" element="lpx:EndpointReferenceType" /> </message> - there is no need for a type definition, only one element is of this type <xsd:element name="registerEndpointRequest" type="lpx:registerEndpointRequestType" /> <xsd:complexType name="registerEndpointRequestType"> <xsd:sequence> <xsd:element name="serviceName" type="xsd:QName" /> <xsd:element name="endpointURL" type="xsd:anyURI" /> <xsd:element name="properties" type="lpx:SLPropertiesType" minOccurs="0" maxOccurs="1"/> </xsd:sequence> </xsd:complexType> - xmlns:corbatm=http://cxf.apache.org/schemas/cxf/idl/Bank/corba/typemap ??? - xmlns:sl="http://talend.org/esb/serviceLocator/4.2"> - <xsd:element name="InterruptedExceptionFault" type="lpx:InterruptedExceptionFault" /> isn't this an implementation detail and shouldn't be part of the contract? - no versioning... do we have any naming guidelines for wsdl/schemas? ... - define some naming guidelines: Adrian and myself put once something together: http://blogs.iona.com/sos/2007/04/design_for_success_best_practi.html (mainly based on guide lines Zurich has in place too) Maybe define something like: http://schemas.talend.org/esb/2011/04/locator http://webservices.talend.org/esb/locator_v1 WSDL Service name: LocatorService_v1_0 {noformat} 3
220TESB-3279Karaf Cellar in TESB As a pre-sales colleague I want to be able to demonstrate the clustering capabilities of the Talend Runtime Provide Karaf Cellar feature (latest version 2.2.2) in the Talend Runtime. Features URL shall be known but feature (or features) shall not be installed by default. Bundles and features are available in Maven Central. 1
221TESB-3286Documentation SupportDocumentation team needs some support for the Service Locator proxies. - DOCT-36 - DOCT-66 Contact Marie Lelandais (mlelandais@talend.com) as soon as possible2
222TESB-3287Deployment of Rent-a-Car sample with Archiva and TACAs someone giving a demo or trying out Talend ESB I want to learn how easy it is to deploy a Java service in the Talend ESB EE edition. Describe in the Getting Started Guide how to upload in an EE edition the Rent-a-Car sample to a local archiva repository and how to deploy the sample with the help of TAC to a Talend Runtime. If necessary enhance pom files of the Rent a Car sample. You can assume Archiva is installed locally. Archiva and especially TAC are only part of the EE edition, still we will only provide one Getting Started Guide. Therefore we will have to document how things are done in SE and EE. - Whenever something only works in EE we have to state it clearly and describe how things can be done manually in SE. - As we don't provide an Archiva we should describe which OS Maven repository managers exist (Archiva and Nexus) and where to get them (home page is fine). 3
223TESB-3292The Publish Wizard Dialog should be improved to show the status but no responseif the publish takes long time, then the wizard dialog will have no response. 1
224TESB-3328Update tHttp request and response types to DocumentAt the moment the response and request method type is String. That requires the designer to add XML-to-String conversion components on the output and input. The in/out type should become a DOM4J document. Additionally @Produces needs to be changes to @Produces({"application/xml", "application/json"}). That will allow people GET data in JSON format. I will contribute JAX-RS Provider which will handle the conversion of Document internally to XML or JSON as requested by the consumer.1
225TESB-3351tESBProviderRequest Component should use new 'Service' itemAs you know new 'Service' item was introduced in the 5.0.0M5, therefore all tESB* components should start using it. As you may see in TDI-17687 we have an open issue on the DI team to provide us with the mechanism for handling such references, however once such mechanism is available we need to update our tESB* components to support it. *Story:* As a *Data Service Developer* I would like to use new 'Services' defined in the studio in my *tESBProviderRequest* and *tESBConsumer* components to seamlessly define a service, port and operation I would like to call. *Note*: tESBConsumer changes are out of the scope of that backlog item.5
226TESB-3352ESB Features support for cCXF componentsEnable configurative security support for cCXF components in Route Builder. Similar to the DS security support. Runtime provides us two features as OSGi services: * SAM * SL We need to inject these features into Route class and add them to the CXF endpoint. SAM and SL features are only supported in runtime, not in Studio/Standalone 3
227TESB-3356Improve WSDL Schema import action to support new Services itemWe need to support a Schema import to XML Metadata for WSDLs defined under new Service items in the repository.2
228TESB-3402Incorrect Hover Help Text for components in PalettePlease work with Documentation team to correct language used in the hover text that is display when the mouse is hovering over the component1
229TESB-3403jvm crash when launching talend esb 4.2when i try to launch tesb from our linux platform (SLES 10.2) i get the following error message. I precise that this jvm works fine with many autonomous job from talend open studio # # A fatal error has been detected by the Java Runtime Environment: # # SIGFPE (0x8) at pc=0xb7f6320b, pid=25350, tid=2405747616 # # JRE version: 6.0_27-b07 # Java VM: Java HotSpot(TM) Server VM (20.2-b06 mixed mode linux-x86 ) # Problematic frame: # C [ld-linux.so.2+0x920b] double+0xab # # An error report file with more information is saved as: # /opt/talend/java/talend-esb-4.2/container/hs_err_pid25350.log # # If you would like to submit a bug report, please visit: # http://java.sun.com/webapps/bugreport/crash.jsp # The crash happened outside the Java Virtual Machine in native code. # See problematic frame for where to report the bug. # zsh: 25350 abort ./tesb 1
230TESB-3407TESB Studio Demo ProjectProvide a demo project within Talend Open Studio for ESB & Talend ESB Studio with contains at least: Data Services: - 3 WSDL First Provider: 2 'normal provider (from Renat-a-Car) with static responce values and the 'Composite service from 'Rent-a-Car' example - WSDL based Consumer for the 'composite' - service provider above which e.g. takes 4 Records from tRowGenerator and send 4 consumer requests to the service above Routes: - Example demonstrating main purpose of mediation and routes in it. 2
231TESB-3449Add publish for JobNULL1
232TESB-3467Support HTTP form submissionsMost of the user-facing Web applications use forms to submit the data. Implementing it will be straightforward. If at least one Comment field in a schema contains 'form' then it means this particular mapping manages a form submission and as such the following changes have to be applied to a corresponding generated method: 1. Default @Consumes({"application/xml", "application/json"}) needs to be replaced by @Consumes("application/x-www-form-urlencoded") 2. No org.dom4j.Document gets added to the signature that is all what is needed. Supporting form submissions in combination with the redirect feature (as suggested in the other JIRA) will let users create complete web applications of simple to medium complexity. 1
233TESB-3470Rename field 'xml' to 'body' in tRESTResponseNeed to rename 'xml' to 'body' in tRESTResponse schema.1
234TESB-3486Rent-A-Car sample runs together with new STS from ApacheAs someone that tries out the Talend ESB I want to use the STS in the samples that is also used in production. With the 5.0 we will integrate the new STS from Apache CXF. The STS Rent-a-Car samples shall work with this new STS. For this - We have to test the samples against the new STS and adapt the samples id necessary. - Update the documentation to describe how to run the samples against the new STS. Remarks: We should run the STS within the Talend Runtime. Either reference in the Getting Started Guide where the setup for a STS running in the Talend Runtime is described or describe it in the Getting Started Guide itself. 2
235TESB-3487STS component delivered with Talend ESB based on CXF deliverablesAs a Talend ESB user I want to have an STS in the release that exactly corresponds to the STS delivered with CXF. At the moment we get a war file over the fence from the STS team. As the STS is now contributed to CXF and part of the 2.5.0 release. We should take the STS directly from CXF and include it in our delivery. We will provide two flavors - a war file in the add-ons/sts directory which we assemble ourself based on jars we get from CXF - karaf feature together with the corresponding bundles included in Karafs internal Maven repository (under the system directory) feature repository is known to Karaf but not installed by default. For both flavors provide sensible default implementations and configurations in order to be able to run the Rent-a-Car sample and secured data services. Add a section in the Runtime configuration guide to describe how to install an STS in a Talend Runtime. 3
236TESB-3494Nagios Support for TESB RuntimeEnable to monitor the well functioning of TESB resources (from Karaf, CXF, Camel, ActiveMQ) via Nagios and also monitor relevant metrics about the resourecs. This feature request is in many respects very to the Hyperic întegration. h3. Definition of Resources and their metrics Identify the resources withín TESB which should be monitored, e.g. endpoints in CXF , routes & contexts in Camel, queues, topics in ActiveMQ. Specify the useful metrics to be monitored in Nagios, especially the used to identify the overall status of the rsource. Like with the Hyperic integration all metrics should be available as JMX MBeans properties. h3. Plugin Technology As long as there are not convincing resons not to use it we should integrate jolokia (http://www.jolokia.org) on tesb side and jmx4perl (http://labs.consol.de/lang/de/jmx4perl/) as Nagios plugin to enable the monitoring. We should integrate jolokia in our Talend runtime (a bundle is available on Maven Central) and in our ActiveMQ distribution. For the Nagios plugin we should describe where and how to get it and how to build and install it. Because it is GPL we will not deliver it with our distribution. h3. Configuration Files For he resources we identified and their properties we should provide Nagios configuration templates using jmx4perl. Similar to the JMXAggregator () we might also expose the corresponding configurations as HTTP service. h3. Documentation Document everything :) - Document the resouces that might be monitored - Document for the jmx4perl Nagios plugin. - Document the configuration templates, describe how to adapt them.8
237TESB-3506Wrong spelling in "Export Service" dialogWhen selecting a target path and filename for exporting a service, where the corresponding .kar file already exists. the warning for overwriting the existing file has a spelling error: "Destination file exists and will be overwited!" needs to be change to: "Destination file already exists and will be overwritten!" 1
238TESB-3527Enhancements for the locator proxies- If proxy shuts down endpoint registered through proxy are set to inactive. Instead they should stay active. Only when they are explicitly unregistered they should become inactive. ServiceLocator now provides method to persistently register an endpoint. - Only HTTP SOAP based endpoints can be registered. No HTTPS based SOAP endpoints or REST based. It should be possible to specify binding and transport in addition when registering an endpoint. - Also update the samples to use binding and transport3
239TESB-3531Custom Locator properties for Data Services ConsumerAs a designer of a Data Service consumer I want to be able to specify custom properties when the locator is enabled. Agree with tooling team how to pass the custom properties, probably some slot in the endpoint properties of the endpoint info. Pass the properties to the locator feature. 2
240TESB-3546Camel components required by Route builder components preinstalled in Karaf containerAs a Route designer I want to run routes containing technology specific components, such as ftp or ActiveMq out of the box. Install the camel bundles these components depends on by default in the container. For the followoing Route builder components we need to ensure the corresponding required Camel components are already installed in the Talend Runtime. - cFile - cFTP requiring camel-ftp - cCXF requiring camel-cxf - cJMS requiring camel-jms2
241TESB-3552Remove cActiveMQ and improve cJMS component to use pre-defined configuration templatesWe need to remove *cActiveMQ* component and make sure features of *cActiveMQ* can be configured in *cJMS* component with ease. Similar to tMOMInput. We should have following templates: * ActiveMQ * WebSphereMQ3
242TESB-3553Stopping OSGI job containing tRESTRequest produces unexpected RuntimeExceptionI think at the moment that it is not a TESB container issue, may be I'm wrong... When I attempt to stop a job containing tRESTRequest using osgi:stop or clicking CTRL-D to get the container exit, I'm seeing the following: karaf@trun> job:list HTTPService karaf@trun> stop HTTPService java.lang.RuntimeException: java.lang.InterruptedException restservices.httpservice_0_1.HTTPService$QueuedMessageHandlerImpl.getRequest(HTTPService.java:342) restservices.httpservice_0_1.HTTPService.tRESTRequest_1Process(HTTPService.java:990) restservices.httpservice_0_1.HTTPService.runJobInTOS(HTTPService.java:1353) org.talend.esb.job.controller.internal.SimpleJobTask$JobRunner.run(SimpleJobTask.java:85) java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) java.util.concurrent.FutureTask.run(FutureTask.java:138) org.talend.esb.job.controller.internal.SimpleJobTask.run(SimpleJobTask.java:68) java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) java.lang.Thread.run(Thread.java:662) Caused by: java.lang.InterruptedException java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:1961) java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1996) java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) restservices.httpservice_0_1.HTTPService$QueuedMessageHandlerImpl.getRequest(HTTPService.java:340) ... 10 more I'm not sure if the same issue exists for tESB or not, but the above should be handled differently, ex, LOG the warning that an interrupted exception has happened, as opposed to printing it to System.err and possibly handle it at the Activator level too. At the moment assigning to Renat.1
243TESB-3583Improve service metadata editing dialogWe need to improve service metadata editing dialog: * Since we only support WSDL with exactly one portType we need to move the service metadata editing action on the service node instead of the portType. * Make the SAML and Username token security issues checkboxes and not radio buttons. For provider we should have an ability to select both SAML and Username token options. * Remove checkbox for enabling security. Since SAML and Username tokens are now checkboxes, main checkbox for enabling security is becoming obsolete.2
244TESB-3584tESBConsumer Username token authentication does not work from Studio/StandaloneWhen data service provider is configured to use Username token authentication and deployed in the runtime. The standalone/studio job that uses tESBConsumer component can't authenticate since it uses Basic authentication and not the WS-Security Username-token authentication type. We have to leave user a choice to do both (basic and WS-Security username-token) standalone, and 3 types in container (basic, WS-Security username-token and SAML token) 1
245TESB-3587EE instance logs error when starting up derby and sam providerWhen starting up the server I see the following problem inside the log file. It appears to be a dependency problem. Probably sigar expects a different version of log4j than provided by the container. 14:41:59,365 | ERROR | observer.server) | oring.jmx.server.OsInfoRetriever 239 | 193 - org.talend.monitoring.server - 4.3.0.SNAPSHOT | Exception when starting Sigar monitoring java.lang.NoSuchMethodError: org.apache.log4j.Logger.getAllAppenders()Ljava/util/Enumeration; at org.hyperic.sigar.SigarLog.isLogConfigured(SigarLog.java:40)[196:org.hyperic.sigar:1.0.0] at org.hyperic.sigar.SigarLog.getLogger(SigarLog.java:49)[196:org.hyperic.sigar:1.0.0] at org.hyperic.sigar.SigarLog.getLogger(SigarLog.java:44)[196:org.hyperic.sigar:1.0.0] at org.hyperic.sigar.SigarLog.debug(SigarLog.java:60)[196:org.hyperic.sigar:1.0.0] at org.hyperic.sigar.Sigar.<clinit>(Sigar.java:108)[196:org.hyperic.sigar:1.0.0] at sigar.SigarCpuInfo.<clinit>(SigarCpuInfo.java:45)[193:org.talend.monitoring.server:4.3.0.SNAPSHOT] at org.talend.monitoring.jmx.server.OsInfoRetriever.startSigarMonitoring(OsInfoRetriever.java:235)[193:org.talend.monitoring.server:4.3.0.SNAPSHOT] at org.talend.monitoring.jmx.server.OsInfoRetriever.<init>(OsInfoRetriever.java:305)[193:org.talend.monitoring.server:4.3.0.SNAPSHOT] at org.talend.monitoring.jmx.server.OSInformationAgent.start(OSInformationAgent.java:109)[193:org.talend.monitoring.server:4.3.0.SNAPSHOT] at org.talend.remote.jobserver.server.TalendJobServer.startMonitoringServer(TalendJobServer.java:191)[194:org.talend.remote.jobserver.server:4.3.0.SNAPSHOT] at org.talend.remote.jobserver.server.TalendJobServer.startOnly(TalendJobServer.java:101)[194:org.talend.remote.jobserver.server:4.3.0.SNAPSHOT] at org.talend.remote.jobserver.server.activator.Activator.updated(Activator.java:45)[194:org.talend.remote.jobserver.server:4.3.0.SNAPSHOT] at org.apache.felix.cm.impl.ConfigurationManager$ManagedServiceUpdate.run(ConfigurationManager.java:1160)[5:org.apache.felix.configadmin:1.2.8] at org.apache.felix.cm.impl.UpdateThread.run(UpdateThread.java:104)[5:org.apache.felix.configadmin:1.2.8] at java.lang.Thread.run(Thread.java:680)[:1.6.0_26]2
246TESB-3590Simplify selection of the services from the workspace in tESBConsumer componentRight now we have a selection dialog that allow user to enter an URL for the WSDL or select a file from the local file system. We would need to add a dialog that should show the services from the workspace to allow simple reuse of existing WSDLs.1
247TESB-3810Camel component cAggregate: the aggregation strategy is a mandatory option according to the Apache Camel website but set as optional in the ESB studio.See http://camel.apache.org/aggregator.html.1
248TESB-3596Simplify relative URL support for services.Simplify the relative URL: * Exported endpoint in beans.xml shall always be relative * WSDL in the studio shall always be full URL * When exporting from studio we just cut the WSDL URL port and host. Examples: ** If we have http://localhost:8088/foo/hasi in bean XML we will have */foo/hasi*. ** If we have http://localhost:8099/foo/hasi in bean XML we will have */foo/hasi*. ** If we have http://localhost:8099/services/hasi in bean XML we will have */services/hasi*. 1
249TESB-3645Make path to ZooKeeper dataDir relative for ZooKeeper in Talend RuntimeFor the ZooKeeper runing in the Talend Runtime with should configure a relative path to the ZooKeeper data directory Currently it's /zookeeper/server1/data this causes permission problems in Unix like operating systems. Use ./zookeeper/data instead1
250TESB-3650tRESTRequest - Wrong call handlingThe handling of 'Wrong Call' does not work correctly. For a simple tRESTRequest with one get "/" uri it not works correctly to do the Wrong call response. In the log you can see that two wrong request arrived with www|404| uuuu|404| but the tRESTResponse didn't send it back. Starting job CustomerService at 12:38 26/10/2011. [statistics] connecting to socket on port 3434 [statistics] connected 26.10.2011 12:38:08 org.apache.cxf.endpoint.ServerImpl initDestination INFO: Setting the server's publish address to be http://localhost:8088/ 2011-10-26 12:38:08.454:INFO:oejs.Server:jetty-7.5.1.v20110908 2011-10-26 12:38:08.501:INFO:oejs.AbstractConnector:Started SelectChannelConnector@localhost:8088 STARTING 2011-10-26 12:38:08.517:INFO:oejsh.ContextHandler:started o.e.j.s.h.ContextHandler{,null} rest service [endpoint: http://localhost:8088/] published 26.10.2011 12:38:16 org.apache.cxf.jaxrs.utils.JAXRSUtils findTargetMethod WARNUNG: No operation matching request path "/uuuu" is found, Relative Path: /uuuu, HTTP Method: GET, ContentType: */*, Accept: text/html,application/xhtml+xml,*/*,. Please enable FINE/TRACE log level for more details. 26.10.2011 12:38:16 org.apache.cxf.jaxrs.impl.WebApplicationExceptionMapper toResponse WARNUNG: WebApplicationException has been caught : no cause is available wrong call [uri: uuuu ; status: 404 ; error: null] uuuu|404| 26.10.2011 12:38:30 org.apache.cxf.jaxrs.utils.JAXRSUtils findTargetMethod WARNUNG: No operation matching request path "/www" is found, Relative Path: /www, HTTP Method: GET, ContentType: */*, Accept: text/html,application/xhtml+xml,*/*,. Please enable FINE/TRACE log level for more details. 26.10.2011 12:38:30 org.apache.cxf.jaxrs.impl.WebApplicationExceptionMapper toResponse WARNUNG: WebApplicationException has been caught : no cause is available wrong call [uri: www ; status: 404 ; error: null] java.lang.RuntimeException: java.lang.Exception: java.util.concurrent.TimeoutException demo.customerservice_0_1.CustomerService$QueuedMessageHandlerImpl.sendResponse(CustomerService.java:397) demo.customerservice_0_1.CustomerService.tRESTRequest_1Process(CustomerService.java:2611) demo.customerservice_0_1.CustomerService.runJobInTOS(CustomerService.java:3136) demo.customerservice_0_1.CustomerService.main(CustomerService.java:3004) Caused by: java.lang.Exception: java.util.concurrent.TimeoutException demo.customerservice_0_1.CustomerService$QueuedExchangeContextImpl.release(CustomerService.java:293) demo.customerservice_0_1.CustomerService$QueuedMessageHandlerImpl.sendResponse(CustomerService.java:395) ... 3 more Caused by: java.util.concurrent.TimeoutException java.util.concurrent.Exchanger.exchange(Unknown Source) demo.customerservice_0_1.CustomerService$QueuedExchangeContextImpl.release(CustomerService.java:288) ... 4 more www|404| Job CustomerService ended at 12:39 26/10/2011. [exit code=0] 1
251TESB-3654Add flexibility in artifact publishing with SNAPSHOTSSince the fixed version once published can't be overwritten in the Archiva repository we need to give our users a support and guidance to use SNAPSHOT versions instead. Practially speaking publishing of the non-SNAPSHOT versions is very rare event, therefore by default we should always use SNAPSHOT version, and ask an explicit confirmation from user if she would like to publish a released version. Following things need to be doable: * Change the Archiva settings in the Studio preferences. User should be able to configure two repository locations instead of one. It should be 'Snapshot repository' and 'Release repository', default names are *repo-snapshot* and *repo-release*. Default username/password should be *tadmin*/*tadmin*. These settings will be pre-configured in Archiva by default which is done by TAC team now. * Make sure a SNAPSHOT version is published by default, and snapshots are published to the 'Snapthos repository'. * Make sure we comply with *maven-3* SNAPSHOT naming policy (example SNAPSHOT-[TIMESTAMP].jar) * Make sure user is warned and an explicit confirmation is requested when publishing the release version. * Make sure releases are published to the 'Release repository' and not to the 'Snapshot repository'. 2
252TESB-3663tESBConsumer: add HTTP BASIC authentication supporttESBConsumer now can be configured to use BASIC authentication scenario - http://en.wikipedia.org/wiki/Basic_access_authentication it would be good to support this for consumer jobs in runtime container also information about this authentication type provided to runtime the same way as for other types - in ESBEndpointInfo object during registering consumer on runtime {code} registry.createConsumer(new ESBEndpointInfo() { // ... public java.util.Map<String, Object> getEndpointProperties() { return new java.util.HashMap<String, Object>() { { // ... put("esbSecurity", "BASIC"); put("username", "Aladdin"); put("password", "open sesame"); // ... } }; } // ... } {code}2
253TESB-3665SAM Feature not works with Routes exported in runtime when the dataFormat = MESSAGE on the cCXF componentSAM Feature not works with Routes exported in runtime when the dataFormat = MESSAGE on the cCXF component Scenario: - create route with cCXF component (set use SL and SAM) - exported it to ESB Runtime - deployed to runtime. Expected result: - SL Feature enabled for route - SAM Feature enabled for route. Actual: - SL Feature enabled for route - SAM Feature not works for route. There are no exceptions in log. But in console I see: 16:14:55,540 | INFO | pool-9-thread-1 | g.apache.cxf.endpoint.ServerImpl 94 | - - | Setting the server's publish address to be http://localhost:8888/services/route 16:14:55,701 | INFO | pool-9-thread-1 | eature.AbstractDataFormatFeature 63 | 163 - org.apache.camel.camel-cxf - 2.8 .2 | removing the interceptor org.apache.cxf.interceptor.OneWayProcessorInterceptor@5ab95279 16:14:55,704 | INFO | pool-9-thread-1 | eature.AbstractDataFormatFeature 63 | 163 - org.apache.camel.camel-cxf - 2.8 .2 | removing the interceptor org.apache.cxf.frontend.WSDLGetInterceptor@3cd5b477 16:14:55,706 | INFO | pool-9-thread-1 | eature.AbstractDataFormatFeature 63 | 163 - org.apache.camel.camel-cxf - 2.8 .2 | removing the interceptor org.apache.cxf.ws.addressing.MAPAggregator@723b0fd4 16:14:55,708 | INFO | pool-9-thread-1 | eature.AbstractDataFormatFeature 63 | 163 - org.apache.camel.camel-cxf - 2.8 .2 | removing the interceptor org.apache.cxf.ws.addressing.soap.MAPCodec@38c61e3 16:14:55,710 | INFO | pool-9-thread-1 | eature.AbstractDataFormatFeature 63 | 163 - org.apache.camel.camel-cxf - 2.8 .2 | removing the interceptor org.talend.esb.sam.agent.flowidprocessor.FlowIdProducerIn@756e7fe6 16:14:55,712 | INFO | pool-9-thread-1 | eature.AbstractDataFormatFeature 63 | 163 - org.apache.camel.camel-cxf - 2.8 .2 | removing the interceptor org.talend.esb.sam.agent.eventproducer.EventProducerInterceptor@298f1145 16:14:55,714 | INFO | pool-9-thread-1 | eature.AbstractDataFormatFeature 63 | 163 - org.apache.camel.camel-cxf - 2.8 .2 | removing the interceptor org.apache.cxf.ws.addressing.MAPAggregator@723b0fd4 16:14:55,716 | INFO | pool-9-thread-1 | eature.AbstractDataFormatFeature 63 | 163 - org.apache.camel.camel-cxf - 2.8 .2 | removing the interceptor org.apache.cxf.ws.addressing.soap.MAPCodec@38c61e3 16:14:55,718 | INFO | pool-9-thread-1 | eature.AbstractDataFormatFeature 63 | 163 - org.apache.camel.camel-cxf - 2.8 .2 | removing the interceptor org.talend.esb.sam.agent.flowidprocessor.FlowIdProducerOut@6fb6de53 16:14:55,720 | INFO | pool-9-thread-1 | eature.AbstractDataFormatFeature 63 | 163 - org.apache.camel.camel-cxf - 2.8 .2 | removing the interceptor org.talend.esb.sam.agent.wiretap.WireTapOut@4ebe5471 So, all defined sam interceptors were deleted during route startup. In attach: - exported route2
254TESB-3675Improve usability of the 'New Service' wizardFollowing aspects should be improved: * Second page of the wizard need a redesign. * Add a checkbox 'Import WSDL Schemas on finish' * When WSDL is imported and/or new empty WSDL is created we need to open the WSDL editor with it. * Empty WSDL should contain pre-initialized service with one portType, one operation, one port and endpoint with http://localhost:8090/services/[ServiceName] * Make sure namespace of the WSDL created from scratch *does not contain* any indication of the Talend resource version like *_0.1*, that's a bad practice and misleading.3
255TESB-3678Notes in the Route Builder diagramsAdd 'yellow' notes to the RouteBuilder diagrams similar to the DI Jobs Diagrams. Timeboxed. If model change is required, then don't do it.2
256TESB-3683Multiple use of term repository in Service BuilderIn the settings view for a tESBProvider* you can configure the schema used. You can choose Built-in or Repository. When you choose _Repository_ you actually get the content of the _Services_ category, not the metadata. If you want to get the same thing in tXMLMap and you choose _Import from Repository on a payload element, you get the content of the metadata in the repository, not the stuff under _Services_. This is IMO misleading. Either use proper names so that users can distinguish what actually is used. -Or better, fix the relationship between the data under _Services_ and XML metadata.- (Removed by Renat)1
257TESB-3684A detail but very convenient = Keep in memory the default "deploy" container folderyou have to look for the "deploy" directory each time each time you want to export a job / route as an OSGI bundle, 1
258TESB-3685Change cMessagingEndpoint to cMessageEndpointThe actual name of the EIP is Message Endpoint (see for instance http://camel.apache.org/message-endpoint.html), not Messaging Endpoint. Even though you might think the priority of this should be _Trivial_ I gave it a _Major_ as it suggest we don't know the EIPs! *Note:* Migration of the Routes created with the old names is not in scope of that backlog item.5
259TESB-3687Code completion does not work in cProcessorCan't use code completion in cProcessor editor pane. Even if you try to complete existing default code. For example: System.out.println("We just downloaded: "+ exchange.getIn().getHeader("CamelFileName")); Try to complete getIn().<ctrl><space> Is not showing getHeaders1
260TESB-3688Content Based Router (cMessageRouter) Is not working in StudioThe CBR does not seem to parse even constant Simple expressions correctly. I started by extracting a value from the body content and setting it a header of the message for use in subsequent routing. Initially I thought the source of my error was in setting the header. But upon checking more carefully I was able to validate that I was indeed setting the error correctly. The fault lies with the cMessageRouter. In the attached diagram I have set the only "when" branch of the cMessageRouter to have a transition with the following predicate: "'true'=='false'" This should always be false, but in practice it is always this branch which is executed. I am only marking this as Critical now until somebody replicates the error, but I believe it to be a blocker for R5.1
261TESB-3690Improved security configuration in tESBConsumerAs discussed during the Tooling RC2 Sprint Review meeting would be great to improve security configuration in *tESBConsumer*. We need to split combo-box with 4 options into one checkbox *Authentication* and combo-box with 3 options * *Basic HTTP* * *SAML Token*. * *Username Token* *Note*: Order in the new combo-box is not essential. New combo-box is only enabled/appeared when Authetnication checkbox is clicked. 1
262TESB-3706Publish Service to Artifact Repository: Slashes in Goup ID neither supported along complete chain, nor preventedWhen publishing a Service from the Studio to the Artifact Repository where the Group ID contains a "/" the further chain of deploying does not work. 1. In the Group ID use a combination of Dots and Slashes like in org.talend.example/test (as this combination is usual in URI's it is very likeley customers use it!) 2. Publish to Artefect Repository. The step is sucessfull but the resulting Group ID is: talend.org.example.test 3. Load it into the ESB Conductor in TAC (sucessfull) 4. Deploy it into the ESB Container (fails) Actual behavior: during the deployment the URL can not be resolved where the URL is again taken to be the one with slashes: org.talend.example/test/jobtest/0.1 Expected behavior: Either: 1. dots and slashes within the Group ID work along the complete chain from publish to running the feature in runtime Or: 2. Slashes are prevented already in the dialog where you enter the Group ID See screencast: http://screencast.com/t/bvyEpIS0N0Y 1
263TESB-3708Publish to Artifact Repository: Special characters in Group ID not prevented on dialogWhen publishing a Service from the ESB Studio to the Artifact Repository I any special characters are allowed when entering the Group ID. Actual Behavior for following cases: 1. String: 5&$§/.)(? Result: Publish command fails with: "Publish to Repository failed, details: null 2. String: 5&$§ Result: Publish suceeds but Repository can not resolve it When drilling down the Group ID folder is not opening but gets extended (corrupt) 3. String: &% Result: Publish command fails with: "Publish to Repository failed, details: HTTP/1.1/ 400 Bad Request" Expected Behavior for all examples (and any other not allowed character): In the Publish Dialog it is already prevented to use any non allowed character in the Group ID 1
264TESB-3739Recurrent information in Jobserver logEvery 5 seconds the jobserver is displaying this kind of information in the log. So, the log is quickly getting filled with this. 2011-11-02 13:56:55,390 INFO CPUMonitoringData - the total user cpu usage is 0.060144425759224455 2011-11-02 13:56:55,390 INFO CPUMonitoringData - the total nice cpu usage is 0.0 2011-11-02 13:56:55,392 INFO CPUMonitoringData - the total system cpu usage is 0.04639430210703334 2011-11-02 13:56:55,394 INFO CPUMonitoringData - the total Idle cpu usage is 0.8810960530220595 2011-11-02 13:56:55,396 INFO CPUMonitoringData - the total IRQ cpu usage is 0.01236521911168266 2011-11-02 13:56:55,399 INFO CPUMonitoringData - the total Soft Irq cpu usage is 0.0 2011-11-02 13:56:55,402 INFO CPUMonitoringData - the total Steal cpu usage is 0.0 2011-11-02 13:56:55,404 INFO CPUMonitoringData - the total io wait cpu usage is 0.0 2011-11-02 13:56:55,406 INFO CPUMonitoringData - the total Total system cpu usage is 0.10653872786625779 2011-11-02 13:56:55,419 INFO CPUMonitoringData - *************************************** ********1
265TESB-3745Change Service Locator SOAP|REST Proxy to Locator SOAP|REST ServiceAs a product manager I want the components formerly named Service Locator SOAP proxy and Service Locator Rest proxy consistently be named Locator SOAP Service and Locator REST Service This should be done - in documentation, - in the endpoints - in the samples, - in the code (only if consequences are clear) 2
266TESB-3746WSDL and WADL Files for the Locator Services are missing in the deliveryWSDL file for the Locator SOAP Service and WADL file for The Locator REST Service should be added to the add-ons/locator directory. This should be documented in thr Runtime Configuration Guide.1
267TESB-3747Finalize integration with Artifact Repository (Apache Archiva)As someone running everything on a local machine I want to use the Artifact Repository delivered with TAC out of the box. To provide access to the local artifact repositories add in file org.ops4j.pax.url.mvn.cfg entries for local Arhiva repositories named repo-snapshot for snapshot bundles and repo-release for released bundles. The user name to access both repositories is tadmin, password also tadmin. Remove archiva compponents from add-ons directory as they are obsolete. In future the repository delivered with TAC should be used. 1
268TESB-3749tRESTRequest relative URI is not supported during the OSGI export and deployment correctlyNULL3
269TESB-3756Redeploy data service: InstanceAlreadyExistsException exceptionScenario: - deploy data service into runtime - undeploy service: feature:uninstall + delete kar from /deploy folder (+ optionally: delete 'services' folder from 'local-repo') - deploy the same kar again Expected: - data service deployed and started, no exception in log Actual: - data service deployed and started, InstanceAlreadyExistsException exception in log in attach: - kar - log1
270TESB-3761Configuration enhancements in Karaf- Add tadmin user with password tadmin and role admin to user.properties. In future this will be the default admin user for the Talend Runtime. - Replace all locations where the Karaf user is used with tadmin - In etc/system.properties add the entry http.maxConnections=25 This is a recomendation from Dan: 'With a ton of connections to localhost for the tests, if we don't keep them around, we'll get a lot of sockets in CLOSE_WAIT and FIN_WAIT2 statesand run out of file handles' 1
271TESB-3764Add a SSLKeystore for the the JobServerSSL encryption was recently added for the communication between JobConductor and JobServer. Therefore a keystore with apropriate certificate needs to be added to JobServer embedded in Talend Runtime. The keystore can be found in /org.talend.remote.jobserver_5.0.0NB_r70772/keystores/SSLKeystore file and needs to be added to cotainer/etc/keystores 1
272TESB-3765PermGen space error when deploying STS+rentacar client in the same Karaf container when using 64-bit JavaWhen deploying both STS and the rentacar client in the same Karaf container we see a PermGen space error or a Segmentation Violation caused by PermGen space problems. The following options set in the karaf start script trun/trun.bat seem to solve the problem: set DEFAULT_JAVA_OPTS=-server -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled ... together with set JAVA_PERM_MEM=256M, set JAVA_MAX_PERM_MEM=512M 1) Investigate whether -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled have negative side effects, if not use them as default, if yes make their use easier (flag in the beginning of the script described in the documentation). 2) Regarding JAVA_PERM_MEM=256M, JAVA_MAX_PERM_MEM: Investigate whether there is a possibility to detect automatically in the script whether we use 64-bit Java and adapt the default parameters accordingly. At least the parameters for 64-bit Java should be documented. (hint: we have to check whether "java -version" contains the string "64-bit").3
273TESB-3801One connection factory is generated per cJMS componentSame applies for cActiveMQ components - but I assume we get rid of these anyway. When multiple cJMS components are used in a route, the generated code defines a connection factory instance and component definition for each od these cJMSs. This is almost always wrong. In most cases all cJMS components in a route will use the same component (same alias, e.g. "jms"). There are a few cases, for instance when a route should bridge between different messaging systems, more than one JMS component would need to be generated, like one for "amq" and a second one for "wmq". JMS connections should be treated like DB connections in service builder. JMS component aliases should be definable in one place and then selectable in each cJMS instance.3
274TESB-3802Transaction support in Route Builder for JMS componentsCamel allows to switch on transaction support in a route with the _transacted()_ clause in the fluent language. This should be supported in the Route Builder. Currently it is not even possible to add this via the existing extension points like cJavaDSLProcessor, etc. Code generation for cJMS would also have to be updated/tailored. Switching on transaction support also requires declaration of a transaction manager (from the Spring framework). It would be cool if the Route BUilder could generate all the necessary code in the route when transaction support is demanded. *Note*: In the first iteration we will only target transactional use-cases for JMS components.3
275TESB-3803Define error handlers in routes in Route BuilderWhen not otherwise defined the behavior of the default error handler is to throw away a message in case of an error - Camel allows the configuration of an error handler, for the whole context or for each route. It is currently possible to define an error handler in a cJavaDSLProcessor for a specific route. But it's not possible to define an error handler for the whole context (across routes) and also there is no support in the Route Builder to configure this visually. 3
276TESB-3805Statistics not displayed on certain routes when route was duplicatedWhen you duplicate a route in Route Builder, occasionally statistics are not displayed when the duplicated route is executed in Route Builder. The routes are actually executed, just the statistics are not displayed. The workaround is to delete the routes (connections between components in a route/canvas), draw the connection again. When the route is executed again, statistics show up again.1
277TESB-3824Make sure RouteBuilder class is exposed when route is exported as OSGi bundleThe wrapper code is a critical piece of code which links us from the Studio environment, to the vanilla eclipse environment, to the runtime environment and it _badly_ needs refactoring. The runtime environment is unnecessarily limited to just OSGI through the OSGI bundle dependency. This and other dependencies should be separated from the core routebuilder code. The route builder is so embedded inside (IMO) unnecessarily nested classes that the generated route cannot be accessed cleanly or used for anything other than launching in an overly restricted way (whether as OSGI or Talend job makes little difference). Fortunately, I _think_ it can be effectively accessed for integration testing. If not, the CI process is disrupted not just by tooling but by the fundamental design of the generated code. I think we can currently still extract just the route from external code that calls Route(false) so that the camelContext is not started. Right now the routeBuilder created by initRoute is already attached to the CamelContext. In a unit test environment with CamelTest I think we can set the test context to the generated camelContext, and use the Route function to supply the configure method. I will verify this. But this should not have to be verified. A peace of code this critical should be crystal clear. Even with the code generator's impact, the code should be much better. Much of the code can be moved into a non-generated framework class which is simply switched using a strategy pattern by the Studio via generated code. PS: why is the method Route capitalized? 3
278TESB-3837Data Service name is not validated during service creation in Studiois should be validated on special characters (this name also used in WSDL created from scratch so seems to be it should be NCName)1
279TESB-3854Route Builder marks cSetHeader or cProcessor connected by a when connection as an errorIf a cSetHeader or cProcessor component is connected with a {{when()}} connection, the route builder flags this as an error and a warning occurs when the route gets executed. However the generated Java DSL is valid and the route actually executes correctly.1
280TESB-3855Statistics broken if cJavaDSLProcessor used in routeIf a route contains a cJavaDSLProcessor, statistics don't work when the route is executed in route builder. Instead an exception is thrown: javax.management.RuntimeOperationsException: Exception occurred trying to invoke the getter on the MBean com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:645) com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(JmxMBeanServer.java:638) routines.system.CamelStat.updateStatOnConnection(CamelStat.java:399) esbtest.retrymessage_0_1.retryMessage$MyStatThread.run(retryMessage.java:137) esbtest.retrymessage_0_1.retryMessage$1CamelImpl.doStart(retryMessage.java:230) org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:67) org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:54) org.apache.camel.impl.MainSupport.run(MainSupport.java:136) esbtest.retrymessage_0_1.retryMessage.Route(retryMessage.java:364) esbtest.retrymessage_0_1.retryMessage.runJobInTOS(retryMessage.java:485) esbtest.retrymessage_0_1.retryMessage.main(retryMessage.java:398) Caused by: java.lang.IllegalArgumentException: Object name cannot be null ... 11 more Line 137 in the generated Java code for the route (retryMessage.java) tries to update the statistics of the cJavaDSLProcessor: stats.updateStatOnConnection("route14", 1, "cJavaDSLProcessor_2"); WHen the cJavaDSLProcessor is removed/deactivated, statistics work fine.3
281TESB-3856ActiveMQ should not be automatically active when starting the TESB containerAfter start-up of a TESB container activemq is active and running. I doubt that this is a good idea. Infrastructure components like SAM server, the backend database (derby), Zookeeper or similar should not be up and running automatically when the container is been started. And they are not. In my view this should also regard to activemq. There can be more than one container installation within an environment (even a single host). And there also should only be one infrastructure service (if it is not clustered... which is a completely different story). The user should not be forced to shutdown unwanted infrastructure services within the container after start-up. It would be a better approach to let the user explicitly start the infrastructure services he needs in whatever container instance(s) he wants them to run. This should also regard to activemq in both editions TESB SE and TESB EE.1
282TESB-3881service with enabled security: org.xml.sax.SAXParseException during deployment to runtimeScenario: - created data service with username password security - exported it as osgi bundle - deployed to runtime Expected: - service started, no errors Actual: - service started with delay in 21 sec - org.xml.sax.SAXParseException in the log in attach: - service - log Also I added comment regarding this issue. This problem already discussed in mailing list but still we have no decision how to fix it.1
283TESB-3897Runtime: log4j Error - Failed to flush writerThe error as shown in the attached screenhot will show up after a while (even if nothing happend on the container in the meanwhile) 1
284TESB-3898Runtime: log4j Error - File not found exceptionThe error as shown in the attached screenhot will show up after a while (even if nothing happend on the container in the meanwhile) 1
285TESB-3900Runtime: features:install tesb-core failed (could not start bundle)The tesb-core feature can not be started -resultin error see attached screenshot1
286TESB-3905Statistics is not visible when cLoadBalancer is used1.create a route like this: ------->cFile_2 cFile_1--------->cLoadBalancer --------->cFile_3 the parameters can be configed as this following: cFile_1:Path:"C:/data/input/loadBalance" select "noop" as checked. LoadBalancer : use the default config parameters; cFile_2:Path:"C:/data/output/loadBalance/1" select "noop" as checked. cFile_3:Path:"C:/data/output/loadBalance/2" select "noop" as checked. This can refer to the attarchment file"cLoadBalancer.zip" 2.Run the route; in the rusult : About the component cLoadBalancer, can't show the num of rows in the line of route after run the route .3
287TESB-3909Import WSDL schema to Metadata: Different path for same WSDL from Service and from tESBConsumerWhen Importing the WSDL schemas to the Metadata from the tESBConsumer it is created with a different path then created from Service. Steps to Reproduce: 1. Create a Service with Importing the WSDL Schema into Metadata 2. Create a job with tESBConsumer (currently the selection of the service operation does not work see: TDI-18487) When selecting the same WSDL here as for the service and again import it into MEtadata the Schemas are created with a different path Expected behavior: For the same WSDL the Metadata path shall be identical, independent from where the WSDL schema is imported Actual Behavior: The path is change from: <Namespace>/<PortTypeName> to: "Standard"/<ServiceName> (No idea where the "Standard" is taken from See screencast: http://screencast.com/t/KYmRf5Jn 1
288TESB-3993Feature version for snapshots should not use -SNAPSHOT but .SNAPSHOTWe need to make sure: * All snapshot versions in pom.xml and mvn: references use -SNAPSHOT for snapshots * All entries for OSGi container in MANIFEST should use X.X.X.SNAPSHOT for snapshots --- Old description When deploy a feature from archiva repo_release to ESBConductor in the TAC,I got this error: Error:deployment of feature 'A-feature' might have failed:java.lang.NumberFormatException:For input string: "1-SNAPSHOT-20111115164426"--For more information see your log file {noformat} java.lang.NumberFormatException: For input string: "1-SNAPSHOT-20111115163813" java.lang.NumberFormatException.forInputString(NumberFormatException.java:48) java.lang.Integer.parseInt(Integer.java:458) java.lang.Integer.parseInt(Integer.java:499) org.osgi.framework.Version.<init>(Version.java:129) org.osgi.framework.Version.parseVersion(Version.java:218) org.apache.karaf.features.internal.FeaturesServiceImpl.installBundleIfNeeded(FeaturesServiceImpl.java:669) org.apache.karaf.features.internal.FeaturesServiceImpl.doInstallFeature(FeaturesServiceImpl.java:475) org.apache.karaf.features.internal.FeaturesServiceImpl.installFeatures(FeaturesServiceImpl.java:292) org.apache.karaf.features.internal.FeaturesServiceImpl.installFeature(FeaturesServiceImpl.java:280) org.apache.karaf.features.internal.FeaturesServiceImpl.installFeature(FeaturesServiceImpl.java:276) org.apache.karaf.features.internal.FeaturesServiceImpl.installFeature(FeaturesServiceImpl.java:267) {noformat}1
289TESB-3950When sending a oneway request SAM logs a RESP_OUT eventSAM logs RESP_OUT events even though that should not happen for oneway requests. Test case SamConfigLogMessageContentFalse sends only one oneway request so the expectation is that one REQ_OUT and one REQ_IN would be stored. The following EVENTS are stored in the database (the first one is unexpected!) 3 2011-11-15 16:30:29.538 RESP_OUT 44587 sopmac11 192.168.200.5 {http://services.test.esb.talend.org/Standard}StandardTestService {http://services.test.esb.talend.org/Standard}doOneway urn:uuid:4e5a1ef6-b178-4144-91ac-e41737200895 urn:uuid:e89d9e4a-73f1-4c61-9752-2d35b930ccfb http://schemas.xmlsoap.org/soap/http false 2 2011-11-15 16:30:26.138 REQ_OUT 44542 sopmac11 192.168.200.5 {http://services.test.esb.talend.org/Standard}StandardTestService {http://services.test.esb.talend.org/Standard}doOneway urn:uuid:2f321d06-35b1-45b9-afae-9ad133c35725 urn:uuid:e89d9e4a-73f1-4c61-9752-2d35b930ccfb http://schemas.xmlsoap.org/soap/http false <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Header><flowId xmlns="http://www.talend.com/esb/sam/flowId/v1">urn:uuid:e89d9e4a-73f1-4c61-9752-2d35b930ccfb</flowId><Action xmlns="http://www.w3.org/2005/08/addressing">http://http://services.test.esb.talend.org/Standard/StandardTestServiceProvider/doOneway</Action><MessageID xmlns="http://www.w3.org/2005/08/addressing">urn:uuid:2f321d06-35b1-45b9-afae-9ad133c35725</MessageID><To xmlns="http://www.w3.org/2005/08/addressing">http://localhost:8077/services/tesb.test.participants.sam.nomsg.content.provider/soap/StandardTestServiceProvider/</To><ReplyTo xmlns="http://www.w3.org/2005/08/addressing"><Address>http://www.w3.org/2005/08/addressing/none</Address></ReplyTo></soap:Header><soap:Body><ns2:OnewayRequest xmlns:ns2="http://services.test.esb.talend.org/Standard/types"><key>req-res</key><value/></ns2:OnewayRequest></soap:Body></soap:Envelope> 6 2011-11-15 16:30:29.794 REQ_IN 44587 sopmac11 192.168.200.5 {http://services.test.esb.talend.org/Standard}StandardTestService {http://services.test.esb.talend.org/Standard}doOneway urn:uuid:2f321d06-35b1-45b9-afae-9ad133c35725 urn:uuid:e89d9e4a-73f1-4c61-9752-2d35b930ccfb http://schemas.xmlsoap.org/soap/http false 2
290TESB-3953Remove localhost as a name for binding and port in WSDL of rent-a-carDon't use localhost for WSDL port name and localhostbinding for the WSDL binding in the two WSDLs of rent-a-car: <wsdl:service name="ReservationServiceProvider"> <wsdl:port binding="tns:localhostBinding" name="localhost"> <soap:address location="http://localhost:8888/soap/ReservationServiceProvider/"/> </wsdl:port> </wsdl:service> <wsdl:binding name="localhostBinding" type="tns:ReservationService">1
291TESB-3958SAM: Transport type JMS is not filled correctly in message events for JMS based requests.When running a test where a consumer communicates with a provider via JMS, I see a wrong transport type: http://schemas.xmlsoap.org/soap/http . As we are not using http, so we would expect a value that indicates that JMS was used. Stating that it is http is a bit misleading ... 2 2011-11-16 08:16:58.847 REQ_OUT 788 sopmac11 192.168.200.5 {http://services.test.esb.talend.org/Standard}StandardTestService {http://services.test.esb.talend.org/Standard}doOneway urn:uuid:c799d4b9-2b92-4e14-93cb-e53756823d23 urn:uuid:41d3bab5-fccd-4540-b6ec-a3e5c902c396 http://schemas.xmlsoap.org/soap/http false <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Header><flowId xmlns="http://www.talend.com/esb/sam/flowId/v1">urn:uuid:41d3bab5-fccd-4540-b6ec-a3e5c902c396</flowId><Action xmlns="http://www.w3.org/2005/08/addressing">http://http://services.test.esb.talend.org/Standard/StandardTestServiceProvider/doOneway</Action><MessageID xmlns="http://www.w3.org/2005/08/addressing">urn:uuid:c799d4b9-2b92-4e14-93cb-e53756823d23</MessageID><To xmlns="http://www.w3.org/2005/08/addressing">http://localhost:8085/services/tesb.test.participants.sam.provider/soap/StandardTestServiceProvider/</To><ReplyTo xmlns="http://www.w3.org/2005/08/addressing"><Address>http://www.w3.org/2005/08/addressing/none</Address></ReplyTo></soap:Header><soap:Body><ns2:OnewayRequest xmlns:ns2="http://services.test.esb.talend.org/Standard/types"><key>Oneway</key><value/></ns2:OnewayRequest></soap:Body></soap:Envelope> 1
292TESB-3967SAM Server on OSGi container does not provide the REST service interface (as e.g. used by TAC SAM UI)when I install the tesb-sam-server feature I would expect that I don't need the sam-server-war.war anymore in TAC but so far the tesb-sam-server feature only provides the SAM soap service to send events (/MonitoringServiceSOAP) but not the REST API services to query / get the events (as e.g. needed by TAC) In Tomcat is is e.g. this one for teh REST List (resource) URL http://localhost:8080/sam-server-war/api/v1.0/list in the OSGi Context it should be http://localhost:8040/services/api/v1.0/list or http://localhost:8080/api/v1.0/list (or so ) (even so this api/v1 thing is also not optimal but lets keep this one as is so far)2
293TESB-3982run a job in studio which returns a fault and start the service in the runtime container,but can not get the faultDetail1.import the attachment *.zip to the studio. 2.export the service and deploy it to the runtime container 3.run the consumer in the studio, the attachment out_02.xml is the result,you can see the <faultDetail></faultDetail> it is null not have the value.. the tesb_2011_11_17.log is the log of the run time container,1
294TESB-3983Runtime: property file search and replace tool (for easier setup of new containers on the same machineIt is fairly easy to setup a new ESB Container by just copy paste the container folder to a new directory. That's it. Even so if multiple container run on the same machine at least various tcp ports needs to be changed. Today this needs to be done manually. -So we should write a small (java) tool (command line no UI) which takes a parameter file and a root path to look for the cfg files as input- -My recommendation would be that this saml java tool does a very simply 'search and replace for each 'entry' in this parameter (so we not limited the tool to port changes.)- -The parameter file should be a simple text file using two kind of search and replace features (one by protery / value and one by simple text search and repace- -(just as an example of a possible structure for the parameter file)- -FILE = org.apache.karaf.management.cfg- -KEY = rmiRegistryPort- -VALUE = 1099- -KEY = rmiServerPort- -VALUE = 44444- -FILE = org.apache.karaf.shell.cfg- -KEY = sshPort- -VALUE = 8101- -FILE = org.xxxx.cfg- -SEARCH=searchstring- -REPLACE=replace the seach string with this one- -Ideally we should provide a bat and sh script to start the tool with the '../etc path and the option to provide the parameter name additionally it would be good if we ship 3 parameter file which does a consitent port change so that 3 containers can be setup easily just by executing this tool with the given parameter files.- -Note: using a java tool should make it easier to use the tool plattform independ which is a plus compared to just providing shell sccripts- We should use the scripting capabilities provided by the Karaf console and follow the proposal in the [comment|#comment-205765] . In addition we should provide three standard configurations with the following port scheme || ||orig. container||container 1||container 2||container 2|| ||HTTP Port|8040|8041|8042|8043| ||HTTPS Port|9001|9002|9003|9004| ||RMI Registry Port|1099|1100|1101|1102| ||RMI Server Port|44444|44445|44446|44447| ||SSH Port|8101|8102|8103|8104| ||Command port|8000|8010|8020|8030| ||File transfer port|8001|8011|8021|8031| ||Monitoring port|8888|8898|8908|8918| If possible provide aliases for the three standard configurations Document the usage of the script and the three standard configurations in the Container Admin Guide. Base section 4.3. "Using OSGi containers" in the Getting Started Guide on the new configuration scripts. reference the Section in the Container Admin Guide. 2
295TESB-3985Make DB DataSource plugable in OSGi by importing it as an OSGi service and configurable via jndi in TomcatWe currently define the datasource for sam in the spring config. This works but is not a good solution. I propose we reference the DataSource from jndi when in tomcat and as an OSGi service when in OSGi. It might even be possible to use jndi in OSGi with the new OSGi specs. We should also think about providing a generic mechanism for Karaf to configure DataSources as an administrator. See: http://www.osgi.org/download/r4v42/r4.enterprise.pdf Chapter 125 http://www.osgi.org/javadoc/r4v42/org/osgi/service/jdbc/DataSourceFactory.html5
296TESB-3996Routes and context for generated routes should have sensible valuesRight now if we do the *camel:list-routes* we see following {code} karaf@trun> camel:list-routes Route Id Context Name Status [cMessagingEndpoint_1] [185-camel-2 ] [Started ] [cMessagingEndpoint_2] [185-camel-2 ] [Started ] [cMessagingEndpoint_3] [185-camel-2 ] [Started ] [cActiveMQ_1 ] [186-camel-4 ] [Started ] [cMessagingEndpoint_1] [186-camel-4 ] [Started ] {code} Names of the routes and contexts are not related to what user sees in Route Builder. We need to fix it, instead we should take following names: * Since we have one context per Route Builder route artifact we need to name context as Route artifact name + "-ctx", for example if Route in Route Builder called *Hasi* then context should have named *Hasi-ctx*. * Since we have multiple camel routes inside a single Route Builder route we have to name them according to the descriptive name visible in Studio, so that user should be able to change name of the first component in Studio and see same name in karat console. Example: {code} from(uriMap.get("Read_Input")).routeId("cFile_1") .setHeader("aaa").constant("direct:a,direct:b") .id("cSetHeader_1").recipientList().header( "aaa").ignoreInvalidEndpoints() .parallelProcessing().id("cRecipientList_1"); {code} Should be: {code} from(uriMap.get("Read_Input")).routeId("Read_Input") .setHeader("aaa").constant("direct:a,direct:b") .id("cSetHeader_1").recipientList().header( "aaa").ignoreInvalidEndpoints() .parallelProcessing().id("cRecipientList_1"); {code} 1
297TESB-4001Support documentation describing CXF servlet context.Support documentation team to solve DOCT-242.1
298TESB-4012WMQ requires username and password for ConnectionFactory on SolarisOn Windows WMQ doesn't require a username and password when accessing the queue manager from a cJMS endpoint. However, on Solaris, it does require username and password. The Spring framework provides org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter to add a username and password to a ConnectionFactory. We need to add this option to the cJMS component - at least when using WMQ - to define a username and password and generate the code for it. Actually the username and password would not be configured in the route builder. Users would use context properties and then configure that outside of the actual route. But the cJMS wizard has to provide fields to enter the context properties (or concrete values for testing in studio).2
299TESB-4030NullPointerException occurs when exporting a Route as Spring XML if the Route contains "cJavaDSLProcessor"if the router contains a "cJavaDSLProcess" component, then a NullPointerException will be thrown. {code} java.lang.NullPointerException org.talend.designer.camel.spring.ui.exports.SpringXMLExporter.getComponentType(SpringXMLExporter.java:350) org.talend.designer.camel.spring.ui.exports.SpringXMLExporter.createSpringNode(SpringXMLExporter.java:308) org.talend.designer.camel.spring.ui.exports.SpringXMLExporter.buildSpringRoute(SpringXMLExporter.java:79) org.talend.designer.camel.spring.ui.wizards.ExportSpringXMLWizard.performFinish(ExportSpringXMLWizard.java:56) org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:811) org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:430) org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624) org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:234) org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053) org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066) org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657) org.eclipse.jface.window.Window.runEventLoop(Window.java:825) org.eclipse.jface.window.Window.open(Window.java:801) org.talend.designer.camel.spring.ui.actions.ExportAsSpringContextualAction.doRun(ExportAsSpringContextualAction.java:100) org.talend.repository.ui.actions.AContextualAction$2.run(AContextualAction.java:556) org.talend.repository.RepositoryWorkUnit.executeRun(RepositoryWorkUnit.java:84) org.talend.core.repository.model.AbstractRepositoryFactory.executeRepositoryWorkUnit(AbstractRepositoryFactory.java:217) org.talend.repository.localprovider.model.LocalRepositoryFactory.executeRepositoryWorkUnit(LocalRepositoryFactory.java:2568) org.talend.core.repository.model.ProxyRepositoryFactory.executeRepositoryWorkUnit(ProxyRepositoryFactory.java:1708) org.talend.repository.ui.actions.AContextualAction.run(AContextualAction.java:567) org.eclipse.jface.action.Action.runWithEvent(Action.java:498) org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584) org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501) org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411) org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053) org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066) org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657) org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640) org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604) org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438) org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671) org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664) org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) org.talend.rcp.intro.Application.start(Application.java:125) org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369) org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) java.lang.reflect.Method.invoke(Unknown Source) org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619) org.eclipse.equinox.launcher.Main.basicRun(Main.java:574) org.eclipse.equinox.launcher.Main.run(Main.java:1407) org.eclipse.equinox.launcher.Main.main(Main.java:1383) {code}1
300TESB-4044TAC: SAM UI not well arranged in case a principle value is presentTAC: SAM UI not weel arragned in case a principle value is present See attached screenshot1
301TESB-4061Follow up on the new documentation for Camel components and F1 buttonNULL1
302TESB-4062Change the way how SNAPSHOTs are published. No need for timestamp.We need to: * Remove the timestamp, just use -SNAPSHOT * Simplify the wizard ** Remove radio buttons ** Rename 'timestamp' checkbox into 'Publish as snapshot' checkbox. 1
303TESB-4064Script create_oracle.sql doesn't contains "IF EXISTS" for first "DROP TABLE" definitions.This cause to a lot of warnings and stacktraces in tomcat log after first run. They contains messages that "table doesn't exists". However rest part of script works well, so after second run of it against the same db -- everything is working well.1
304TESB-4116Multiple Redundant Connection Factories and Components Registered in Camel ContextCode generated by ESB studio seem to generate multiple redundant component registrations and also redundant connections factories. For example, suppose multiple activemq endpoints are referenced in route. They all refer to the same activemq connection, but they refer to different destination topics and routes. In 5.0M4 this was the code that was generated. I have to confirm that this is still the case in RC3. Note that each component is registered with the camelContext, i.e. cActiveMQ1 is a Camel component that is used exactly once. Likewise, a separate connection factory is created each time. camelContext.addComponent("cActiveMQ1", org.apache.activemq.camel.component.ActiveMQComponent .jmsComponent(amqConnectionFactory)); amqConnectionFactory = new org.apache.activemq.ActiveMQConnectionFactory( "tcp://localhost:61616"); camelContext.addComponent("cActiveMQ7", org.apache.activemq.camel.component.ActiveMQComponent .jmsComponent(amqConnectionFactory)); amqConnectionFactory = new org.apache.activemq.ActiveMQConnectionFactory( "tcp://localhost:61616"); camelContext.addComponent("cActiveMQ2", org.apache.activemq.camel.component.ActiveMQComponent .jmsComponent(amqConnectionFactory)); amqConnectionFactory = new org.apache.activemq.ActiveMQConnectionFactory( "tcp://localhost:61616"); camelContext.addComponent("cActiveMQ4", org.apache.activemq.camel.component.ActiveMQComponent .jmsComponent(amqConnectionFactory)); amqConnectionFactory = new org.apache.activemq.ActiveMQConnectionFactory( "tcp://localhost:61616"); camelContext.addComponent("cActiveMQ6", org.apache.activemq.camel.component.ActiveMQComponent .jmsComponent(amqConnectionFactory)); amqConnectionFactory = new org.apache.activemq.ActiveMQConnectionFactory( "tcp://localhost:61616"); camelContext.addComponent("cActiveMQ9", org.apache.activemq.camel.component.ActiveMQComponent .jmsComponent(amqConnectionFactory)); One approach is to manage context scope resources such as components via tabs within the cConfig component. Things like the activemq connection and the formal camel activemq component (i.e. endpoint factory) should be named properties that can then be referenced by actual activemq endpoint instances in much the same way sqlEndpoints reference a shared db connection. But these _should_not_ be global variables accessed via the Studio context. They should be attached to the camel context. 1
305TESB-4142Word Job used on the export Route dialogHere: http://screencast.com/t/YQ2dNhvu8M And here: http://screencast.com/t/YQ2dNhvu8M1
306TESB-4145cMessageRouter should only have 'When' and 'Otherwise' outputsThe cMessageRouter component allows you to choose "Route" as a connection to a destination component which is not applicable for cMessageRouter. Only "When" and "Otherwise" should be shown.1
307TESB-4209Problems Loading Camel Xquery Component with ESB StudioI am using cMessagingEndpoint with the URI, "xquery:orderRecord.xquery". I have set the Camel Component Dependencies on the Advanced Setting tab to include saxon, which I assume is camel-saxon jar per the dependencies for the component. But I still get the stack trace shown attached. The problem is repeatable, but the error is intermittent. I can get the route to run by adding arbitrary other camel-xxx dependencies in the advanced tab and then running the route. It will work, once. But then if I stop the route and try to run again it will fail. I suspect it is a problem with how the Studio runtime is (re)loading the dependencies. I don't think this happened in M04, when I first created the demo route. It may have happened in RC1, because I remember encountering an intermittent "surprise" failure at a rather innopportune time, but I am not sure. I have attached the following files: exercise3-0.1.jar log4j-properties.jar The zip of the project export. demo.zip The zip of data files used by the project. tdemo.zip unzip the tdemo.zip file to the c:\ directory. It contains the tdemo directory with a bunch of directories underneath. The example uses \tdemo\04. Start by testing the web service. Set the cConfig element of the ComponentSamples->CXF Server route to include the exercise3-0.1.jar file. Start the ComponentSamples->CXF Server route. Do the same for the cConfig element of the ComponentSamples->CXF Client route. Start the client route. It should send the same messages every 1/2 second. Start the TransportMediation route. The cConfig dependencies are not handled by export/import so reset the config of the fields to include exercise3-0.1.jar. Check that the Advanced Settings dependencies for the Transform processor in the TransportMediation route is set to include saxon. Run the route in Studio. It should startup and wait for some files to process. In order to run the sample import drop the \tdemo\04\data\orders.xml file into the \tdemo\04\in directory using explorer. It may or may not work the first time. If it works, stop the route route and try and rerun it to get the error. If it fails, try adding some other arbitrary libraries to the Transform element (e.g. atom, or amqp). Then retry. It works - once. And then it stops working again. 2
308TESB-4211Make MessageID transfer be configurable in the SAM agent sideCurrently, SAM agent will add WS-Addressing funtionality implicitly and enforce MessageID transfer between the sam Message. This is not good we should give the uses opportunity to make their decision. Adding a new property in the configure file of SAM agent: enforceMessageIDTransfer = true/false if user set enforceMessageIDTransfer=true (Default value), SAM will add addressing interceptors to the endpoint/client. then the MessageIDs will be gotten and the MessageID from REQ_OUT and REQ_IN (also from RESP_OUT and RESP_IN) will be the same value. (the detectWSAddressing logical still will be preserved); if user set enforceMessageIDTransfer=false, SAM will do nothing. then the MessageID field will be null in the Events if the user doesn't enable the WSAddressingFeature or Policy with Addressing explicitly. Test case, documentations, maybe Systest codes from QA also need to be changed along with this CR. 3
309TESB-4271Add validation for Route Builder Bean name field in StudioSome name strings are not supported for Bean name, such as "123", "Hello.Wrold". Once these strings are input, the Create Bean Wizard should show some messages and prevent creation operation. However currently users can create a Bean named "123", and if continuing they will have a bean with compile errors. 1
310TESB-4331the install path of Talend Runtime containing blank space is not support by ESB ConductorAfter stop a feature in the ESB Conductor and then start the feature,there has a error:can not find the specified path.you have to click deploy the feature. My Talend Rutime is installed in this path:E:\manul test\EE_160\Talend-Runtime-V5.0.1.Please attention,there is a blank space between the word "manul" and "test". After I changed "manul test" to "manultest",it is ok. You can reproduce follow next steps or see a screencast:http://www.screenr.com/ajbs 1 Publish a service(route) to archiva 2 Select feature in the ESB Conductor of TAC 3 Deploy the feature 4 Stop the feature by click stop button 5 start the feature by click start button Actually result : An error :Error: bundle 'SimpleLoadBalancer' can't be started: java.io.FileNotFoundException: E:\manul%20test\EE_159\Talend-Runtime-V5.0.1\etc\SimpleLoadBalancer.cfg (system can not find the specified path.) -- For more information see your log file 2
311TESB-4275'ESB Runtime Options' item is visible on Services'ESB Runtime Options' item is visible on Services. It should be visible only on created service. http://screencast.com/t/tKM53WPl exception in log: {code} java.lang.NullPointerException org.talend.repository.services.action.ServiceMetadataAction.doRun(Unknown Source) org.talend.repository.ui.actions.AContextualAction$2.run(Unknown Source) org.talend.repository.RepositoryWorkUnit.executeRun(Unknown Source) org.talend.core.repository.model.AbstractRepositoryFactory.executeRepositoryWorkUnit(Unknown Source) org.talend.repository.localprovider.model.LocalRepositoryFactory.executeRepositoryWorkUnit(Unknown Source) org.talend.core.repository.model.ProxyRepositoryFactory.executeRepositoryWorkUnit(Unknown Source) org.talend.repository.ui.actions.AContextualAction.run(Unknown Source) org.eclipse.jface.action.Action.runWithEvent(Action.java:498) org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584) org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501) org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411) org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053) org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4066) org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3657) org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640) org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604) org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438) org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671) org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664) org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) org.talend.rcp.intro.Application.start(Unknown Source) org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369) org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) java.lang.reflect.Method.invoke(Unknown Source) org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:619) org.eclipse.equinox.launcher.Main.basicRun(Main.java:574) org.eclipse.equinox.launcher.Main.run(Main.java:1407) org.eclipse.equinox.launcher.Main.main(Main.java:1383) {code}1
312TESB-4279Remove useless advanced parameter "Enable parallel execution" in RouteThe advanced setting "Enable parallel execution" of Component is only for Job components, and it's unnecessary for Route. It was due to modification on basic Process class, therefore, route class should be changed to remove it. 1
313TESB-4280Wrong spelling on UI of cJMSWhen "WebSphere MQ" is selected in cJMS, "Queue Manager" appears as "Queue Manage".1
314TESB-4288Starting with the ESB demo project, a job in the demo project is locked by defaultLogon studio with Cloud_EE_Mpx license, import ESB demo project and logon this project. there are two jobs locked by default1
315TESB-4283Combine "assign job" and "create new job" actions into single one with option in wizard dialogNULL1
316TESB-4287Change the parameter "Expression TXT" to "Expression" of the Camel component cWireTap in the ESB Studio.It is better to change the parameter "Expression TXT" to "Expression" of the Camel component cWireTap in the ESB Studio, like the other components. See the attachment.1
317TESB-4291SAM (security enabled): missing Request IN in case faultScenario: - service use SL, SAM, authentication (both SAML and Username Token) - consumer use SL, SAM, authentication (Username Token) - authentication info in consumer is wrong (wrong password) - deploy service in TESB - run consumer from Studio. Expected: - fault about could not be authenticated or authorized - in SAM GUI - 1 record with fault - record should have provider Request IN, Fault OUT Actual: - fault about could not be authenticated or authorized - in SAM GUI - 1 record with fault (sam.png) - record have ONLY provider Fault OUT in attach: db.csv - record in SAM DB sam.png - screencast of SAM GUI studio.zip - exported service/consumer from Studio w1-0.1.kar - service exported as OSGi bundle3
318TESB-4292SAM (security enabled): different flow id for one callScenario: - service use SL, SAM, authentication (both SAML and Username Token) - consumer use SL, SAM, authentication (Username Token) - authentication info in consumer is wrong (wrong password) - deploy service in TESB - deploy consumer in TESB Expected: - fault about could not be authenticated or authorized - in SAM GUI - 1 record with fault - record should have provider Request IN, Fault OUT; consumer Request OUT, Fault IN Actual: - fault about could not be authenticated or authorized - in SAM GUI - 2 records with fault (sam1.png, sam2.png) - flow id is different - consumer has Request OUT, Fault IN; provider has no any data in attach: db.csv - records in SAM DB sam1.png - screencast of SAM GUI sam2.png - screencast of SAM GUI studio.zip - exported service/consumer from Studio w1-0.1.kar - service exported as OSGi bundle w1_echo_consumer-0.1.jar - consumer exported as OSGi bundle3
319TESB-4298Allow usage of Talend Context properties in Camel consumersOften a static consumer endpoint is sufficient for a route's consumer. However there are use cases where the consumer endpoint URI needs to be configured via properties. The actual route is the same for the various property values, the property completes the configuration of each of the concrete consumers. Let's take a queue and multiple consumers with different JMS selectors. Camel itself allows the use of properties inside the consumer endpoint's URI. THis way the user would design route once and then deploy it with different property values. Now in the route builder we have the concept of Context values. These can be used to specify the missing configuration for the consumers. Only the link is missing between the Context variables defined for the route and properties and runtime or when deployed into Karaf.2
320TESB-4300WSDL not valid error on WSDL Import to metadata from New service (wsdl created by Talend and valid)I create a service as in Talend ESB Getting Started Guide with a new Wsdl I don't modify any parameters in it. I try to import it to metadata with Services>Import Wsdl Schema TOS for ESB freezes for sometime and at the end displays a invalid WSDL error. Since the WSDL is generated by talend and valid (I verify with external tools) the function seems buggy 1
321TESB-4303Unable to access ActiveMQ web consoleInstall activemq-web-console feature: karaf@trun> features:install activemq-spring karaf@trun> features:install activemq-web-console Try to access via browser: http://localhost:8040/activemqweb Response with error: activemqweb.txt1
322TESB-4304cRoutingSlip component need updateCurrent implementation routingSlip("", "") is deprecated. Reference:http://camel.apache.org/routing-slip.html 1
323TESB-4314Publish secure and insecure http endpoints in the same bus instanceThe property "endpoint.prefix" allows to define either a secure or insecure url prefix. Thus only secure or insecure endpoints can be published at the locator within one bus instance. the locator.properties should support to configure a prefix for secure and insecure endpoints like: endpoint.http.prefix endpoint.https.prefix If not defined, fall back to endpoint.prefix definition. There are two options to tell CXF whether an endpoint runs securely or insecurely: - ws-securitypolicy - jaxws:property Both should be supported - but at least WS-SecurityPolicy. 2
324TESB-4315Publish wizard allows invalid Artefact ID that lead to Exception in GUIWhen publishing service or route user can specify something of: ..\some some\..\..\other whatever\.. and publish wizard will allow to proceed, but publishing fails with HTTP 409 Conflict and repository in archiva became invalid.1
325TESB-4318cHTTP component to invoke external web services with the camel-http componentThe route builder should provide a cHTTP component to access external web services via the camel-http component. It should allow in the settings to set typical HTTP options, like HTTP_METHOD - which in Java DSL would be passed to the endpoint in a setHeader() like: {code:java} .setHeader(Exchange.HTTP_METHOD, constant("POST")).to("http://www.google.com"); {code} Today this can only be achieved with one or more cSetHeaders and a cMessagingEndpoint with the target URL.3
326TESB-4327Miss some parameters for cIdempotentConsumer component Some important parameters are missing in Studio, for example: 1, eager 2, messageIdRepositoryRef 3, skipDuplicate 4, removeOnFailure And also there are three more IdempotentRepository for selection: JpaMessageIdRepository, HazelcastIdempotentRepositoryand JdbcMessageIdRepository Camel online: http://camel.apache.org/idempotent-consumer.html 2
327TESB-4330Talend Runtime/ESB Container can not be started/stopped when installed into a path containing a blank and/or "("During istallation tests we realized that the Talend Runtime / ESB Container can not be started when it is installed into a directory path containing a blank. Unfortunately the default paths of the installer do contain blanks (both on Windows and linux). When trying to start the container it returns: C:\Program Files (x86)\Talend-5.0.1_studio\runtime\bin>trun.bat console \Talend-5.0.1_studio\runtime\bin\.. was unexpected at this time. 2
328TESB-4334Studio traffic monitor does not show info for some route elementsPlease see attached picture for route. I will include export as well.1
329TESB-4335Add cLog component to Camel Route BuilderUse a Log component from Camel. http://camel.apache.org/log.html Options available for the user: * Level * Marker Also we need to support a log Java DSL, so that following code could be generated: {code} <log message="Blahblahblah : ${header.CamelFileNameOnly}" logName="hrp.log" /> {code} See http://camel.apache.org/logeip.html for more information2
330TESB-4336SAM: Filter data, the sam-server returns 500 error. this bug happen only when the data is one-way. see http://jira.talendforge.org/browse/TDI-18832 for details. 2
331TESB-4338[5.1] Investigation on improved modularity for ESB StudioNULL2
332TESB-4339[5.1] Familiarizing with Talend BPM productNULL2
333TESB-4349Add Support for SL Meta-data fields in cCXF ComponentThere is nowhere to populate the SL meta-data fields that support rules which define which instance is selected. Ideally these should be set in the configuration stage via TAC, but even during development they should be able to be set locally and manipulated via the context for testing (and for demoing by sales engineers). It is not obvious to me whether this feature should be included in only the EE Studio. That is one option. Without this feature the ESB SE Studio would still have value, but it would effectively remove the SL from being used with the GUI designer. This might not be a bad thing if we want to put more features into the EE. After all, the TAC only comes with EE, and the SL manager likewise with EE. Just a thought. It s hard to say this is "major" from a tech perspective, but is does prevent us from demoing our full value proposition without stepping out into the code world.3
334TESB-4414Timeout exception in requests to dataservice under small load.Our load tests shown that even under small load dataservice not able to work smoothly (in comparation to usual cxf provider). From time to time client get next exception: javax.xml.ws.WebServiceException: Could not send Message. ... Caused by: java.net.SocketTimeoutException: SocketTimeoutException invoking http://provider:8040/services/LoadProvider: Read timed out ... Caused by: java.net.SocketTimeoutException: Read timed out All calls were lost on provider's side -- log of provider contains the same amount of log entries about receiving message as amount of messages sent from consumer. Increasing of http timeout up to 10 minutes shown similar picture, so, it means that messages were lost completely. Description of environment used for load tests: 1) Dataservice is generated from wsdl by talend studio. Job contains 5 components - tESBRequest, tXMLMap, tJavaRow, tXMLMap, tESBResponse (see imported items from studio in attachments) 2) Talend runtime is used as osgi container for dataservice 3) To compare results of dataservice we used usual cxf provider generated from the same wsdl by cxf-codegen-plugin. To serve requests cxf provider is started under the same container (using spring) as dataservice. 4) Client is usual cxf client being running by jmeter (which collects all statistics and controls execution flow) 5) wsdl contains service with one method with two parameters -- String clientId, int delay (should be specified in seconds). 6) Both cxf provider and dataservice use Thread.currenThread().sleep(delay * 1000) to emulate work of "real provider". Dataservice implements this logic in tJavaRow component. Scenarios. There are several combination of types of scenarios are executed: 1) single consumer\multi consumer 2) without delay \ with 1 sec delay Mentioned problem appeared when dataservice was used in scenarios 1) single consumer (1 thread), no delay 2) 2 consumers (1 or more threads per every consumer), no delay 4) 2 consumers (4 or more threads per every consumer), delay 1 sec. In comparation to that cxf provider had no timeouts in every executed scenario.3
335TESB-4436SAM: in case fault from provider - consumer hang about 1 min.Scenario: - service has only SL option enabled (no SAM) - consumer has both SL and SAM enabled - consumer calls request-response service operation. - request-response operation sends business fault. Expected: - consumer get fault. Actual: - consumer get fault, but always it takes about 1 min. (for example: 60028ms, 60011ms) This scenario reprocusible only if service has no SAM option but consumer has SAM. Other cases works ok - means no hang for about 1 min. in attach: - studio.zip - jobs and service for Talend Studio - s_sl-0.1.kar - service ready to deploy - s_sl_consumer-0.1.jar - consumer ready to deploy To reproduce issue also can be used integration test sam:basic-basic:requestResponseConsumerFault https://github.com/Talend/sandbox/tree/master/esb-integration-tests1
336TESB-4437cIdenmpotentConsumer doesn't support when/try/... input connectioncIdenmpotentConsumer only allows route input connection, however it should support more connections as input.1
337TESB-4472Unable to create valid server for Talend runtime in TAC (Job Conductor -> Servers)When configuring Talend runtime (ESB) Server within TAC I get the following server status reported: Status server is: INVALID: the CommandPort and FileTransfer port is misconfigured Yet I have used all default ports and configuration detail supplied by the installer. Same issue occurs if I use the installer to install ESB only or MDM Big Data Edition (which bundles ESB). See attached screenshot for details. Although my runtime server status is reported as INVALID, I am still able to deploy OSGI features/bundles using ESB Conductor to the runtime... I am using Chrome v16.0.912.63 on Windows 7 64 bit. Workaround: If karaf container is started from folder ...\Talend-5.0.1\runtime (not from ...\Talend-5.0.1\esb\container) server status is "up", all ports is green.3
338TESB-4473tESBConsumer SSL truststore configuration does not work in TESB container* I've created a consumer job which is intended to invoke a service using HTTPS transport. * In the consumer job I've enabled the check box for "Trust server with SSL" and ** configured the location of the "TrustStore file" to be found relative to the container working directory at "./etc/keystore.jks" ** as well as a proper TrustStore password to access that keystore * I've published the consumer job to the artifact repository (Archiva) using the "Publish" command in the tooling * I've executed the consumer job by installing the consumer feature within the TESB container As result of executing the consumer job within the TESB container I'm experiencing the problem, that the configured keystore.jks file cannot be found - resulting in the following root cause: {color:red} {code} sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target {code} {color} The complete stacktrace is: {code} 15:52:11,545 | WARN | pool-9-thread-1 | ache.cxf.common.logging.LogUtils 372 | - - | Interceptor for {http://services.test.esb.talend.org/ufp/ufpService}ufpServiceHttpsProvider#{http://services.test.esb.talend.org/ufp/ufpService}doRequestResponse has thrown exception, unwinding now org.apache.cxf.interceptor.Fault: Could not send Message. org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:64)[141:org.apache.cxf.bundle:2.5.0] org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)[141:org.apache.cxf.bundle:2.5.0] org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:535)[141:org.apache.cxf.bundle:2.5.0] org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:465)[141:org.apache.cxf.bundle:2.5.0] org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:368)[141:org.apache.cxf.bundle:2.5.0] org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:321)[141:org.apache.cxf.bundle:2.5.0] org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:341)[141:org.apache.cxf.bundle:2.5.0] org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:327)[141:org.apache.cxf.bundle:2.5.0] org.talend.esb.job.controller.internal.RuntimeESBConsumer.sendDocument(RuntimeESBConsumer.java:213)[176:org.talend.esb.job.controller:5.0.1] org.talend.esb.job.controller.internal.RuntimeESBConsumer.invoke(RuntimeESBConsumer.java:201)[176:org.talend.esb.job.controller:5.0.1] unifiedplatform.httpsconsumerdorequestresponse_0_1.HttpsConsumerDoRequestResponse.tFixedFlowInput_1Process(HttpsConsumerDoRequestResponse.java:1801)[191:HttpsConsumerDoRequestResponse:0.1.0] unifiedplatform.httpsconsumerdorequestresponse_0_1.HttpsConsumerDoRequestResponse.runJobInTOS(HttpsConsumerDoRequestResponse.java:2254)[191:HttpsConsumerDoRequestResponse:0.1.0] org.talend.esb.job.controller.internal.SimpleJobTask$JobRunner.run(SimpleJobTask.java:80)[176:org.talend.esb.job.controller:5.0.1] java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)[:1.6.0_29] java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)[:1.6.0_29] java.util.concurrent.FutureTask.run(FutureTask.java:138)[:1.6.0_29] org.talend.esb.job.controller.internal.SimpleJobTask.run(SimpleJobTask.java:62)[176:org.talend.esb.job.controller:5.0.1] java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)[:1.6.0_29] java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)[:1.6.0_29] java.lang.Thread.run(Thread.java:680)[:1.6.0_29] Caused by: javax.net.ssl.SSLHandshakeException: SSLHandshakeException invoking https://provider:9078/services/tesb.test.participants.osgi.ufp.provider/soap/StandardTestServiceProvider/https/: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)[:1.6.0_29] sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)[:1.6.0_29] sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)[:1.6.0_29] java.lang.reflect.Constructor.newInstance(Constructor.java:513)[:1.6.0_29] org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.mapException(HTTPConduit.java:1431)[141:org.apache.cxf.bundle:2.5.0] org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1416)[141:org.apache.cxf.bundle:2.5.0] org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)[141:org.apache.cxf.bundle:2.5.0] org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:649)[141:org.apache.cxf.bundle:2.5.0] org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)[141:org.apache.cxf.bundle:2.5.0] ... 19 more Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174)[:1.6] com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1731)[:1.6] com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:241)[:1.6] com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:235)[:1.6] com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1206)[:1.6] com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:136)[:1.6] com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:593)[:1.6] com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:529)[:1.6] com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:925)[:1.6] com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1170)[:1.6] com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1197)[:1.6] com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1181)[:1.6] sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:434)[:1.6] sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:166)[:1.6] sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:1014)[:1.6.0_29] sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:230)[:1.6] org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleHeadersTrustCaching(HTTPConduit.java:1368)[141:org.apache.cxf.bundle:2.5.0] org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.onFirstWrite(HTTPConduit.java:1310)[141:org.apache.cxf.bundle:2.5.0] org.apache.cxf.io.AbstractWrappedOutputStream.write(AbstractWrappedOutputStream.java:42)[141:org.apache.cxf.bundle:2.5.0] org.apache.cxf.io.AbstractThresholdOutputStream.write(AbstractThresholdOutputStream.java:69)[141:org.apache.cxf.bundle:2.5.0] org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1388)[141:org.apache.cxf.bundle:2.5.0] ... 22 more Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:323)[:1.6.0_29] sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:217)[:1.6.0_29] sun.security.validator.Validator.validate(Validator.java:218)[:1.6.0_29] com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:126)[:1.6] com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:209)[:1.6] com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:249)[:1.6] com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1185)[:1.6] ... 38 more Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:174)[:1.6.0_29] java.security.cert.CertPathBuilder.build(CertPathBuilder.java:238)[:1.6.0_29] sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:318)[:1.6.0_29] ... 44 more 15:52:11,552 | INFO | pool-9-thread-1 | internal.SimpleJobTask$JobRunner 81 | - - | Job HttpsConsumerDoRequestResponse finished, return code is 1 {code} As result of configuring SSL in the consumer job the following code is been generated: {code:java} config_tESBConsumer_1.setKeyStoreFile(System.getProperty("javax.net.ssl.keyStore")); config_tESBConsumer_1.setKeyStoreType(System.getProperty("javax.net.ssl.keyStoreType")); config_tESBConsumer_1.setKeyStorePwd(System.getProperty("javax.net.ssl.keyStorePassword")); System.setProperty("java.protocol.handler.pkgs", "com.sun.net.ssl.internal.www.protocol"); System.setProperty("javax.net.ssl.trustStore", "./etc/keystore.jks"); System.setProperty("javax.net.ssl.trustStorePassword", "password"); {code} Hence it tries to reset the system wide ssl configuration in order to configure the keystore for the current consumer job execution. In my view there are two major problems with this approach: {panel} h4. 1. I don't think it is appropriate to "silently" reconfigure the system wide keystore configuration just in order to run a consumer job. A running TESB container can have many purposes, not only running several consumer jobs. There might be other bundles running which need the system wide SSL configuration as it is - or as the user has configured it himself. Using this approach a consumer job would *silently* change the SSL configuration for the whole VM and does not even restore the previous configuration (which also would not be a proper solution in my view). This might break other functionality running in this container. Also you could think of problems when running consumer jobs with different configuration in parallel. h4. 2. This approach setting the ssl system properties is not working when running the consumer job within the TESB container anyway. :) After some (long) analysis - finally using jconsole and taking a look into the list of current system properties in the running consumer VM after having executed the consumer job - I've found out that the system properties are definitelly not set! Either the code is not been executed - or there is any security mechanism in Karaf disabling the possibility to set these properties programatically. I don't know. As the path to the keystore file has not been set, the system uses the default Java truststore. Based on this the handshake with the correctly configured provider using Karaf HTTPS configuration fails, as the required certificate cannot be found in the default truststore on consumer side. A corresponding handshake exception is also visible on provider side: {code} javax.net.ssl.SSLHandshakeException: Received fatal alert: certificate_unknown at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174)[:1.6] at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:136)[:1.6] at com.sun.net.ssl.internal.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1806)[:1.6] at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:986)[:1.6] at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1170)[:1.6] at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1197)[:1.6] at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1181)[:1.6] at org.eclipse.jetty.server.ssl.SslSocketConnector$SslConnectorEndPoint.run(SslSocketConnector.java:659)[59:org.eclipse.jetty.server:7.4.5.v20110725] at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:529)[53:org.eclipse.jetty.util:7.4.5.v20110725] at java.lang.Thread.run(Thread.java:680)[:1.6.0_29] {code} As a _*workaround*_ I've set the same properties (_javax.net.ssl.trustStore_ and _javax.net.ssl.trustStorePassword_) with the same configuration (path and password) as "-D" parameter in the TESB start script "trun" and have executed the same consumer job feature once again. The result was a successful request-response message exchange in this case. {panel} I think the proper and better approach for HTTPS configuration on consumer side with CXF is to _*create / generate a corresponding XML html-conduit configuration using spring/blueprint*_. As additional advantage this approach would also enable a setting which is not available with the normal Java SSL configuration: _*disabling the host verification*_ - which is a _*very helpful*_ feature for many usages and is been implemented by all containers (including Karaf) - except pure old Java itself. :) Such a solution would enable us to add a corresponding check box in the component. With the current approach (setting the SSL properties) such a feature is not available. Please note that using *tSetKeystore* component instead of directly configuring SSL within the tESBConsumer component does not fix the problem as the approach of the generated code is the same. => Find attached the exported consumer job as example. <Additions Zsolt> The settings for trust store and password are only meant for the stand alone case. It's anyway not the job of the job /route / service designer to specify the location of the trust store in the container. This is the responsibility of an admin. We should rather provide a way to specify these properties container wide and use them for all data service clients. These properties are: - WSDL port name for which the configuration is valid - location of the trust store and corresponding password - location of the key store and corresponding password - alias for the certificate - host verification on / off Of course it should be possible to specify configuration for several ports. As usual part of this item is to add documentation for this feature. </Additions Zsolt>3
339TESB-4478SAM: null Operation Name in fault scenarios for dataservices1. FAULT SCENARIOS (AUTENTICATION FAULTS) 1.1 PROVIDER - SAM ON, SL ON; CONSUMER - SAM ON, SL ON; 1.2 PROVIDER - SAM OFF, SL ON; CONSUMER - SAM ON, SL ON;2
340TESB-4483Support multithreading in Data Service Provider*Proposed implementation* # Create a new factory interface called *TalendESBJobFactory*. # Job class will implement that interface {code} public class MySuperGoodTalendService_OperationJob implements TalendJob, TalendESBJob, TalendESBJobFactory {code} # Interface will have one method #newTalendESBJob# and this method will return a new instance of the Talend ESB Job {code} public TalendESBJob newTalendESBJob() { return new MySuperGoodTalendService_OperationJob(); } {code} # Blueprint descriptor will be updated so that exposed service will implement *TalendESBJobFactory* interface # Additionally to existing properties in *blueprint.xml* we need to add *multithreading* property with value 'true' Note: * No changes on GUI required * We aware that not every job is thread-safe and we do not target to fix that.3
341TESB-4484tREST providers must be able to be stopped within the Talend Runtimecurrently tREST* based Job deployed into Talend Runtime can't be stopped (by a simple (bundles) stop -bundle id-. Even so REST Services are (just) a technical preview feature this needs to be fixed.1
342TESB-4508Move to the latest maintenance releases of CXF, Camel, and KarafFor CXF, Camel, and Karaf there are new maintenance releases - CXF 2.5.1 - Camel 2.8.3 - Karaf 2.2.5 which fix some of the issues relevant for us. We should therefore update the versions we use to these latest versions. Part of this item is of course a smoke test of the package.3
343TESB-4539Modify cBean To Register Beans with ContainercBean only creates anonymous beans based on a Class rather than Objects. These anonymous beans cannot be configured using constructors. As a result the user is forced to configure them with code rather than GUI. In addition, there is no singleton object, so references to the Bean different routes end up created different Bean instances which are unaware of each other. Even in the cConfig section because there is no means of getting a handle to them. As a result the user is left writing Java code without a real object based component framework. It is important that our code generator generates code which uses a solid component framework rather than building from the ground up. While the user or us could reinvent the wheel, it is important that our components build and extend existing frameworks correctly. The Camel Context Registry interface is can _lookup_ beans, but the bean id is required. The Camel Registry does not serve to register beans. So the best solution would be to inject an abstraction of the container that allows registration of beans. These beans should be fairly general so their properties can be configured by the user without writing code. An important ability is for Beans to refer to other Beans via their properties. Like the cConfig bean they are not directly connected to Routes. Instead, they are connected to Routes via the cBean with a ref property. Like cConfig, and unlike the EIP oriented elements, the beans are referenced by the flow rather than participating directly in the wiring. So it may make sense to have another Resource or Bean tab perspective (like the code or design tabs) that shows the wiring of these static resources. This keeps separation of concerns between resource structure and message flow.3
344TESB-4568Add context parameter names into the feature descriptor of Data ServiceAs you know we can configure context parameters in TAC for the data services, however TAC UI does not present user a list of all possible property names. To achieve that we need to gather all context variable names from all jobs associated with given data service and list them in feature file. Example: feature.xml {code:xml} <?xml version="1.0" encoding="UTF-8"?> <features name="serviceName-feature" xmlns="http://karaf.apache.org/xmlns/features/v1.0.0"> <feature name="serviceName-feature" version="0.1"> <feature version='[5,6)'>talend-job-controller</feature> <bundle>mvn:services.sopware.org.demo.Whiteboard.serviceName/Whiteboard_write/0.1</bundle> <bundle>mvn:services.sopware.org.demo.Whiteboard.serviceName/Whiteboard_read/0.1</bundle> <bundle>mvn:services.sopware.org.demo.Whiteboard.serviceName/serviceName-control-bundle/0.1</bundle> <config name="serviceName.talendcontext.Default"> new2_read="13" new1_write="|" name="Default Context for write operation" </config> <config name="serviceName.talendcontext.Debug"> new2_read="666" </config> <config name="serviceName.talendcontext.Develop"> new2_read="7!" new1_write=">" name="Debug purposes only" </config> </feature> </features> {code}3
345TESB-4593Some shell scripts are incompatible with /bin/sh on SolarisGiven that we support Solaris platform, the most restricted sh implmentation must be taken into account for all scripts. At the moment, "#!/bin/sh" is specified in shell file headers, but more advanced bash syntax/features are used in the code. Example: container/bin/stop: #!/bin/sh ... export KARAF_SCRIPT="stop" the syntax of "export" used above is not compatible with the standard /bin/sh and should actually be replaced with smth. like: KARAF_SCRIPT="stop"; export KARAF_SCRIPT that would work both, on bin/sh and /bin/bash Please note - the problem makes the regression test execution for the Solaris platform pretty tricky, not to mention potential users on the Solaris platform. Thus, filing this as a major one.2
346TESB-4672Missing FAULT_IN event in database for consumerjob with sam and invalid usernameToken do oneway to cxf provider with sam and username token validationsteps:1.The cxf provider bundle with sam and username token and make it run in the 5.0.2 SE Runtime to publish a wsdl.The 5.0.2 SE Runtime have users in etc/users.properties.(the cxf provider config is in the below) <!-- Http username token with sam feature endpoint --> <jaxws:endpoint id="ufpServiceProviderSamUsernameTokenEndpoint" implementor="#${participant.bean}" endpointName="endp:ufpSamUsernameTokenProvider" serviceName="srv:ufpSamUsernameTokenProvider" address="${SAM_USERNAMETOKEN_SERVICE_URL_PROVIDER}" xmlns:endp="http://services.test.esb.talend.org/ufp/ufpService" xmlns:srv="http://services.test.esb.talend.org/ufp/ufpService"> <jaxws:properties> <entry key="ws-security.ut.validator" value-ref="jaasUTValidator" /> </jaxws:properties> <jaxws:features> <p2:policies> <wsp:PolicyReference URI="./etc/org.talend.esb.job.token.policy" /> </p2:policies> <ref bean="eventFeature" /> </jaxws:features> </jaxws:endpoint> <bean class="org.apache.ws.security.validate.JAASUsernameTokenValidator" id="jaasUTValidator"> <property name="contextName" value="karaf" /> </bean> 2.The consumer job with sam and wrong usernameToken which username or password are not occure in the cxf provider TESB container directory "etc/users.propertiesand " and the endpoint is point to the cxf provider and then publish it to achiva.(the consumerjob is in attach file consumerjob.zip) 3.install the consumer job feature in another 5.0.2 SE Runtime container 4.check the dataservse when I check the database ,there are only three events fault out ,req in, req out.(the data shows in the attach file database.xml) As if we want Robust In-Only style for one way communication we want it store 4 events REQ_IN, REQ_OUT,FAULT_OUT,FAULT_IN So it is missing FAULT_IN 3
347TESB-4750Refactor how we deliver ESB components to improve modularity and to include tESBConsumer into TOS for DI / BD distributionsWe need to refactor the way how we package and deliver ESB to provider more modularity. Goal is to deliver ESB consumer component separately from the provider components so that the tESBConsumer component will be included also in the TOS4DI and TOS4BD distributions. 2
348TESB-4767Create documentation for the cluster provisioning support (Cellar)This feature is part of the epic to promote the cluster support from a technical preview to a production feature. Create a new documentation artifact named something like "Cluster Guide" - Rational for the Cluster feature - Use cases solved - Overall architecture - Installation of the Cluster feature - Concept of nodes, synchronization between nodes - Further features like blacklists. ... - Configuration of the cluster feature - Description of the commands - Web console The basic [user guide|http://karaf.apache.org/manual/cellar/latest-2.2.x/user-guide/index.html] and [architecture guide|http://karaf.apache.org/manual/cellar/latest-2.2.x/architecture-guide/index.html] can be taken as starting point. If needed ask support from JB. Snychronize with documentation about the exact structure of the document. 5
349TESB-4769Extend Locator enabled Rent a Car sample to be based on Cluster provisioning support featureThis feature is part of the epic to promote the cluster support from a technical preview to a production feature. Describe in the Cluster Guide how to run the RaC example with Locator enabled where the providers are deployed to a cluster of Karaf nodes. Describe 2
350TESB-4771Feature tesb-core can not be installedTo reproduce: Start fresh tesb runtime 5.0.2 > features:install tesb-core Error executing command: Could not start bundle mvn:org.ops4j.pax.web/pax-web-extender-whiteboard/1.0.8 in feature(s) war-2.2.5: Exception in org.ops4j.pax.web.extender.whiteboard. internal.Activator.start() of bundle org.ops4j.pax.web.pax-web-extender-whiteboard. The exception looks like this: java.lang.Exception: Could not start bundle mvn:org.ops4j.pax.web/pax-web-extender-whiteboard/1.0.8 in feature(s) war-2.2.5: Exception in org.ops4j.pax.web.extender.whiteboard.inte rnal.Activator.start() of bundle org.ops4j.pax.web.pax-web-extender-whiteboard. at org.apache.karaf.features.internal.FeaturesServiceImpl.installFeatures(FeaturesServiceImpl.java:356)[16:org.apache.karaf.features.core:2.2.5] at org.apache.karaf.features.internal.FeaturesServiceImpl.installFeature(FeaturesServiceImpl.java:283)[16:org.apache.karaf.features.core:2.2.5] at org.apache.karaf.features.internal.FeaturesServiceImpl.installFeature(FeaturesServiceImpl.java:279)[16:org.apache.karaf.features.core:2.2.5] at org.apache.karaf.features.command.InstallFeatureCommand.doExecute(InstallFeatureCommand.java:62)[26:org.apache.karaf.features.command:2.2.5] at org.apache.karaf.features.command.FeaturesCommandSupport.doExecute(FeaturesCommandSupport.java:39)[26:org.apache.karaf.features.command:2.2.5] at org.apache.karaf.shell.console.OsgiCommandSupport.execute(OsgiCommandSupport.java:38)[14:org.apache.karaf.shell.console:2.2.5] at org.apache.felix.gogo.commands.basic.AbstractCommand.execute(AbstractCommand.java:35)[14:org.apache.karaf.shell.console:2.2.5] at org.apache.felix.gogo.runtime.CommandProxy.execute(CommandProxy.java:78)[14:org.apache.karaf.shell.console:2.2.5] at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:474)[14:org.apache.karaf.shell.console:2.2.5] at org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:400)[14:org.apache.karaf.shell.console:2.2.5] at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)[14:org.apache.karaf.shell.console:2.2.5] at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:183)[14:org.apache.karaf.shell.console:2.2.5] at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:120)[14:org.apache.karaf.shell.console:2.2.5] at org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:89)[14:org.apache.karaf.shell.console:2.2.5] at org.apache.karaf.shell.console.jline.Console.run(Console.java:221)[14:org.apache.karaf.shell.console:2.2.5] at java.lang.Thread.run(Thread.java:662)[:1.6.0_30] Caused by: org.osgi.framework.BundleException: Exception in org.ops4j.pax.web.extender.whiteboard.internal.Activator.start() of bundle org.ops4j.pax.web.pax-web-extender-whiteboard . at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:806)[osgi-3.6.2.R36x_v20110210.jar:] at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:755)[osgi-3.6.2.R36x_v20110210.jar:] at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:370)[osgi-3.6.2.R36x_v20110210.jar:] at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:284)[osgi-3.6.2.R36x_v20110210.jar:] at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:276)[osgi-3.6.2.R36x_v20110210.jar:] at org.apache.karaf.features.internal.FeaturesServiceImpl.installFeatures(FeaturesServiceImpl.java:353)[16:org.apache.karaf.features.core:2.2.5] ... 15 more Caused by: java.lang.IllegalStateException: Http context already used. Context params can be set only before first usage at org.ops4j.pax.web.service.internal.HttpServiceStarted.setContextParam(HttpServiceStarted.java:353) at org.ops4j.pax.web.service.internal.HttpServiceProxy.setContextParam(HttpServiceProxy.java:174) at org.ops4j.pax.web.extender.whiteboard.internal.WebApplication.registerHttpContext(WebApplication.java:190) at org.ops4j.pax.web.extender.whiteboard.internal.WebApplication.setHttpContextMapping(WebApplication.java:157) at org.ops4j.pax.web.extender.whiteboard.internal.ExtenderContext.getWebApplication(ExtenderContext.java:68) at org.ops4j.pax.web.extender.whiteboard.internal.tracker.AbstractTracker.addingService(AbstractTracker.java:135) at org.ops4j.pax.web.extender.whiteboard.internal.tracker.ServletTracker.addingService(ServletTracker.java:42) at org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:896)[karaf.jar:2.2.5] at org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:261)[karaf.jar:2.2.5] at org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:184)[karaf.jar:2.2.5] at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:339)[karaf.jar:2.2.5] at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:273)[karaf.jar:2.2.5] at org.ops4j.pax.web.extender.whiteboard.internal.Activator.trackServlets(Activator.java:143) at org.ops4j.pax.web.extender.whiteboard.internal.Activator.start(Activator.java:76) at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:783)[osgi-3.6.2.R36x_v20110210.jar:] at java.security.AccessController.doPrivileged(Native Method)[:1.6.0_30] at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:774)[osgi-3.6.2.R36x_v20110210.jar:] ... 20 more So features:list shows that the feature tesb-core is not installed 1
351TESB-4773Remove Dependencies to TSF and TIF projectThe TSF and TIF are discontinued. Therefore the parts that are needed for the Talend runtime should be taken over. All dependencies to TSF and TIF must e removed. Currently the only artifacts known which need to be moved to the tesb repository are the samples. 3
352TESB-4805Cannot configure the option "ignoreInvalidEndpoints" for the component "cDynamicRouter"In ESB studio, when run the router which consists of the component "cDynamicRouter", It will throw exception in the studio console. The router model is the attachment "TESBQA133_tDynamicRouter.zip". About the log info, please have a look at the attachment "Log_Exception_TESBQA-133.txt". About the design idea of the component "cDynamicRouter", please have a look at the link: http://camel.apache.org/dynamic-router.html from user view, don't expect the exception info in the console, and we can add the option "ignoreInvalidEndpoints" in configuration of the component "cDynamicRouter" in order to control showing the exception info or not.1
353TESB-4832[BPM] Prepare infrastructure for Talend BPM integration and buildIn the scope: * Source repository * Connector build * Integrated build with Talend BPM * Integration in Hudson Result of the build: Talend BPM build with integrated Talend ESB Connector.5
354TESB-4834[BPM] Prototype an automated testing concept for Talend ESB Connector for Talend BPM.Prototype of the automated integration tests for ESB connector for Talend BPM. Prototype should be triggered by Hudson. It should take the results of the latest builds (Talend BPM and Runtime) and push them though automated testing.8
355TESB-4913Missing import in OSGI bundle Manifest when using MDM componentimplementing a data service which uses the tMDMSP component. This component calls an MDM web service which maybe uses in the underlying classes the javax.wsdl.OperationType class. When the data service is run in the studio it works fine, but when it is deployed in the container we have the following stack trace : java.lang.NoClassDefFoundError: javax/wsdl/OperationType at org.apache.axis.description.OperationDesc.<clinit>(OperationDesc.java:59) at org.talend.mdm.webservice.XtentisBindingStub._initOperationDesc1(XtentisBindingStub.java:45) at org.talend.mdm.webservice.XtentisBindingStub.<clinit>(XtentisBindingStub.java:20) at org.talend.mdm.webservice.XtentisServiceLocator.getXtentisPort(XtentisServiceLocator.java:55) at org.talend.mdm.webservice.XtentisServiceLocator.getXtentisPort(XtentisServiceLocator.java:50) at poc_mdm_esb.mdmrestservice_0_1.MDMRestService.tRESTRequest_1_LoopProcess(MDMRestService.java:2304 at poc_mdm_esb.mdmrestservice_0_1.MDMRestService.runJobInTOS(MDMRestService.java:3148) at org.talend.esb.job.controller.internal.SimpleJobTask$JobRunner.run(SimpleJobTask.java:80) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at org.talend.esb.job.controller.internal.SimpleJobTask.run(SimpleJobTask.java:62) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) Caused by: java.lang.ClassNotFoundException: javax.wsdl.OperationType at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:506) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:422) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410) at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107) at java.lang.ClassLoader.loadClass(ClassLoader.java:248) ... 15 more1
356TESB-4932Route with multiple cCXF consumers that have different SL custom properties works in unexpected way.I use DemoService as provider and set to it "use SL with SL custom property newLine=1" and deploy it in ESB runtime. I create route with 3 cCXF consumers. For all cCXF set Use SL. For first and third I set correct property, for second - incorrect. I export it as osgi bundle and deploy it into ESB runtime too. Expected result: second cCXF works with error, but I see in console 3 success "invoke operation". If I set first and second is correct, but third is incorrect - I see in console 3 exceptions. After some changes cCXF parameters I found that only the last cCXF component's parameter is relevant and all cCXF consumers works with one and the same parameter. 2
357TESB-4973loopback on tRESTRequest componentI can see my service in list of all CXF services in RESTful section Available RESTful services: Endpoint address: http://localhost:8099/customers WADL : http://localhost:8099/customers?_wadl&type=xml I can explain the following issue by looking in the connections table on my test host netstat -nap Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:8000 0.0.0.0:* LISTEN 2462/java tcp 0 0 0.0.0.0:8001 0.0.0.0:* LISTEN 2462/java tcp 0 0 127.0.0.1:8099 0.0.0.0:* LISTEN 2462/java tcp 0 0 0.0.0.0:8101 0.0.0.0:* LISTEN 2462/java tcp 0 0 0.0.0.0:8040 0.0.0.0:* LISTEN 2462/java tcp 0 0 0.0.0.0:1099 0.0.0.0:* LISTEN 2462/java tcp 0 0 0.0.0.0:35469 0.0.0.0:* LISTEN 2462/java tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1976/sshd tcp 0 0 0.0.0.0:8888 0.0.0.0:* LISTEN 2462/java as I can see the RESTservice on port (8099) is only bound to the loopback interface 127.0.0.1:8099 (only available on the local machine) 127.0.0.1:8099 means access is allowed only from local computer. And 0.0.0.0:8040 means from any other computer on all networks, so that is a difference because I can access to SOAP services from remote host1
358TESB-4988Getting an runtime operation exception when using the setBody EIP in the route builderIt seems that the statistic feature is not implemented for the setBody EIP in the Camel Route Builder, I'm forced to disable the statistics to make it work out. javax.management.RuntimeOperationsException: Exception occurred trying to invoke the getter on the MBean com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getAttribute(DefaultMBeanServerInterceptor.java:645) com.sun.jmx.mbeanserver.JmxMBeanServer.getAttribute(JmxMBeanServer.java:638) routines.system.CamelStat.updateStatOnConnection(CamelStat.java:399) presales.processor_0_1.Processor$MyStatThread.run(Processor.java:135) presales.processor_0_1.Processor$1CamelImpl.doStart(Processor.java:217) org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:67) org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:54) org.apache.camel.impl.MainSupport.run(MainSupport.java:136) presales.processor_0_1.Processor.Route(Processor.java:293) presales.processor_0_1.Processor.runJobInTOS(Processor.java:414) presales.processor_0_1.Processor.main(Processor.java:327) Caused by: java.lang.IllegalArgumentException: Object name cannot be null ... 11 more javax.management.RuntimeOperationsException: Exception occurred trying to invoke the getter on the MBean 1
359TESB-4992Wiretap can not be used in a try branchThe code generated when using a Wiretap in a try/catch is not Camel compliant. Please see the attach camel route.1
360TESB-4993Karaf configuration adoption scripts don't change org.talend.esb.locator.cfg correctlyThe Karaf configuration adoption scripts only change {{endpoint.prefix}}, but not {{endpoint.http.prefix}} and {{endpoint.https.prefix}}. But since {{endpoint.http.prefix}} is defined, it takes precedence of {{endpoint.prefix}}. The scripts need to be updated to change all three properties.1
361TESB-4997Create OAuth2 demo in CXF examplesexamples/cxf/jaxrs-oauth demonstrates a complete OAuth 1.0 flow. OAuth 2.0 is a new protocol so reworking the jaxrs-oauth demo to support both 1.0 and 2.0 is difficult. It makes sense to have a dedicated jaxrs-oauth2 demo and also consider demonstrating the migration from OAuth 1.0 to 2.010
362TESB-4998Runtime Update PoCIn a first feature we investigated what the specific problems we encounter with update management in an OSGi environment and what the possible solutions are. This feature goes one step further where its goal is to make a PoC to provide a rudimentary update framework. It is assumed that the new version does not override the old one but is installed beside the old one. So the goal of the updte framework is to take over user defined features / bundles / configurations and TESB Runtime configuration that was changed by the user, e.g port. Also it can be assumed that all user defined artifacts are still accessible and can be retrieved to be installed in the new container. Normallythey will reside in Archiva or some other Maven repository. Basic idea is to have one component in the old container which retrieves a list of all feature repositories together with the url from which they were installed, and the list of all installed features. From these two lists the repositories and features that natively come with TESB runtime are removed. Another component in the new container is then responsible to take the list and make all feature repositories known in the container and to install all the features specified in the list. For the configuration we either copy the whole ./etc directory from the old container to the new one and set the properties new for the current version via config admin or retrieve via config admin a list of all properties of the old container and apply it to the new conatiner. Make sure there is no conflict with configuration set when the usser defined features are installed. Important is to validate the approach is feasable not to automate everything and to have a polished tooling. 5
363TESB-5009Parameters table should be clear or reset after changed the required web servicevideo: http://screencast.com/t/w7WYJ9zZLtGM1
364TESB-5011Upgrade the Apache projects to the latest development versionAs usual we should move to the latest and greatest versions of the Apache projects we use. This means CXF: 2.6.0-SNAPSHOT Camel: 2.9.2-SNAPSHOT Karaf: 2.2.6-SNAPSHOT Cellar: 2.2.4-SNAPSHOT ActiveMQ: 5.5.0 ZooKeeper - 3.3.4 These versions are authoritative for all components including samples. As usual this feature also includes to do a smoke test ensuring the runtime and the samples are still working fine. For Karaf we were asked to wait until cw 10 before starting with the upgrade.3
365TESB-5012Regression in tRESTRequest code generationtRESTRequest is now showing both 'body' of type 'Document' and 'string' of type String by default in a schema for all the mappings. In earlier versions, none of it was generated for GET. Obviously having the 'body' does not make sense for GET. Here is the generated code signature for GET: @javax.ws.rs.GET() @javax.ws.rs.Path("/") public javax.ws.rs.core.Response echo( @javax.ws.rs.DefaultValue("") @javax.ws.rs.PathParam("string") String string ) This String 'string' parameter is not required. for other methods it does not make sense to have both 'body' and 'string', here is the generated signature for POST: @javax.ws.rs.POST() @javax.ws.rs.Path("/") public javax.ws.rs.core.Response test( @javax.ws.rs.DefaultValue("") @javax.ws.rs.PathParam("string") String string , org.dom4j.Document body ) here this 'string' is not required either. This is all the side-effect of having 'String' parameter added by default to the schema of an individual mapping. I wonder if the idea was to capture either the input to either Document or String: this can not work with the above signature. The request body, if any, can only be converted to Document. Summary: 1. The schema for GET (&DELETE) mappings must be empty by default: no 'body' can be supported for GET (&DELETE) requests while 'string' parameter is not required and can only confuse the users 2. The schema for POST/PUT - 'string' parameter needs to be dropped - if possible: make 'body' read only 1
366TESB-5017HTTP Conduit Configuration via OSGi ConfigAdminSpecify a standard Config Admin based configuration (properties file in ./etc) which specifies default values for SSl. It should be applicable for all endpoints. Also provide a corresponding truststore which matches the certificate used in our SSL samples. Document in the Runtime Configuration guide the meaning of the properties and also the other properties that can be set in the file for the conduit. Describe how you can create additional conduit configurations for specific endpoints. In the Runtime configuratiom guide remove the description in the locator section how to enable SSL for the client . Adapt our SSL based samples to use the new kind of configuration, don't forget documentation.3
367TESB-5058Start refactoring of Data Service plugins from the main Studio platform.Following refactoring should be done: * Start the refactoring to separate export functionality of the ESB-related exports. [Optional] * Try to separate a build. 2
368TESB-5064Improve usability of cLog componentAs discussed during the sprint demo. Can we replace the checkbox with the additional radio button? So that instead of one checkbox and 3 radio buttons we would have 4 radio buttons?1
369TESB-5071Implement support for SAM and SL for TBPM ConnectorNULL3
370TESB-5072Implement support for authentication for TBPM ConnectorNeed to support same options as for tESBConsumer component such as: * WS Security username token * WS Security STS * Basic HTTP3
371TESB-5079Route Builder: New cMail componentA mail component should be created to send mail from routes. Assumption: user have to manually install the camel-mail when deploying route in Karaf. She just need to type *feature:install camel-mail*.2
372TESB-5091Bundle-SymbolicName of exported routes and jobs is not scoped to the projectWhen exporting jobs or routes as OSGi bundles, the Bundle-SymbolicName is only derived from the job name. This may lead to potential clashes if jobs/routes from different projects have the same name and are to be installed into the same OSGi container. Talend can enforce unique names for jobs/routes inside a project, but that can not be done across projects. It would be better if the Bundle-SymbolicName were derived from both the project name and the job/route name. Example: The Karaf container itself uses a qualified name for the Bundle-SymbolicName: Bundle-Name: Apache Karaf Bundle-SymbolicName: org.apache.karaf.main Where as the ActivityHello from the HelloService (example) uses the name only: Bundle-Name: ActivityHello Bundle-SymbolicName: ActivityHello 1
373TESB-5123Moving a TESBConnector connector from one step to another breaks itWhen I move a connector that uses TESBConnector from one step to another, this connector and all newly created TESB Connector connectors are unusable. When the process is executed, the log shows: {noformat}SEVERE: Exception caught while executing connector (instance=Rent_a_car--1.0--2, process=Rent_a_car--1.0, activityId=Enter_user_and_dates) : org.talend.esb.bonita.consumer.TESBConnector - Exception : Exception while evaluating expression. ProcessInstanceUUID: 'Rent_a_car--1.0--2'. ActivityInstanceUUID: 'Rent_a_car--1.0--2--Enter_user_and_dates--it1--mainActivityInstance--noLoop'. ProcessDefinitionUUID: 'Rent_a_car--1.0'. cause: File cannot be nulljava.lang.IllegalArgumentException: File cannot be null at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:201) at javax.xml.parsers.DocumentBuilder$parse.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSi teArray.java:40) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124) at providedscripts.BonitaXML.evaluateXPathOnVariable(BonitaXML.groovy:49) at providedscripts.BonitaXML$evaluateXPathOnVariable.call(Unknown Source){noformat} Deleting the moved connectors and creating them in the existing process doesn't help. I always get the same error message when I execute the process. Due to TESB-5122 I can't export and attach the process here. I'm using an XPath expression with {{providedscripts.BonitaXML.evaluateXPathOnVariable()}}, which I assume is causing this error after moving. 1
374TESB-5142JMX statistics problem with intercept()This bug is related with a camel bug: https://issues.apache.org/jira/browse/CAMEL-5066 After camel-2.9.2-snapshot, load balance and log statistics bugs are fixed. Only intercept had this bug. And if a cIntercept is added, the whole Route statistics will fail.1
375TESB-5154Route code generation generated an extra semicolon in cProcessorRoute code generation generated an extra semicolon at the end of cProcessor that can lead to compile errors. In the attached example the last line is a throw statement and the Studio will get an error "Unreachable code" This is what get's generated: new org.apache.camel.Processor() { public void process( org.apache.camel.Exchange exchange) throws Exception { System.out.println("Roger."); throw new Exception("Failed"); ; } }).id("cProcessor_1")1
376TESB-5157Re-organize the components in teh Route Builder paletteIt's better to re-organize the componens of routerbuilder. * *cBean*, *cTalendJob* to Processor * *cThrottler* and *cPipesAndFilter* to Routing 1
377TESB-5162[examples] Wrong endpoint configuration for CRMServiceLooking into WSDL [1] there is <wsdl:port name="CRMServicePort" ...> But service configuration [2] set endpointName="serviceNamespace:CRMServiceProvider" Its confused during custom client implementation. Expected port value for [3] should be same as at original WSDL. 1. https://github.com/Talend/tesb-rt-se/blob/master/examples/tesb/rent-a-car/crmservice/common/src/main/resources/model/crmservice-wsdls/CRMService.wsdl 2. https://github.com/Talend/tesb-rt-se/blob/master/examples/tesb/rent-a-car/crmservice/service-endpoint/src/main/resources/META-INF/spring/beans.xml 3. http://localhost:8040/services/CRMServiceProvider?wsdl1
378TESB-5169Add new Camel Dataset component into Route BuilderCamel Dataset can provide useful data set, example for smoke test or Integration Test. And also it's very simple. Implementation is simple: {noformat} dataset:name[?options] {noformat} More details refer to http://camel.apache.org/dataset.html We also need to add a Sample route in ESB Demo project.2
379TESB-5170Add new Camel Timer component into Route BuilderThe timer: component is used to generate message exchanges when a timer fires You can only consume events from this endpoint. It's useful for users to create time task, for testing or others. Implementation is simple: {noformat} timer:name[?options] {noformat} More details refer to http://camel.apache.org/timer.html We also need to add a sample route for ESB Demo project.2
380TESB-5215karaf feature "wrapper" fails to install in offline environment: URL [mvn:org.apache.karaf.shell/org.apache.karaf.shell.wrapper/2.2.5] could not be resolvedGetting, "Feature URL could not be resolved" while installing "wrapper" feature in 5.0.2 KarafRuntime. karaf@trun> features:install wrapper Error executing command: URL [mvn:org.apache.karaf.shell/org.apache.karaf.shell.wrapper/2.2.5] could not be resolved. Note: The Runtime is executing in an offline environment(without internet access). Attached tesblog as well as list of deployed/available Bundles in Runtime.1
381TESB-5229Rest job sends http 200 as response, completely ignoring model flow ...As a designer of a rest service I would expect that the service only returns results that I explicitly specify. But it looks like there are hidden paths in models that result in the service responding with an HTTP 200 code although nothing sensible has been done. I added a film that shows a running Rest job that receives a post request and processes that in a tXMLMap that expects a different default namespace inside the request document. The result is not that the service logs / shows any error, but instead simply responds with OK. I leave it open for further analysis whether this is a problem of Rest in Studio or a problem of the tXMLMap component. In any case the behaviour of the service is totally unexpected and cannot be matched to the designed flows inside the job.1
382TESB-5235SAM Server in Talend runtime needs to support all DBMS supported in Tomcat.Currently only Derby is supported when running in the Talend Runtime. In addition - MySQL - Oracle - SQL Server - H2 Database Engine - IBM DB2 should be supported 2
383TESB-5236Suitable Cluster (Cellar) Black- / Whitelist for TESBDefine for the TESB a sensible default Black and White List for Cellar. Especially configurations that do not make sense to be replicated should be blacklisted. 1
384TESB-5237job controller: incorrect namespace processing in request/response documentNULL1
385TESB-5238Karaf Script to enable CellarProvide a script that installs Cellar in a Talend Runtime and let the user set the default Cellar group. Document the script in the Cluster Guide.1
386TESB-5240Try/Catch does not always produce compilable codeThe attached zip file contains a route that works if the try/catch is removed. As soon as the try/catch is placed into the route the route no longer compiles. This is the compile error message: The method doCatch() is undefined for the type ExpressionNode1
387TESB-5241Route: uriMap can produce wrong URIs when components get renamed.When one uses copy/paste to replicate parts of a route the new parts of the route will have the same names as the old ones (if they had names). This leads to a bad URI look up as the look up is done by the name given. The route in the attached zip fails, as the two routes start with a component named "A". Although they contain different endpoints in the configuration, they will look up the same (false) URI by using the same name "A". If the second "A" component is renamed, the route start working as expected. To a user it appears that the route fails during run time without explanation, as manual inspection of the nodes show the right endpoint data in the component properties. It is not clear that the wrong URI is picked unless one digs deep into the generated code. 1
388TESB-5243[Data Service] tESBConsumer - Add support for onComponentError and onSubJoberror[Data Service] Please, Add support for onComponentError and onSubJoberror When send request, i get the following error even if i add oncomponenterror in data service to catch the error <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <soap:Fault> <faultcode>soap:Server</faultcode> <faultstring>Talend job execution error</faultstring> </soap:Fault> </soap:Body> </soap:Envelope>3
389TESB-5252Add time unit to the labels of the "Idle Timeout" and "Expiry Timeout" fields in the cJMSConnectionFactory GUI.Add time unit to the labels of the "Idle Timeout" and "Expiry Timeout" fields in the cJMSConnectionFactory GUI. BTW, could someone explain to me the "Expiry Timeout"? Is it "time since first use" (I got it from the web), or something? Thanks!1
390TESB-5258Stream line the Rent a Car sampleCurrently it is only possible to execute TESB features (SAM, Locator, STS) in isolation with the Rent a Car sample. This makes it difficult to get the big picture. Current approach does not allow to dynamically combine the features. Therefore we should remove the SAM and Locator variants and provide the following flavors - bare bone (no additional features at all) - SAM + Locator - STS - STS + SAM + Locator For al four variants jmx for CXF should be enabled, especially monitoring the number of calls Bernhard Shuhmann already provided a patch for the SAM + Locator flavour: https://github.com/Talend/tesb-rt-se/pull/9 Part of the feature is to help documentation to also restucture the documentation. In the documentation we should make sure to always describe how to run our infrastructure services (SAM, Locator, STS) in the Talend Runtime. Stand alone (ZooKeeper)or Tomcat (SAM, STS) is deprecated. 3
391TESB-5259Include Version Upgrade FeatureUser start to deploy their routes and services in to the runtime and need more and a comfortable way to upgrade their runtime. Goal of this feature is to provide the upgrade framework implemented in a PoC as product feature. It is not intented to provide a fully automated procedure. The user will still need to do some manual steps and invoke the commands manually in the Karaf console. Things to do to make it a product fetaure - Improve code,, handle error situations, add unit tests,... - provide a command to create all lists at once and one command to apply them at once - provide a blackist for configuration properties - Simplify configuration of location for the lists - Create kar file to deploy to source container - All upgrade feature should be available in 5.1 EE Runtime - Document whole upgrade procedure in Installation Guide or Container Guide Note: this is an EE feature. 5
392TESB-5265cOnException gets triggered although there is no ExceptionI run a route which combines cJMS, cJMSConnectionFactory and cOnException components. the cOnException is configured to start three redelivery retries on a specific Exception. In the case of a real exception the behavior is as expected and retries are triggered correctly. But in case everything works fine (No Exceptions at all) still the cOnException gets triggered and creates the back-up files. See screencast: http://screencast.com/t/2IxklNepmEO1
393TESB-5269BPM Connector GUI: Invalid state of UI: can proceed with no service selectedOn the service selection screen user can achieve illegal GUI state: - select "use service locator" radio - select one of the available services (Next button gets enabled) - select "use WSDL file" radio despite the actual GUI state is illegal, user can proceed with blank WSDL file field (expected: Next button disabled) - press Next button (expected: some error message; actual: service, selected in locator table is displayed) - press "< Prev" button, now you can see both "Next and Evaluate buttons are enabled" 1
394TESB-5323[cLoadBalancer] The cLoadBalancer component seems to create a memory leakThe route in attachment files cause the memory leak because after some monitorings of the JVM, the old is never released by Garbage collector. See screenshot. After some hours (about 2 or 4) test load karaf becomes unavailable. The route WSDL also becomes unavailable. Need to restart karaf.2
395TESB-5324Update the package name of Jettison provider used by tESB REST componentsThe complete name of JSONProvider has changed from org.apache.cxf.jaxrs.provider.JSONProvider to org.apache.cxf.jaxrs.provider.json.JSONProvider, note a new 'json' package segment. This was needed due to optional providers moved to a new cxf-rt-rs-extension-providers module.1
396TESB-5326Add context parameter names into feature file for publishing Routes and Jobs (not only Data Service)As you know we can configure context parameters in TAC for Job (ESB Consumer jobs or ESB REST Services), however TAC UI does not present user a list of all possible property names. To achieve that we need to list all context / context parameter in the feature file we publish to the Talend Aritfact repository. In the related feature.xml we add a config element for each 'Context' {code:xml} <?xml version="1.0" encoding="UTF-8"?> <features name="jobName-feature" xmlns="http://karaf.apache.org/xmlns/features/v1.0.0"> <feature name="jobName-feature" version="0.1"> <feature>...</feature> <bundle>...</bundle> <config name="jobName.talendcontext.Default"> new2_read="13" new1_write="|" name="Default Context for write operation" </config> <config name="jobName.talendcontext.Debug"> new2_read="666" </config> <config name="jobName.talendcontext.Develop"> new2_read="7!" new1_write=">" name="Debug purposes only" </config> </feature> </features> {code} You can see exactly three different contexts: Default,Develop,Debug and each of them has different values for a different set of context variables. 3
397TESB-5328Routes should be exported as KAR file and not as JAR fileChange the export to create also a kar file for a Route Export instead of a single bundle. By this we will support a more improved dependency management as we can add additional required features within the feature.xml (as part of the kar file export) See also linked JIRA related to the dependency improvement.2
398TESB-5329Routes Feature Files should contain the required featuresTo improve the dependency management in teh Route Builder routes which export Published or Exported should include all features which could be detected within the route builder as though. Especially at least all features which are defined by the cMesssageEndpoint or it explicit components, cMail, cCXF, cFIle, etc.2
399TESB-5330RESTful Services build with tRESTRequest should support HTTPSRESTful services developed with the tRESTRequest ESB Component must provide HTTPS when deployed to the Talend Runtime container (it is not required for testing within teh Studio)1
400TESB-5331RESTful Services build with tRESTRequest should support HTTP Basic authenticationRESTful services developed with the tRESTRequest ESB Component must provide HTTP Basic Authentication when deployed to the Talend Runtime container (it is not required for testing within the Studio). If we need to, we have to add a configuration option to tRESTREquest component to achieve that.1
401TESB-5332cProcessor should not print anything by defaultIn 5.0.1 the cProcessor was changed to Print "Roger" on the console (System.out.println("Roger"). For a more professional experience we should add a Java comment in cProcessor to explain what the user can do with this component (roughly )1
402TESB-5509Support publishing of ESB ConsumerJobs, ESB Services and ESB Routes from command lineCurrently it is not possible to publish ESB ConsumerJobs, ESB Services or ESB Routes to the Talend Artifact Repository (Archiva) via command line. It is required to publish the artifacts using the graphical user interface of the Talend Enterprise Studio. Beside the identification parameter to point to a single Job, Service or Route it must be possible to define the 'GroupID', 'Artifact ID', 'Version'; and if we like to publish as 'SNAPSHOT' or not (in this case release artifact to the repo-release. In case the 'GroupID', 'Artifact ID', 'Version' and 'SNAPSHOT' (Yes/No) is not specified the commandline should use the same defaults as the graphical dialog (publish dialog) Optional: Ideally it should be possible to define a list of artifacts to be published and allow the user to point the commandline to a parameter file where this list is maintained.1
403TESB-5334Route Builder: support of new Camel components in cMessageEntpointWe need to make sure that we support all new components of the new Camel 2.9.2 release int he Route Builder (especially that they are accessible in the cMessageEndpoint advanded tab. A special focus should be made regarding the camel-jsch (Secure Copy via SSH) component in Camel.2
404TESB-5343Package and deliver Talend BPM RuntimeTwo alternatives: * Bonita BPM runtime running as set of OSGi plugins on top of Talend ESB Runtime. * Tomcat-based BPM runtime. Runtime should be fully functional and allow simple configuration of Bonita and Talend ESB parameters. Runtime should be packaged and delivered together with the BPM Tooling build.5
405TESB-5344Remove thread serialization in tRESTRequest/tRESTResponse cycle.NULL2
406TESB-5374Bundled Sigar monitoring component does not support Windows 2008 R2All Talend features inside of Talend ESB Runtime are still 5.0.1 versions! Now when I'm trying to install features I get some errors because it's trying to look for some 5.0.1 bundles, where it should look for 5.0.2 bundles. I need that fixed asap. I've already upgraded from 5.0.1 because of the bug with the wrong password for tadmin in Archiva. I need now to be able to demo the usage of Talend ESB and the ESB Conductor! Please send me a patch with a valid version of Runtime. <comment author= Zsolt Beothy-Elo> The real problem is the Sigar bundle, which is not able to find a suitable native library for Windows 2008 R2, see comments below. Did also cange summary. </comment>2
407TESB-5434Cleanup Talend runtime scriptsRemove the 'admin' and the Karaf script. The 'admin' script allows to support several container instances. We do not support this feature. The 'karaf' script is superseded by 'trun'. At least for the 'start' script ensure it includes the same memory setting enhancements as the 'trun' script1
408TESB-5444Jobserver bundles still have 5.0.1 version in the 5.1.0 SNAPSHOT packageEnsure all bundles delivered by Talend have consistent version number1
409TESB-5512Exception when create TESB connection using an existing configurationSteps to reproduce this exception: 1. Select "Connectors">"Test a Connector">"Connectors"->"Talend ESB Consumer..." 2. Create a connector normally 3. Evaluate this connector, if no problem, "Save connector configuration" on "Configure TESB Features" page. for example, name it as "esb_connector" 4. reproduce the first step, but on second page, select "Configure connector starting from an existing configuration", and select the existed "esb_connector" 5. click "Next", and "Next" 6. In the final page, click "Evaluate" button again, an Exception happens {noformat} org.ow2.bonita.util.BonitaRuntimeException: Unable to find a method with name: setParameters and parameters: [class java.lang.String={},] in connector: class org.talend.esb.bonita.consumer.TESBConnector org.ow2.bonita.util.BonitaRuntimeException: Unable to find a method with name: setParameters and parameters: [class java.lang.String={},] in connector: class org.talend.esb.bonita.consumer.TESBConnector {noformat}1
410TESB-5517Not all dependencies for activemq-web-console feature are available in system repositoryWhen trying to install the feature off-line the following error message appears Error executing command: URL [mvn:org.apache.activemq/activemq-web-console/5.5.0/war?Webapp-Context=activemq-web-console] could not be resolved. 1
411TESB-5519ActiveMQ must not be installed by default in RuntimeActiveMQ feature should be available in Runtime, but not be installed.1
412TESB-5520Switch from SNAPSHOT version to released version for CXF and Camel Apache projectsSwitch to - CXF-2.6.0 - Camel-2.9.2 as soon as available Some smoke testing will be needed, especially the samples2
413TESB-5521Sending SAM events fail after restarting SAM in TESBI've started the infrastructure services in TESB like this: tesb:start-all Then I run my services which send events to the SAM server in TESB. This works fine. Then I stop the SAM server: tesb:stop-sam and start it again: tesb:start-sam Then, the SAM agents can send the SAM events successfully to the SAM server. TESB logs the following error: Caused by: java.sql.SQLException: DERBY SQL error: SQLCODE: -1, SQLSTATE: XJ040, SQLERRMC: Failed to start database 'db' with class loader org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader@f78672, see the next exception for details.::SQLSTATE: XSDB6Another instance of Derby may have already booted the database /projects/talend/Talend-ESB-V5.0.2/container/db. 1
414TESB-5529Directory for migration data should be part of command in migration featureCurrently the directory where to save the migration data is stored in some configuration file. A default location is given, but in many cases will not be useful. It's better to let the user specify the location as part of the command. If the directory does not exist yet it should be created (at least for the create command). If there are access restriction which prvents to create the repository or to create the files an appropriate error message should be written to the console. Enhance documentation accordingly2
415TESB-5594Investigate possibilities for building Talend BPM Server on top of TomcatRequirements: * It should be a *standalone server product*, just like *Intalio BPM Server* or *SOPERA BPM Server* or *IBM WebSphere Server* or *Apache ActiveMQ Server*. For more information about *server* please refer [here|http://en.wikipedia.org/wiki/Server_(computing)]. * Server should be standalone program. * System administrators should be able to start/stop server, start with startup of the OS. * System administrator should be able to administer server, e.g. to change the BPM and ESB parameters using a simple means (e.g. text editor)3
416TESB-5620Update tRESTRequest Demo job from the ESBDEMO Project to use Relative URLOur demo job do not use relative URL, but it should.1
417TESB-5626Simultaneous usage of SAM and jms is brokenPossibility to use SAM and jms is not working. Exception is throwing on attempt to call provider when spring based consumer have next settings: <jaxws:features> <bean xmlns="http://www.springframework.org/schema/beans" class="org.apache.cxf.transport.jms.JMSConfigFeature" p:jmsConfig-ref="jmsConfig" /> <ref bean="eventFeature" /> </jaxws:features> if "<ref bean="eventFeature" />" is removed then call passed successfully. This combination is not working for both, osgi and standalone, deployment types (i.e. both imports <import resource="classpath:META-INF/tesb/agent-context.xml" /> and <import resource="classpath:META-INF/tesb/agent-context.xml" /> were tested). Stacktrace of exception (from consumer's tesb.log): 00:11:21,824 | WARN | ion(9)-127.0.0.1 | ache.cxf.common.logging.LogUtils 405 | - - | Interceptor for {http://services.test.esb.talend.org/Sam/SamTestService}SamTestService#{http://services.test.esb.talend.org/Standard}doRequestResponse has thrown exception, unwinding now java.lang.NullPointerException org.apache.cxf.io.CacheAndWriteOutputStream.write(CacheAndWriteOutputStream.java:68)[109:org.apache.cxf.cxf-api:2.6.0.SNAPSHOT] com.ctc.wstx.io.UTF8Writer.flush(UTF8Writer.java:100) com.ctc.wstx.sw.BufferingXmlWriter.flush(BufferingXmlWriter.java:225) com.ctc.wstx.sw.BaseStreamWriter.flush(BaseStreamWriter.java:261) org.apache.cxf.interceptor.AbstractOutDatabindingInterceptor.writeParts(AbstractOutDatabindingInterceptor.java:99)[109:org.apache.cxf.cxf-api:2.6.0.SNAPSHOT] org.apache.cxf.interceptor.BareOutInterceptor.handleMessage(BareOutInterceptor.java:68)[109:org.apache.cxf.cxf-api:2.6.0.SNAPSHOT] org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262)[109:org.apache.cxf.cxf-api:2.6.0.SNAPSHOT] org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:532)[109:org.apache.cxf.cxf-api:2.6.0.SNAPSHOT] org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:464)[109:org.apache.cxf.cxf-api:2.6.0.SNAPSHOT] org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:367)[109:org.apache.cxf.cxf-api:2.6.0.SNAPSHOT] org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:320)[109:org.apache.cxf.cxf-api:2.6.0.SNAPSHOT] org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:89) org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:134)[119:org.apache.cxf.cxf-rt-frontend-jaxws:2.6.0.SNAPSHOT] $Proxy89.doRequestResponse(Unknown Source) org.talend.esb.test.services.standard.StandardTestService$doRequestResponse.call(Unknown Source) org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)[211:groovy-all:1.8.6] org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)[211:groovy-all:1.8.6] org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)[211:groovy-all:1.8.6] org.talend.esb.test.stories.common.delegates.CommonRequestResponseExecutor.execute(script13346970817061652616846.groovy:51) org.talend.esb.tf.runtime.core.DefaultDelegate.execute(DefaultDelegate.java:264)[213:tesb.tf.runtime.core:2.2.0.SNAPSHOT] org.talend.esb.tf.runtime.core.GenericTestComponent.execute(GenericTestComponent.java:185)[213:tesb.tf.runtime.core:2.2.0.SNAPSHOT] sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.6.0_30] sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)[:1.6.0_30] sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)[:1.6.0_30] java.lang.reflect.Method.invoke(Method.java:597)[:1.6.0_30] sun.reflect.misc.Trampoline.invoke(MethodUtil.java:37)[:1.6.0_30] sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.6.0_30] sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)[:1.6.0_30] sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)[:1.6.0_30] java.lang.reflect.Method.invoke(Method.java:597)[:1.6.0_30] sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:244)[:1.6.0_30] javax.management.modelmbean.RequiredModelMBean.invokeMethod(RequiredModelMBean.java:1074)[:1.6.0_30] javax.management.modelmbean.RequiredModelMBean.invoke(RequiredModelMBean.java:955)[:1.6.0_30] org.springframework.jmx.export.SpringModelMBean.invoke(SpringModelMBean.java:90)[86:org.springframework.context:3.0.7.RELEASE] com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)[:1.6.0_30] com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)[:1.6.0_30] javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1427)[:1.6.0_30] javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:72)[:1.6.0_30] javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1265)[:1.6.0_30] javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1360)[:1.6.0_30] javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:788)[:1.6.0_30] sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.6.0_30] sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)[:1.6.0_30] sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)[:1.6.0_30] java.lang.reflect.Method.invoke(Method.java:597)[:1.6.0_30] sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:303)[:1.6.0_30] sun.rmi.transport.Transport$1.run(Transport.java:159)[:1.6.0_30] java.security.AccessController.doPrivileged(Native Method)[:1.6.0_30] sun.rmi.transport.Transport.serviceCall(Transport.java:155)[:1.6.0_30] sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)[:1.6.0_30] sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)[:1.6.0_30] sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)[:1.6.0_30] java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)[:1.6.0_30] java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)[:1.6.0_30] java.lang.Thread.run(Thread.java:662)[:1.6.0_30] 1
418TESB-5664Some configuration files missing when runtime never startedSome configuration files, e.g. sam.agent.cfg and client.sts.cfg, are not available when runtime was unzipped but never started. Configuration files of standard components (the one which are present the first time you start the runtime) should be present by efault even when runtime has not been started yet. This is not the case for * sam.agent.cfg * client.sts.cfg So please add them to the etc directory by default. In contrast org.talend.esb.sam.server.cfg is present even if the SAM server was never started. So please remove it from the etc directory in the delivery.1
419TESB-5678Hyperic - issue with dynamic bus.id to map Services after Talend Runtime restartThe bus.id gets a different ID each time a service is (re-)started. This currently cause issues with the Hyperic Monitoring as the Admin needs to manually update the bus.id each time a Talend Runtime is restarted (which is not feasible) As a result of this missmatch the Service will be shown as not avaiblable (red icon) and no metric data will be updated.2
420TESB-5685TESB - Cluster configuration - incomplete Blacklist for TESB Infrastructure componentsThe Blacklist configuration in org.apache.karaf.cellar.groups.cfg is not correct as there are still TESB Infrastructure related features installed on all cluster container when a command like (tesb:start-all) is used on one of the cluster container. See attached Screenshot for the details. 1
421TESB-5704${activemq.base} folder appears under container/ after activemq-web-console feature installationNew directory appeared under "container" directory: {code} ${activemq.base} |- data |- kahadb |- db.data |- db.redo |- db-1.log {code}1
422TESB-5706BPM: ESB Connector - Test Connection failure in wizardI successfully created a new connector (connecting to a Talend data service). It also runs successfully. So far, so good. But during the process of defining this connector I pressed "Test configuration" - which resulted in an exception. Screenshot attached.1
423TESB-5709SOAP interface does not return custom propertiesOperations lookupEndpoint and lookupEndpoints of the Service Locator SOAP interface only return the address itself - and no other properties. Even if the Service has been registered with properties in the registerEndpoint operation. Getting those properties back is crucial for a project of one of our partners (MBS). AFAIK it was even planned to return those properties (plus the interface supports it / does not need to be changed). So can we please add this?2
424TESB-5720Exclude cloud related features and dependencies for CellarCurrently we do not support cloud discovery provided by Cellar. Therefore we should remove Karaf features and dependencies related to cloud discovery as it brings a lot of unnecessary bundles into the runtime. 1
425TESB-5752Runtime Container - start.bat should not open an additinal cmd windowstart.bat opens a cmd window which will not be closed by stop.bat. This will confuse the user, who uses the installer, because at the end of the installation the window is still present. Two possible solutions: 1. Do not open the window 2. stop.bat must close it 1
426TESB-5762Routebuilder - ESBDemo - ReceiveFromJMS - Spelling mistakesh1. Spelling mistakes in Routebuilder demos 1. "RecieveFromJMS" should be "ReceiveFromJMS" 2. In demo "RecieveFromJMS" the first yellow comment/note description should be {quote} This route demonstrates how JMS messages from a Queue can be forwarded as requests to a service and responses sent back to JMS. {quote}1
427TESB-5763Route Builder ESBDemo - Typo in AMQConnectionFactory component view: PooledConnectionFacotryIn the following 3 ESB Demo routes we have an typo for the cJMSConnectionFactory component: - JMStoHTTP - RecieveFromJMS - SendToJMS we need to change AMQConnectionFacotry to AMQConnectionFactory1
428TESB-5773Jolokia Bundle must be started by defaultThe tesb-jmx-http-agent feature must be installed by default. The jolokia agent is useful for scenarios different from Nagios. Adapt documentation accordingly.1
429TESB-5774Upgrade ActiveMQ to 5.5.1The ActiveMQ distribution we include and the bundles included in the runtime must be upgraded to 5.5.1. Retest camel components using ActiveMQ and all samples based on ActiveMQ are still working.1
430TESB-5777Migrate to updated ActiveMQ JAR fileRuntime had updated ActiveMQ to the latest version (due to licensing issues in 5.5.1) we need to do the same for ActiveMQ JAR files in our product.1
431TESB-5791Package and deliver BPMWe need to do following: * Integrate Talend ESB BPM Connector to the Studio-all build. * Package and deliver Talend BPM Server ** 2 Packages, one for Windows (ZIP) and one for non-Windows systems (tar.gz) ** Add the LDAP Synchronizer * Readme/Documentation for Talend BPM Server ** Main question - how to configure ESB properties in the server ** Expected a text file README.txt that will be delivered with Talend BPM Server Out of scope: * Installer integration of BPM Server 3
432TESB-5792BPM Studio: Make ESB connector settings editable via preferencesWe are talking about following preferences: * SAM (sam server location) * SL (zookeeper server location) * STS (STS server location)2
433TESB-5832Update Expiry timeout default value for cJMSConnectionFactoryDefault value for Expiry timeout for cJMSConnectionFactory need to be changed to 1 minute (60000 milliseconds). Apart from that we need to do following: * Check that we can put numbers larger than integer in this field (e.g. expiry timeout == 25 days) * Check that component documentation properly document that parameter and it's usage (e.g. what is it for, and if 0 then expiry is disabled, etc) 1
434TESB-5887Support external resources in Route BuilderWe need to support external resources in Route Builder, and package them when exporting OSGI bundles. For example, a XQuery file used in camel-saxon, or a WSDL file used in camel-cxf.3
435TESB-5889Lacks of Import-Package when using some class coming from these dependencies after removed these embeded jarsfor example for jetty component with https protocol, we have to reference org.apache.camel.component.jetty.JettyHttpComponent class to set the ssl information: {code} org.apache.camel.component.jetty.JettyHttpComponent jettyHttpComponent = new org.apache.camel.component.jetty.JettyHttpComponent(); jettyHttpComponent.setSslPassword("liu123"); jettyHttpComponent.setSslKeyPassword("liu123"); jettyHttpComponent.setKeystore("E:/data/keystore"); simpleRegistry.put("jetty", jettyHttpComponent); {code} Then after deployed into runtime, An exception will be thrown: *Caused by: java.lang.ClassNotFoundException: org.apache.camel.component.jetty.JettyHttpComponent* Not only this component, whenever if we have some referenced class from those embeded jars, we will get exception like this. we need to find a way to resolve this problem.1
436TESB-5916Rest service can't be deployed in the Runtime on the port said in the studioI create DemoRest service in TESB Studio. Start karaf, copy DemoREST-1.0.jar file in TESB_SE-V5.1.0-SNAPSHOT\container\deploy In console, nothing appears. But on http://localhost:8040/services I don't see DemoRest service and can't to reach it from SoapUI. The same Rest service works ok in released TESB_SE-V5.0.2. I try with two another jobs which include tRESTRequest and tRESTResponse and the problem is the same. Same thing with the new Runtime 5.1.1 !!!1
437TESB-5928Dirty Signal shows without any change when close the "Open another Version" Dialog for RouteReproduce Steps: # open a Router # Right click on this opened Router # Select "Open another version" action on popup menu # Then the "Open another Version" dialog will be shown, close it. you can see the Dirty Signal is there, but we didn't change any thing. Please see the video http://screencast.com/t/ToxN0aXQyY for details.1
438TESB-5942Useless Detect Dependencies context menu on Route/BeanRight click on created Routes/Beans, select "Detect Dependencies" context menu, and nothing happens.1
439TESB-5953Support Multipart Payloads for REST componentsSupporting the multipart payloads is important for most interesting/real-world REST applications. Please see https://jira.talendforge.org/browse/TESB-9347 for the proposed first step that may need to be taken. I think the following may need to be considered: 1. Updating the way the code generator produces the code: * Generate @Consumes("multipart/form-data") * Add MultipartBody instead of DOM4J Document as a parameter representing the request body * Check MultipartBody, and store a map of multipart parts (name of the part is the key, InputStream representing the part - value) in a map and make it available to the components following tRESTRequest. IMHO this is not a complex thing to do 2. Introduce a dedicated tRESTMultipart component - perhaps that will need to be done at the next stage - this component may offer a more sophisticated configuration for dealing with different multipart types. 3
440TESB-6049Print "Error executing: CREATE TABLE EVENTS ..." when restart TESB container which sam-server installedWhen restart TESB container with sam-server installed (eg. using tesb:start-sam), those error log will be printed in the console: karaf@trun> Error executing: CREATE TABLE EVENTS ( ID BIGINT NOT NULL, EI_TIMESTAMP TIMESTAMP, EI_EVENT_TYPE VARCHAR(255), ORIG_CUSTOM_ID VARCHAR(255), ORIG_PROCESS_ID VARCHAR(255), ORIG_HOSTNAME VARCHAR(128), ORIG_ IP VARCHAR(64), ORIG_PRINCIPAL VARCHAR(255), MI_PORT_TYPE VARCHAR(255), MI_OPERATION_NAME VARCHAR(255), MI_ MESSAGE_ID VARCHAR(255), MI_FLOW_ID VARCHAR(64), MI_TRANSPORT_TYPE VARCHAR(255), CONTENT_CUT BOOLEAN, MESSAG E_CONTENT CLOB(2147483647), PRIMARY KEY (ID)) java.sql.SQLException: Table/View 'EVENTS' already exists in Schema 'TEST'. Error executing: CREATE TABLE EVENTS_CUSTOMINFO ( ID BIGINT NOT NULL, EVENT_ID BIGINT NOT NULL, CUST_KEY VAR CHAR(255), CUST_VALUE VARCHAR(255), PRIMARY KEY (ID)) java.sql.SQLException: Table/View 'EVENTS_CUSTOMINFO' already exists in Schema 'TEST'. Error executing: CREATE TABLE TAB_SEQUENCE (ID_VALUE int generated always as identity, DUMMY char(1)) java.sql.SQLException: Table/View 'TAB_SEQUENCE' already exists in Schema 'TEST'. but didn't effect the sam-server functionality.1
441TESB-6060Features repo should have a name in some features.xml file of TESB SE and EEThis problem exists in the feature.xml file in tesb-rt-ee, in rent-a-car example, in camel-jmx example, ... when you execute: features:listrepositories, the feature repo which have no name will be showed as "repo-0" which is not good should have a meaningful name. also, looking into the tesb.log, will find: 15:42:44,732 | WARN | l Console Thread | res.internal.FeaturesServiceImpl 214 | 33 - org.apache.karaf.features.core - 2.2.6 | Feature repository doesn't have a name. The name will be mandatory in the next Karaf version. so this problem should be fixed before the next Karaf version.1
442TESB-6071Update TESB dependencies in Studio buildTESB dependencies libraries in Studio build should be 5.1.1, according to TESB 5.1.1. Currently Route builder still uses locator-5.1.0.jar in cCXF component.1
443TESB-6081ESBDEMO project: wrong WSDL location in tESBConsumer of DemoServiceConsumer jobNeed to update the Demo project1
444TESB-6084SAM Server only supports a specific jdbc driver version for each DBMS'sCurrently we specify in our Karaf features for the Data Services very specific version numbers for the corresponding drivers to be used. This might cause several problems: - user is using a slightly different version, e.g. because of company standards - updated drivers which contain fixes can't be used - For most of the DBMS we support several versions. The driver we require might not always suppot all these versions. Therefore remove the specific reference in the Karaf features. Instead in our Data Service bundles specify version ranges for the driver packages in the Manifests. The version ranges must be compatible with supported DBMS versions specified in our installation guide. 2
445TESB-6085Commercial JDBC drivers must be installed in a Maven repository before they can be usedBecause of license issues we do not deliver some of the JDBC drivers, e.g MySQL, Oracle. Instead the user has to provide the driver jar and currently has to publish it to a Maven repository accessible by the Talend Runtime. This is either the local Maven repository or one specified in org.ops4j.pax.url.mvn.cfg. Other ways of installing the jar, e.g. putting it into the Deploy folder do not work, because our data service features explicitly reference the jar via the Maven protocol handler. We must not force the user to have a running Maven repository accessible from the runtime. Instead the user should be free how to install the driver. We should remove the references to the driver jars in our Karaf features (also because of the fixed version issue, see TESB-6084) and document the alternatives in the 'Infrastructure Services Configuration Guide'.2
446TESB-6086Provide support for pooled DataSources in SAM ServerCurrently in our Data Service bundles for Sam non pooling DataSources are specified. In production environments this will likely cause bottlenecks. Therefore we should switch to pooled ones were availble. At least for the following drivers there exist pooled ones. ||DB || Class || |Derby | org.apache.derby.jdbc.EmbeddedConnectionPoolDataSource | | MySQL | com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource | | Oracle | oracle.jdbc.pool.OracleConnectionPoolDataSource | For those drivers were not pooled DataSource exists we should wrap them with a PoolingDataSource from the dbcp project 3
447TESB-6092Talend Commandline export and publish to Artifact Repository jobs, routes and data services as KAR filesInvestigation task.1
448TESB-6093Investigate how we can make Route Builder more OSGi and Maven friendlyInvestigate how we can refactor how Route Builder workspace is organized and how it is run. For example this prototype: http://screencast.com/t/IklVNFjfA0Z For example we could generate a separate maven project in the workspace for each Route Builder context, and store and manage all required artifact and pom.xml files from there. 1
449TESB-6094Continue investigation on SWT-Bot automated tests for BPM on LinuxNULL1
450TESB-6095Investigate how we can consolidate and align REST related components (consumer and provider) under the Talend ESB TeamNULL1
451TESB-6106Different flow ID created for cascading service callsI have two services, {{ServiceA}} and {{ServiceB}}, {{ServiceA}} calls {{ServiceB}}. Both service calls show up in SAM, but they both have different flow IDs. However, expected behavior is that both events have the same flow ID. The flow ID is present when the {{ServiceA}} calls {{ServiceB}}, instead of creating a new flow ID, SAM should reuse this ID when creating the event for the outgoing request to {{ServiceB}}.5
452TESB-6145Upgrade Apache and third party projects to their latest patch releasesAs usual we strive to use the latest patch releases especially for the Apache projects to include the latest bug fixes. Therefore we will upgrade the following projects: - CXF: 2.6.1 - Camel: 2.9.3 - Karaf: 2.2.8 - Cellar: 2.2.5 - ZooKeeper: 3.3.5 - jmx4perl: 1.05 If the version is not yet released use the corresponding SNAPSHOT version. This feature includes also a smoke testto ensure everything still works in principle. 3
453TESB-6190Allow users to edit MANIFEST for RoutesNULL1
454TESB-6191Prototype modularity and functional improvements for cTalendJob componentWe have two major issues with current implementation of cTalendJob: *Modularity issue* - to use a Talend job in the route with cTalendJob component one need to # Export route # Import the JAR file into cTalendJob component # Do that every time job changes This workflow is not acceptable and need to be improved. We need to think how we could automatically embed Job from the studio or rely on Job running in the ESB Runtime. *Data flow issue* - right now it's only possible to pass message exchange IN headers as context parameters to the Job. We need to show a prototype how we could possibly pass the whole message exchange or body-in/body-out parts of it into the route, possible with new components on DI part. 5
455TESB-6192Initial part for OSGi DataSources support within DataServices and RESTWhat's need to be checked: * How database components are working in Runtime ** JDBC Driver loading ** Multi-threading behavior ** Connection pooling Investigate: * How we could modify database components (on a sample of JDBC components) to be used in the ESB Runtime. ** Re-use OSGi DataSource definitions ** Re-use connection pooling Note: we will start with generic JDBC components and MySQL components5
456TESB-6193Prototype demonstraing possibilities for exposing DataServices over JMSNULL3
457TESB-6194Competence transfer to QA Team for Talend BPM Integration Tests and infrastructureNULL1
458TESB-6195Implement export and publish for data services and routes from CommandlineNULL2
459TESB-6233Cannot deploy jobs with tESBConsumer - JSONProvider ClassNotFoundExceptionDeploying of the tESBConsumer in a Job results on a ClassNotFoundException on Karaf. The same jobs can be started on Talen Open STudio without any problems. It seems to be the same issue as on #TESB-5536 (http://jira.talendforge.org/browse/TESB-5536?page=com.atlassian.jira.plugin.system.issuetabpanels%3Achangehistory-tabpanel) The logs are: {code} 16:21:49,211 | ERROR | xtenderThread-11 | BundleApplicationContextListener 50 | 91 - org.springframework.osgi.extender - 1.2.1 | Application context refresh failed (OsgiBundleXmlApplicationContext(bundle=masterarbeit.Copy_of_EDINotify2XML, config=osgibundle:/META-INF/spring/*.xml)) org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'service': Cannot resolve reference to bean 'jsonProvider' while setting bean property 'providers' with key [1]; nested exception is org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.apache.cxf.jaxrs.provider.json.JSONProvider] for bean with name 'jsonProvider' defined in URL [bundleentry://249.fwk30844270/META-INF/spring/beans.xml]; nested exception is java.lang.ClassNotFoundException: org.apache.cxf.jaxrs.provider.json.JSONProvider not found from bundle [masterarbeit.Copy_of_EDINotify2XML] org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)[84:org.springframework.beans:3.0.7.RELEASE] org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)[84:org.springframework.beans:3.0.7.RELEASE] org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedList(BeanDefinitionValueResolver.java:353)[84:org.springframework.beans:3.0.7.RELEASE] org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:153)[84:org.springframework.beans:3.0.7.RELEASE] org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1327)[84:org.springframework.beans:3.0.7.RELEASE] org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1085)[84:org.springframework.beans:3.0.7.RELEASE] org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:516)[84:org.springframework.beans:3.0.7.RELEASE] org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455)[84:org.springframework.beans:3.0.7.RELEASE] org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293)[84:org.springframework.beans:3.0.7.RELEASE] org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)[84:org.springframework.beans:3.0.7.RELEASE] org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)[84:org.springframework.beans:3.0.7.RELEASE] org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192)[84:org.springframework.beans:3.0.7.RELEASE] org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585)[84:org.springframework.beans:3.0.7.RELEASE] org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)[86:org.springframework.context:3.0.7.RELEASE] org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.access$1600(AbstractDelegatedExecutionApplicationContext.java:69)[90:org.springframework.osgi.core:1.2.1] org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:355)[90:org.springframework.osgi.core:1.2.1] org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)[90:org.springframework.osgi.core:1.2.1] org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:320)[90:org.springframework.osgi.core:1.2.1] org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:132)[91:org.springframework.osgi.extender:1.2.1] java.lang.Thread.run(Thread.java:619)[:1.6.0_12] Caused by: org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.apache.cxf.jaxrs.provider.json.JSONProvider] for bean with name 'jsonProvider' defined in URL [bundleentry://249.fwk30844270/META-INF/spring/beans.xml]; nested exception is java.lang.ClassNotFoundException: org.apache.cxf.jaxrs.provider.json.JSONProvider not found from bundle [masterarbeit.Copy_of_EDINotify2XML] org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1261)[84:org.springframework.beans:3.0.7.RELEASE] org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:432)[84:org.springframework.beans:3.0.7.RELEASE] org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293)[84:org.springframework.beans:3.0.7.RELEASE] org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)[84:org.springframework.beans:3.0.7.RELEASE] org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)[84:org.springframework.beans:3.0.7.RELEASE] org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192)[84:org.springframework.beans:3.0.7.RELEASE] org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322)[84:org.springframework.beans:3.0.7.RELEASE] ... 19 more Caused by: java.lang.ClassNotFoundException: org.apache.cxf.jaxrs.provider.json.JSONProvider not found from bundle [masterarbeit.Copy_of_EDINotify2XML] org.springframework.osgi.util.BundleDelegatingClassLoader.findClass(BundleDelegatingClassLoader.java:103)[90:org.springframework.osgi.core:1.2.1] org.springframework.osgi.util.BundleDelegatingClassLoader.loadClass(BundleDelegatingClassLoader.java:156)[90:org.springframework.osgi.core:1.2.1] java.lang.ClassLoader.loadClass(ClassLoader.java:252)[:1.6.0_12] org.springframework.util.ClassUtils.forName(ClassUtils.java:257)[81:org.springframework.core:3.0.7.RELEASE] org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:408)[84:org.springframework.beans:3.0.7.RELEASE] org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1282)[84:org.springframework.beans:3.0.7.RELEASE] org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1253)[84:org.springframework.beans:3.0.7.RELEASE] ... 25 more Caused by: java.lang.ClassNotFoundException: org.apache.cxf.jaxrs.provider.json.JSONProvider org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:506)[osgi-3.6.2.R36x_v20110210.jar:] org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:422)[osgi-3.6.2.R36x_v20110210.jar:] org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410)[osgi-3.6.2.R36x_v20110210.jar:] org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)[osgi-3.6.2.R36x_v20110210.jar:] java.lang.ClassLoader.loadClass(ClassLoader.java:252)[:1.6.0_12] org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:338)[osgi-3.6.2.R36x_v20110210.jar:] org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:232)[osgi-3.6.2.R36x_v20110210.jar:] org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1197)[osgi-3.6.2.R36x_v20110210.jar:] org.springframework.osgi.util.BundleDelegatingClassLoader.findClass(BundleDelegatingClassLoader.java:99)[90:org.springframework.osgi.core:1.2.1] ... 31 more {code}1
460TESB-6240Class-loading issues when Talend routes invoke groovy scriptFrom user perspective, expected that route can add those dependencies automatically when we use groovy language. 1. Created a route with studio which uses groovy as script language 2. Exported and deployed the kar file into a container. 3. When the route invokes the groovy script, a classloading exception occurs: Caused by: java.lang.ClassNotFoundException: groovy.lang.Script at java.net.URLClassLoader$1.run(URLClassLoader.java:200)[:1.6.0_11] at java.security.AccessController.doPrivileged(Native Method)[:1.6.0_11] at java.net.URLClassLoader.findClass(URLClassLoader.java:188)[:1.6.0_11] at java.lang.ClassLoader.loadClass(ClassLoader.java:307)[:1.6.0_11] at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:696)[177:groovy-all:1.8.6] at groovy.lang.GroovyClassLoader$InnerLoader.loadClass(GroovyClassLoader.java:449) at groovy.lang.GroovyClassLoader.loadClass(GroovyClassLoader.java:805)[177:groovy-all:1.8.6] at java.lang.ClassLoader.loadClass(ClassLoader.java:252)[:1.6.0_11] at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)[:1.6.0_11] ... 51 more 4. when edit MANIFEST.MF in this route kar file, manually add the below package into Import-Package, then update this route, it would work well. Required 5 packages for groovy language: groovy.lang org.codehaus.groovy.runtime org.codehaus.groovy.runtime.callsite org.codehaus.groovy.runtime.typehandling org.codehaus.groovy.reflection BTW, in this attachment model, we must add camel groovy dependencies in advanced settings of component cMessagingEndpoint_1, if only select language "Groovy" in basic settings of the component "cMessageFilter_1", then run this model, will throw the below exception. {noformat} Failed to create route cMessagingEndpoint_1 at: >>> Filter[groovy{['Ta', 'len', 'd', 'Route'].grep { elem -> elem.length() < 5 }.size() == 3} -> [Choice[[When[groovy{['a', 'b', 'c'].sum() == 'abc'} -> [To[direct:a]]]] Otherwise[[To[direct:b]]]]]] <<< in route: Route[[From[dataset://GroovyTestRoute20120618]] -> [Filter[g... because of No language could be found for: groovy org.apache.camel.FailedToCreateRouteException: Failed to create route cMessagingEndpoint_1 at: >>> Filter[groovy{['Ta', 'len', 'd', 'Route'].grep { elem -> elem.length() < 5 }.size() == 3} -> [Choice[[When[groovy{['a', 'b', 'c'].sum() == 'abc'} -> [To[direct:a]]]] Otherwise[[To[direct:b]]]]]] <<< in route: Route[[From[dataset://GroovyTestRoute20120618]] -> [Filter[g... because of No language could be found for: groovy org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:873) org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:171) org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:722) org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:1789) org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1575) org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1444) org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:60) org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:1412) mfshen20121023.groovytestroute20120618_0_4.GroovyTestRoute20120618.doStart(GroovyTestRoute20120618.java:179) org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:60) org.apache.camel.main.MainSupport.run(MainSupport.java:141) mfshen20121023.groovytestroute20120618_0_4.GroovyTestRoute20120618.runJobInTOS(GroovyTestRoute20120618.java:365) mfshen20121023.groovytestroute20120618_0_4.GroovyTestRoute20120618.main(GroovyTestRoute20120618.java:305) Caused by: org.apache.camel.NoSuchLanguageException: No language could be found for: groovy org.apache.camel.impl.DefaultLanguageResolver.noSpecificLanguageFound(DefaultLanguageResolver.java:101) org.apache.camel.impl.DefaultLanguageResolver.resolveLanguage(DefaultLanguageResolver.java:80) org.apache.camel.impl.DefaultCamelContext.resolveLanguage(DefaultCamelContext.java:989) org.apache.camel.model.language.ExpressionDefinition.createPredicate(ExpressionDefinition.java:154) org.apache.camel.model.language.ExpressionDefinition.createPredicate(ExpressionDefinition.java:143) org.apache.camel.model.ExpressionNode.createPredicate(ExpressionNode.java:120) org.apache.camel.model.ExpressionNode.createFilterProcessor(ExpressionNode.java:110) org.apache.camel.model.WhenDefinition.createProcessor(WhenDefinition.java:77) org.apache.camel.model.ChoiceDefinition.createProcessor(ChoiceDefinition.java:137) org.apache.camel.model.ProcessorDefinition.createOutputsProcessor(ProcessorDefinition.java:382) org.apache.camel.model.ProcessorDefinition.createOutputsProcessor(ProcessorDefinition.java:130) org.apache.camel.model.ProcessorDefinition.createChildProcessor(ProcessorDefinition.java:149) org.apache.camel.model.FilterDefinition.createFilterProcessor(FilterDefinition.java:72) org.apache.camel.model.FilterDefinition.createProcessor(FilterDefinition.java:66) org.apache.camel.model.FilterDefinition.createProcessor(FilterDefinition.java:34) org.apache.camel.model.ProcessorDefinition.makeProcessor(ProcessorDefinition.java:441) org.apache.camel.model.ProcessorDefinition.addRoutes(ProcessorDefinition.java:179) org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:870) ... 12 more {noformat} Actually, when user just select language "Groovy", then it should work as expected.1
461TESB-6265Error Handling doesn't work it the exchange body is manipulated and the endpoint is downI would like to add some kind of Fault Handling after a cCXF Service Call. For example if the Service is not available I would like to reattempt the Service-Call after 10 seconds. I looked at the cErrorHandler Component, but when I get the org.apache.cxf.interceptor.Fault message nothing happends. The same with the cTry - catch component. Catching the org.apache.cxf.interceptor.Fault does not work. The same with the cException component. ----------- I did another test where I only redirect the original payload of the service without changing the body/head: cCXF1 --> cCXF2 When I kill the Server off cCXF2 and call the cCXF1 at this scenario the tryCatch and ErrorHandler are working fine. So there is a problem with error handling when the body is manipulated by a processor... ----------- Original from Thread: http://www.talendforge.org/forum/viewtopic.php?pid=88106#p88106 2
462TESB-6277Talend route based on cCXF component with enabled SAM feature do not fill (or fill incorrectly) some fields in SAM eventsIn our system tests we developed route (from usual cxf consumer to usual cxf provider) in studio based on cCXF components. Both these components have feature "Service Activity Monitoring" enabled. After successful request-response call database stores four (as expected) messages produced by route: SamEvent [id=119, timestamp=2012-06-21 17:36:26.68, eventType=REQ_IN, processId=2452, ip=127.0.1.1, hostName=apaltoNB, customId=null, principal=null, messageId=null, flowId=urn:uuid:5a9b1686-d1ec-4 535-9983-a2bfa9a2a71e, portType={http://services.test.esb.talend.org/Standard}StandardTestService, operationName={http://services.test.esb.talend.org/Standard}doRequestResponse, transportType=http: //schemas.xmlsoap.org/soap/http, contentCut=false, messageContent=<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns2:Request xmlns:ns2="http://services.test.esb.t alend.org/Standard/types"><key>urt0010</key></ns2:Request></soap:Body></soap:Envelope>] SamEvent [id=121, timestamp=2012-06-21 17:36:26.702, eventType=REQ_OUT, processId=2452, ip=127.0.1.1, hostName=apaltoNB, customId=null, principal=null, messageId=urn:uuid:8a17b04a-9be5-43ae-b5e6-31 84cdd16cbc, flowId=urn:uuid:5a9b1686-d1ec-4535-9983-a2bfa9a2a71e, portType={http://services.test.esb.talend.org/Standard}StandardTestService, operationName={http://services.test.esb.talend.org/Stan dard}doRequestResponse, transportType=http://schemas.xmlsoap.org/soap/http, contentCut=false, messageContent=<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Header><flow Id xmlns="http://www.talend.com/esb/sam/flowId/v1">urn:uuid:5a9b1686-d1ec-4535-9983-a2bfa9a2a71e</flowId><Action xmlns="http://www.w3.org/2005/08/addressing">http://http://services.test.esb.talend. org/Standard/StandardTestServiceProvider/doRequestResponse</Action><MessageID xmlns="http://www.w3.org/2005/08/addressing">urn:uuid:8a17b04a-9be5-43ae-b5e6-3184cdd16cbc</MessageID><To xmlns="http:/ /www.w3.org/2005/08/addressing">http://provider:9088/services/tesb.test.participants.osgi.ufp.provider/soap/StandardTestServiceProvider/</To><ReplyTo xmlns="http://www.w3.org/2005/08/addressing"><A ddress>http://www.w3.org/2005/08/addressing/anonymous</Address></ReplyTo></soap:Header><soap:Body><ns2:Request xmlns:ns2="http://services.test.esb.talend.org/Standard/types"><key>urt0010</key></ns2 :Request></soap:Body></soap:Envelope>] SamEvent [id=123, timestamp=2012-06-21 17:36:26.823, eventType=RESP_IN, processId=2452, ip=127.0.1.1, hostName=apaltoNB, customId=null, principal=null, messageId=null, flowId=urn:uuid:5a9b1686-d1ec -4535-9983-a2bfa9a2a71e, portType={http://services.test.esb.talend.org/Standard}StandardTestService, operationName={http://services.test.esb.talend.org/Standard}doRequestResponse, transportType=htt p://schemas.xmlsoap.org/soap/http, contentCut=false, messageContent=<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns2:Response xmlns:ns2="http://services.test.es b.talend.org/Standard/types"><ns2:StringType><value>URT0010</value></ns2:StringType></ns2:Response></soap:Body></soap:Envelope>] SamEvent [id=125, timestamp=2012-06-21 17:36:26.845, eventType=RESP_OUT, processId=2452, ip=127.0.1.1, hostName=apaltoNB, customId=null, principal=null, messageId=null, flowId=urn:uuid:5a9b1686-d1e c-4535-9983-a2bfa9a2a71e, portType={http://services.test.esb.talend.org/Standard}StandardTestService, operationName={http://services.test.esb.talend.org/Standard}doRequestResponse, transportType=http://schemas.xmlsoap.org/soap/http, contentCut=false, messageContent=<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Header><flowId xmlns="http://www.talend.com/esb/sam/flowId/v1">urn:uuid:5a9b1686-d1ec-4535-9983-a2bfa9a2a71e</flowId></soap:Header><soap:Body><ns2:Response xmlns:ns2="http://services.test.esb.talend.org/Standard/types"><ns2:StringType><value>URT0010</value></ns2:StringType></ns2:Response></soap:Body></soap:Envelope>] There are some problems here: 1) field message_id always filled only for REQ_OUT event (message out from route). 2) field message_content is not the same for all events. Somewhere it contents much more information, somewhere -- much less. Similar behaviour (both problems) are reproduced for oneway operations. Situation became much more interesting, when we are using sam enabled consumer with usual provider. In that case only one message doesn't(!!) contain message_id (some of RESP_IN message, it impossible to find out from where exactly this message by info from events). Other events -- contains the same message id. And the same message has shortened (as in previous example) message content. Other have the same message content which include a lot of different information in header of envelop (flow id, etc..). The difference between two these experiments -- only enabling of sam feature on consumer's side. See exported route in attachments. UPD: I prepared maven project with simple example. See steps to Reproduce.3
463TESB-6311Exported KAR file which contains CXF with classpath:XXX.WSDL cannot start in RuntimeCreate a Route with cCXF and use a classpath: WSDL, it works in Studio but failed in Runtime. Error log: {noformat} 2012-06-28 14:35:28,975 | WARN | pool-11-thread-9 | URIResolver | 110 - org.apache.cxf.cxf-api - 2 .6.1 | Resource classpath:route_resources/ReadWrite.wsdl was not found in the classloaders. 2012-06-28 14:35:28,986 | WARN | pool-11-thread-9 | URIResolver | 110 - org.apache.cxf.cxf-api - 2 .6.1 | Resource classpath:route_resources/ReadWrite.wsdl was not found in the classloaders. 2012-06-28 14:35:28,998 | INFO | pool-11-thread-9 | OsgiDefaultCamelContext | 161 - org.apache.camel.camel-cor e - 2.9.3.SNAPSHOT | Apache Camel 2.9.3-SNAPSHOT (CamelContext: ContentBasedRouting-ctx) is shutting down 2012-06-28 14:35:28,998 | INFO | pool-11-thread-9 | DefaultShutdownStrategy | 161 - org.apache.camel.camel-cor e - 2.9.3.SNAPSHOT | Starting to graceful shutdown 0 routes (timeout 300 seconds) 2012-06-28 14:35:29,002 | INFO | pool-11-thread-9 | DefaultShutdownStrategy | 161 - org.apache.camel.camel-cor e - 2.9.3.SNAPSHOT | Graceful shutdown of 0 routes completed in 0 seconds 2012-06-28 14:35:29,005 | INFO | pool-11-thread-9 | DefaultInflightRepository | 161 - org.apache.camel.camel-cor e - 2.9.3.SNAPSHOT | Shutting down with no inflight exchanges. 2012-06-28 14:35:29,006 | INFO | pool-11-thread-9 | OsgiDefaultCamelContext | 161 - org.apache.camel.camel-cor e - 2.9.javax.wsdl.WSDLException: WSDLException: faultCode=PARSER_ERROR: Problem parsing 'classpath:route_resources/Read Write.wsdl'.: ja3.SNAPSHOT | Uptime: 0.133 seconds va.net.MalformedURLException: unknown protocol: classpath org.apache.camel.RuntimeCamelException: javax.wsdl.WSDLException: WSDLException: faultCode=PARSER_ERROR: Problem parsing 'classpath:route_resources/ReadWrite.wsdl'.: java.net.MalformedURLException: unknown protocol: classpath 2012-06-28 14:35:29,007 | INFO | pool-11-thread-9 | OsgiDefaultCamelContext | 161 - org.apache.camel.camel-cor e - 2.9. at org.apache.camel.component.cxf.WSDLServiceConfiguration.getDefinition(WSDLServiceConfiguration.java:4 9) 3.SNAPSHOT | Apache Camel 2.9.3-SNAPSHOT (CamelContext: ContentBasedRouting-ctx) is shutdown in 0.008 seconds at org.apache.camel.component.cxf.WSDLServiceConfiguration.getServiceQName(WSDLServiceConfiguration.java:57) at org.apache.camel.component.cxf.WSDLServiceConfiguration.getServiceNamespace(WSDLServiceConfiguration.java:98) at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.getServiceNamespace(ReflectionServiceFactoryBean. java:1887) 2012-06-28 14:35:29,007 | INFO | pool-11-thread-9 | MainSupport | 161 - org.apache.camel.camel-cor e - 2.9. at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.getServiceQName(ReflectionServiceFactoryB ean.java:1839) 3.SNAPSHOT | Apache Camel stopping at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.getServiceQName(ReflectionServiceFactoryBean.java :1835) at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromWSDL(ReflectionServiceFactoryBean .java:395) at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBe an.java:534) at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:248) at org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory.createEndpoint(AbstractWSDLBasedEndpointFactory.java :101) at org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:159) at org.apache.camel.component.cxf.CxfConsumer.<init>(CxfConsumer.java:226) at org.apache.camel.component.cxf.CxfEndpoint.createConsumer(CxfEndpoint.java:195) at org.apache.camel.impl.EventDrivenConsumerRoute.addServices(EventDrivenConsumerRoute.java:65) at org.apache.camel.impl.DefaultRoute.onStartingServices(DefaultRoute.java:80) at org.apache.camel.impl.RouteService.warmUp(RouteService.java:133) at org.apache.camel.impl.DefaultCamelContext.doWarmUpRoutes(DefaultCamelContext.java:1929) at org.apache.camel.impl.DefaultCamelContext.safelyStartRouteServices(DefaultCamelContext.java:1857) at org.apache.camel.impl.DefaultCamelContext.doStartOrResumeRoutes(DefaultCamelContext.java:1650) at org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1537) at org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1414) at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:60) at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:1382) at demo.contentbasedrouting_0_1.ContentBasedRouting$1CamelImpl.doStart(ContentBasedRouting.java:202) at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:60) at org.apache.camel.main.MainSupport.run(MainSupport.java:140) at demo.contentbasedrouting_0_1.ContentBasedRouting.Route(ContentBasedRouting.java:351) at demo.contentbasedrouting_0_1.ContentBasedRouting.runJobInTOS(ContentBasedRouting.java:459) at org.talend.esb.job.controller.internal.RouteAdapter.run(RouteAdapter.java:78) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619) Caused by: javax.wsdl.WSDLException: WSDLException: faultCode=PARSER_ERROR: Problem parsing 'classpath:route_resources/R eadWrite.wsdl'.: java.net.MalformedURLException: unknown protocol: classpath at com.ibm.wsdl.xml.WSDLReaderImpl.getDocument(Unknown Source) at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source) at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source) at org.apache.cxf.wsdl11.WSDLManagerImpl.loadDefinition(WSDLManagerImpl.java:244) at org.apache.cxf.wsdl11.WSDLManagerImpl.getDefinition(WSDLManagerImpl.java:191) at org.apache.camel.component.cxf.WSDLServiceConfiguration.getDefinition(WSDLServiceConfiguration.java:47) ... 31 more Caused by: java.net.MalformedURLException: unknown protocol: classpath at java.net.URL.<init>(URL.java:574) at java.net.URL.<init>(URL.java:464) at java.net.URL.<init>(URL.java:413) at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(XMLEntityManager.java:650) at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(XMLVersionDetector.java:186) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:771) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107) at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:225) at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:283) ... 37 more {noformat}1
464TESB-6331Java 7 supportTalend Runtime and all the examples shall run with Java 73
465TESB-6332Registry Client for Policy Attachment documents PoCThis feature is part of a PoC to lookup and retrieve WSDL's, Policies and configurations from a remote registry instead from a Fixed URL specified at development time. As part of this feature a CXF registry client shall be implemented to lookup Policy Attachment documents in a remote registry. The component shall lookup based on the fully qualified service name for a CXF service or client the corresponding policy attchment document in the remote registry and make it available to CXF. The endpoint of the registry must be configurable. There should be no extra configuration be necessary in the service or client component Ideally the registry client should work with all services and clients. Assume the service interface of the registry is pure HTTP based, following the REST architectural style. For the registry a simple HTTP server, e.g. Apache or Tomcat, may be used where the required policy attachment documents are stored in the file system and statically retrieved by the server. Because this is a PoC no detailed error handling is necessary, also no official documentation is required. Still provide a short readme how to configure the server so it is able to serve the expected documents and how to enable the registry client within the runtime. 5
466TESB-6365Create JVM problem with java 7When try to build examples different java options affect: Error occurred during initialization of VM Could not reserve enough space for object heap Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit. 2
467TESB-6366Talend examples related to Camel and JMS do not work with embedded activemqrelevant to examples: examples\talend\camel\jaxrs-jms-http\ examples\talend\camel\jaxws-jms\ Try to start the broker in container: features:install activemq-spring activemq:create-broker Port 61616 do not established, no errors in log1
468TESB-6367Some of Talend CXF examples don't workjaxrs-jaxws-description-first and jaxrs-jaxws-transformations examples don't work and I got error Error executing command: URL [mvn:org.apache.cxf.xjc-utils/cxf-xjc-runtime/2.6.1] could not be resolved. In common/pom.xml file we have <dependencies> <dependency> <groupId>org.apache.cxf.xjc-utils</groupId> <artifactId>cxf-xjc-runtime</artifactId> <version>2.6.0</version> </dependency> </dependencies> but it tries to find 2.6.1 version. Last version in maven repo is 2.6.0 http://mvnrepository.com/artifact/org.apache.cxf.xjc-utils/cxf-xjc-runtime1
469TESB-6372Locator example doesn't work with https on java 7\examples\talend\tesb\locator doesn't work with https on java 7. I got this exception in jetty 2012-07-05 11:15:39.550:WARN:oejin.ssl:127.0.0.1:62788 javax.net.ssl.SSLHandshakeException: no cipher suites in common at sun.security.ssl.Handshaker.checkThrown(Handshaker.java:1364) at sun.security.ssl.SSLEngineImpl.checkTaskThrown(SSLEngineImpl.java:513 ) at sun.security.ssl.SSLEngineImpl.writeAppRecord(SSLEngineImpl.java:1197 )2
470TESB-6386Route Builder: Support for Route Resources (Productify)We need to complete productive implementation of Route Resources. Following need to be done: * Productive icon for the context menu http://screencast.com/t/K2WsllAwMLKl * Productive icon for resource node * Prepare JIRAs, material and communicate with documentation team. * Store resources in root of the bundle and not in *route_resources*. * Improve resource selection dialog: ** One column, not two http://screencast.com/t/xueZZAdMJgrC ** Add 'Add' and 'Remove' text to buttons. * Rename context menu entry from 'Manage Route Resource' to 'Manage Route Resources' * Clarify use of resources with multiple versions. Expectation is that one particular Resource version is used by particular Route version. Resource names as shown in the Resource view are used. 3
471TESB-6387MANIFEST editor for Routes (Productify)We need following improvements: * Add possibility to edit 'Export package' * Possibility to exclude JAR files from the ClassPath so it is only available in Studio class path and not in the Runtime class path (not included in the Bundle). Implementation proposal - all JAR files used in cConfig *are not included* in the OSGi bundle by default, user need to explicitly edit MANIFEST and check a checkbox (next to the JAR file) so that file will be included in the OSGi bundle. * Rename context menu entry from 'Edit Dependencies' into 'Edit Route Manifest'. * Add a comment line into the *cConfig* element 'External JAR files will not be embedded in OSGi bundle by default, to configure it please edit Route Manifest' * External JAR files references from cJMSConnectionFactory shall be included by default. * Documentation JIRAs and competence transfer to Doc team. 3
472TESB-6388Productify Route-Job connectorWe need to complete Route-Job connection: * Productive Icons for new Job components (tRoute*) * Documentation JIRAs and competence transfer to Doc team. * Rename group of tRoute* components from 'ROUTE' to 'Route' * When creating tRouteInput component make sure that default schema has 'body' type of 'Document' and simple expression '${in.body}' * Add tRouteFault component that will looks exactly like tRouteOutput but it will mark Exchange out message as *fault*.2
473TESB-6401Upgrade ESB Runtime CXF-2.6.2, Camel 2.9.3We need to upgrade to CXF-2.6.2 as STS causes problems because of a faulty WSS4J library. Because 2.6.2 is not yet released we should take the corresponding SNAPSHOT version.2
474TESB-6421Productify suport for Route Resources: Add icons for menus and nodesNULL1
475TESB-6439STS fails to serve SAML requests from consumerIn nightly tests we are faced that a lot of tests which use SAML are fail. Appears, that consumer cannot pass communication with STS. In consumer's log there is only exception: I prepared small project-example to show what exactly happens (attached to this bug). Example is maven project which contains: {panel} 1) spring configuration with defined consumer endpoint 2) class which starts this spring config (tesb.test.example.cxf/src/main/java/org/talend/esb/test/services/clients/SpringClient.java) 3) wsdl for service 4) codegeneration plugin for this wsdl. 5) required security configuration stuff. {panel} Steps for reproduce: {panel} 1) Unpack fresh container 2) Unpack and build (mvn clean install) example project 3) copy content (policy and keystores) of tesb.test.example.cxf/etc/ into <container>/etc/ 4) start container 5) add jaas user and role (jaas:manage --realm karaf; jaas:useradd qa_hasi qa_hasi; jaas:roleadd qa_hasi admin; jaas:update) 6) install sts (features:install tesb-sts) 7) configure sts-client (config:edit org.talend.esb.job.client.sts; config:propset sts.wsdl.location http://infrastructure:8040/services/SecurityTokenService/UT?wsdl; config:update; features:uninstall talend-job-controller; features:install talend-job-controller;) 8) run SpringClient class from eclipse (-Dlog4j.configuration=log4j.properties) {panel} After execution doRequestResponse it will throw exception: {noformat} javax.xml.ws.soap.SOAPFaultException: The specified request failed at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:156) at $Proxy44.doRequestResponse(Unknown Source) at org.talend.esb.test.services.clients.SpringClient.main(SpringClient.java:51) Caused by: org.apache.cxf.binding.soap.SoapFault: The specified request failed at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.unmarshalFault(Soap11FaultInInterceptor.java:75) at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:46) at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:35) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262) at org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:113) at org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:69) at org.apache.cxf.binding.soap.interceptor.CheckFaultInterceptor.handleMessage(CheckFaultInterceptor.java:34) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262) at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:798) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1656) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1521) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1429) at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56) at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:659) at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262) at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:532) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:464) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:367) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:320) at org.apache.cxf.ws.security.trust.STSClient.requestSecurityToken(STSClient.java:722) at org.apache.cxf.ws.security.trust.STSClient.requestSecurityToken(STSClient.java:602) at org.apache.cxf.ws.security.trust.STSClient.requestSecurityToken(STSClient.java:594) at org.apache.cxf.ws.security.trust.STSClient.requestSecurityToken(STSClient.java:590) at org.apache.cxf.ws.security.policy.interceptors.IssuedTokenInterceptorProvider$IssuedTokenOutInterceptor.getTokenFromSTS(IssuedTokenInterceptorProvider.java:401) at org.apache.cxf.ws.security.policy.interceptors.IssuedTokenInterceptorProvider$IssuedTokenOutInterceptor.handleMessage(IssuedTokenInterceptorProvider.java:188) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262) at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:532) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:464) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:367) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:320) at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:89) at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:134) {noformat} on STS's side there is an exception: {noformat} 02:40:48,114 | WARN | qtp31642573-104 | ts.operation.TokenIssueOperation 147 | 200 - org.apache.cxf.services.sts.core - 2.6.1 | org.apache.cxf.ws.security.sts.provider.STSException: The specified request failed at org.apache.cxf.sts.token.provider.SAMLTokenProvider.createToken(SAMLTokenProvider.java:205)[200:org.apache.cxf.services.sts.core:2.6.1] at org.apache.cxf.sts.operation.TokenIssueOperation.issueSingle(TokenIssueOperation.java:145)[200:org.apache.cxf.services.sts.core:2.6.1] at org.apache.cxf.sts.operation.TokenIssueOperation.issue(TokenIssueOperation.java:70)[200:org.apache.cxf.services.sts.core:2.6.1] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.6.0_30] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)[:1.6.0_30] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)[:1.6.0_30] at java.lang.reflect.Method.invoke(Method.java:597)[:1.6.0_30] .................... Caused by: java.lang.IllegalArgumentException: InputStream cannot be null at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:120)[:1.6.0_30] at org.opensaml.xml.parse.BasicParserPool$DocumentBuilderProxy.parse(BasicParserPool.java:671) at org.opensaml.xml.parse.BasicParserPool.parse(BasicParserPool.java:215) at org.opensaml.xml.XMLConfigurator.load(XMLConfigurator.java:141)[144:org.apache.servicemix.bundles.opensaml:2.5.1.2] at org.opensaml.DefaultBootstrap.initializeXMLTooling(DefaultBootstrap.java:199)[144:org.apache.servicemix.bundles.opensaml:2.5.1.2] at org.apache.ws.security.saml.ext.OpenSAMLBootstrap.bootstrap(OpenSAMLBootstrap.java:77)[150:org.apache.ws.security.wss4j:1.6.6] at org.apache.ws.security.saml.ext.OpenSAMLUtil.initSamlEngine(OpenSAMLUtil.java:61)[150:org.apache.ws.security.wss4j:1.6.6] at org.apache.ws.security.saml.ext.AssertionWrapper.<init>(AssertionWrapper.java:214)[150:org.apache.ws.security.wss4j:1.6.6] at org.apache.cxf.sts.token.provider.SAMLTokenProvider.createSamlToken(SAMLTokenProvider.java:328)[200:org.apache.cxf.services.sts.core:2.6.1] at org.apache.cxf.sts.token.provider.SAMLTokenProvider.createToken(SAMLTokenProvider.java:126)[200:org.apache.cxf.services.sts.core:2.6.1] ... 58 more {noformat} 1
476TESB-6448Add new example into ESB Demo project with cErrorHandlerESBDEMOS should include examples of cErrorHandler usage. See PMESB-315 for more information.1
477TESB-6452BPM Runtime in Talend RuntimeDeploy BPM runtime in the Talend ESB Runtime. Following features should be implemented: * BPM Runtime should be deployed as ESB Platform feature. * BPM Runtime should be delivered with ESB Platform EE. * BPM Processes should be deployable from Studio and from BAR files. * BPM Server configuration should be available similar to Tomcat-based configuration. * BPM Processes deployed in BPM Runtime should (if possible) use OSGi based SAM/STS/SL configuration. * Java6 main platform, and Java7 as second main platform. 2
478TESB-6453Expose BPM Process as ServiceAs a process designer in Talend Stdio I would like to expose my business process as ESB Service on Talend ESB. We could implement a Wizard that will generate: * WSDL with one operation and parameters that should resemble process data. For example if process data have two String fields, then two Fields should be generated in XML Schema inside WSDL. * Data service based on this WSDL. This data service should use Talend Bonita Process Start component. Wizard should work based on BPM processes available in Studio - Design Time. Data service produced by Wizard should work from Studio and deployed in Runtime.2
479TESB-6455Add package configuration in advanced parameters of cConfig and cProcessorJust like in tJava components advanced page would be great to configure Java packages so that not FQ names could be used in the code.1
480TESB-6507Move sources from tesb-adapters to tesb-rt-se in githubSince 5.1.2 adapters are part of the SE package and are provided under the Apache license. Therefore there is no need to keep them in a separate repository. Moving them into tesb-rt-se will also simplify build. This feature also includes integrating the build of the adapter sources into the tesb-rt-se build. 1
481TESB-6508Registry for WSDL PoCProvide a registry server, which allows to upload WSDL documents, to delete documents and to lookup a WSDL based on a given fully qualified service name. * Use Apache Jackrabbit as underlying repository technology. Jackrabbit should run within the Talend runtime, backend configuration might be the simplest possible. * As frontend use an HTTP interface based on REST principles. * Describe your content model in the wiki. * Describe your REST interface in wiki ** What are the resources, how are they identified(URIs) ? ** What is the format? ** What methods are supported for each resource? ** What status codes could be returned? 5
482TESB-6517Route: java.lang.StackOverflowError error when saving a beanNULL2
483TESB-6527Commands of publishing for Service, Job and Route ignore the given incorrect credentials and publish successfullyCommandline of esb studio, publish for service, job and route using non-existent archiva repository user or incorrect archiva repository password, commands just ignore the given credentials and publish successfully. please see the below commands: {noformat} 1. publishService LocatorTestDataService -r http://localhost:8082/archiva/repository/repo-snapshot -u tadmin_nonexistent -p tadmin -g org.talend.nonexistentuser 2. publishService LocatorTestDataService -r http://localhost:8082/archiva/repository/repo-snapshot -u tadmin -p tadmin_incorrect -g org.talend.incorrectpassword 3. publishJob ConsumerDoRequestResponse -r http://localhost:8082/archiva/repository/repo-release -u tadmin_nonexistent -p tadmin -g org.talend.nonexistentuser 4. publishJob ConsumerDoRequestResponse -r http://localhost:8082/archiva/repository/repo-release -u tadmin -p tadmin_incorrect -g org.talend.incorrectpassword 5. publishRoute GroovyTestRoute -r http://localhost:8082/archiva/repository/repo-release -u tadmin_nonexistent -p tadmin -g org.talend.nonexistentuser 6. publishRoute GroovyTestRoute -r http://localhost:8082/archiva/repository/repo-release -u tadmin -p tadmin_incorrect -g org.talend.route.incorrectpassword {noformat} 2
484TESB-6531For the new tesb-registry repository provide a build and continuous integrationThe new registry component will reside in an own repository (at least at the beginning). We need a Maven build and continuous integration for the component.2
485TESB-6574Update ESB Demo project to add Route Resource demosAdd Route Resource Demo in ESBDEMO project to provide usages of Route Resources.1
486TESB-6587ServiceProxy demo Route doesn't work in RuntimeServiceaProxy demo Route doesn't work in Runtime, while it's OK in Studio. ErrorLog: {noformat} 2012-07-24 17:39:55,719 | WARN | qtp21483454-171 | PhaseInterceptorChain | 110 - org.apache.cxf.cxf-api - 2 .6.2.SNAPSHOT | Interceptor for {http://www.talend.org/service/}DemoService#{http://www.talend.org/service/}DemoServiceO peration has thrown exception, unwinding now org.apache.cxf.interceptor.Fault: Current state not START_ELEMENT, END_ELEMENT or ENTITY_REFERENCE at org.apache.camel.component.cxf.CxfConsumer$1.checkFailure(CxfConsumer.java:194)[166:org.apache.camel.camel-cx f:2.9.3.SNAPSHOT] at org.apache.camel.component.cxf.CxfConsumer$1.setResponseBack(CxfConsumer.java:174)[166:org.apache.camel.camel -cxf:2.9.3.SNAPSHOT] at org.apache.camel.component.cxf.CxfConsumer$1.asyncInvoke(CxfConsumer.java:103)[166:org.apache.camel.camel-cxf :2.9.3.SNAPSHOT] at org.apache.camel.component.cxf.CxfConsumer$1.invoke(CxfConsumer.java:68)[166:org.apache.camel.camel-cxf:2.9.3 .SNAPSHOT] at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)[110:org.apache. cxf.cxf-api:2.6.2.SNAPSHOT] at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:94)[110:org .apache.cxf.cxf-api:2.6.2.SNAPSHOT] at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262)[110:org.apache.cxf.cxf -api:2.6.2.SNAPSHOT] at org.apache.cxf.phase.PhaseInterceptorChain.resume(PhaseInterceptorChain.java:231)[110:org.apache.cxf.cxf-api: 2.6.2.SNAPSHOT] at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:78)[110:org.apache.cx f.cxf-api:2.6.2.SNAPSHOT] at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:348)[132:or g.apache.cxf.cxf-rt-transports-http-jetty:2.6.2.SNAPSHOT] at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:312)[132:org.apa che.cxf.cxf-rt-transports-http-jetty:2.6.2.SNAPSHOT] at org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:72)[132:org.apache.cxf.cxf- rt-transports-http-jetty:2.6.2.SNAPSHOT] at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:943)[60:org.eclipse.jetty.server :7.5.4.v20111024] at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:879)[60:org.eclipse.jetty.server: 7.5.4.v20111024] at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)[60:org.eclipse.jetty.server:7.5 .4.v20111024] at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:188)[60:org.ec lipse.jetty.server:7.5.4.v20111024] at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110)[60:org.eclipse.jetty.server:7 .5.4.v20111024] at org.eclipse.jetty.server.Server.handleAsync(Server.java:394)[60:org.eclipse.jetty.server:7.5.4.v20111024] at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:446)[60:org.eclipse.jetty.server:7. 5.4.v20111024] at org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:936)[60:org.eclipse.jetty. server:7.5.4.v20111024] at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:801)[56:org.eclipse.jetty.http:7.5.4.v20111024] at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:224)[56:org.eclipse.jetty.http:7.5.4.v201110 24] at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:51)[60:org.eclipse.jetty.server: 7.5.4.v20111024] at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:586)[55:org.eclipse.jetty.io :7.5.4.v20111024] at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:44)[55:org.eclipse.jetty.io:7 .5.4.v20111024] at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:598)[54:org.eclipse.jetty.util:7. 5.4.v20111024] at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:533)[54:org.eclipse.jetty.util:7.5 .4.v20111024] at java.lang.Thread.run(Thread.java:619)[:1.6.0_17] Caused by: java.lang.IllegalStateException: Current state not START_ELEMENT, END_ELEMENT or ENTITY_REFERENCE at com.ctc.wstx.sr.BasicStreamReader.getLocalName(BasicStreamReader.java:744)[103:woodstox-core-asl:4.1.2] at org.apache.cxf.staxutils.DepthXMLStreamReader.getLocalName(DepthXMLStreamReader.java:106)[110:org.apache.cxf. cxf-api:2.6.2.SNAPSHOT] at org.apache.cxf.staxutils.DepthXMLStreamReader.getLocalName(DepthXMLStreamReader.java:106)[110:org.apache.cxf. cxf-api:2.6.2.SNAPSHOT] at org.apache.camel.component.cxf.CxfEndpoint$CamelCxfClientImpl.findName(CxfEndpoint.java:921)[166:org.apache.c amel.camel-cxf:2.9.3.SNAPSHOT] at org.apache.camel.component.cxf.CxfEndpoint$CamelCxfClientImpl.setParameters(CxfEndpoint.java:866)[166:org.apa che.camel.camel-cxf:2.9.3.SNAPSHOT] at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:511)[110:org.apache.cxf.cxf-api:2.6.2.SNAPSHOT] at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:457)[110:org.apache.cxf.cxf-api:2.6.2.SNAPSHOT] at org.apache.camel.component.cxf.CxfProducer.process(CxfProducer.java:113)[166:org.apache.camel.camel-cxf:2.9.3 .SNAPSHOT] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[161:org.apache.camel.camel-c ore:2.9.3.SNAPSHOT] at org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:115)[161:org.apache.camel.cam el-core:2.9.3.SNAPSHOT] at org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:285)[161:org.apache.camel.camel-core :2.9.3.SNAPSHOT] at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:110)[161:org.apache.camel.camel-core:2.9. 3.SNAPSHOT] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[161:org.apache.camel.camel-c ore:2.9.3.SNAPSHOT] at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)[161:org.apache. camel.camel-core:2.9.3.SNAPSHOT] at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[161:org.apache.came l.camel-core:2.9.3.SNAPSHOT] at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:71)[161:org.apache .camel.camel-core:2.9.3.SNAPSHOT] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[161:org.apache.camel.camel-c ore:2.9.3.SNAPSHOT] at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)[161:org.apache. camel.camel-core:2.9.3.SNAPSHOT] at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[161:org.apache.came l.camel-core:2.9.3.SNAPSHOT] at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:91)[161:org.apache.came l.camel-core:2.9.3.SNAPSHOT] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[161:org.apache.camel.camel-c ore:2.9.3.SNAPSHOT] at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:330)[161:or g.apache.camel.camel-core:2.9.3.SNAPSHOT] at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:220)[161:org.apache.cam el.camel-core:2.9.3.SNAPSHOT] at org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45)[161:org.apache.ca mel.camel-core:2.9.3.SNAPSHOT] at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[161:org.apache.came l.camel-core:2.9.3.SNAPSHOT] at org.apache.camel.processor.interceptor.DefaultChannel.process(DefaultChannel.java:304)[161:org.apache.camel.c amel-core:2.9.3.SNAPSHOT] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[161:org.apache.camel.camel-c ore:2.9.3.SNAPSHOT] at org.apache.camel.processor.Pipeline.process(Pipeline.java:117)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT ] at org.apache.camel.processor.Pipeline.process(Pipeline.java:80)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] at org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45)[161:org.apache.ca mel.camel-core:2.9.3.SNAPSHOT] at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[161:org.apache.came l.camel-core:2.9.3.SNAPSHOT] at org.apache.camel.processor.UnitOfWorkProcessor.processAsync(UnitOfWorkProcessor.java:150)[161:org.apache.came l.camel-core:2.9.3.SNAPSHOT] at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:117)[161:org.apache.camel.cam el-core:2.9.3.SNAPSHOT] at org.apache.camel.processor.RouteInflightRepositoryProcessor.processNext(RouteInflightRepositoryProcessor.java :50)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[161:org.apache.came l.camel-core:2.9.3.SNAPSHOT] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[161:org.apache.camel.camel-c ore:2.9.3.SNAPSHOT] at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)[161:org.apache. camel.camel-core:2.9.3.SNAPSHOT] at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[161:org.apache.came l.camel-core:2.9.3.SNAPSHOT] at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:71)[161:org.apache .camel.camel-core:2.9.3.SNAPSHOT] at org.apache.camel.component.cxf.CxfConsumer$1.asyncInvoke(CxfConsumer.java:88)[166:org.apache.camel.camel-cxf: 2.9.3.SNAPSHOT] at org.apache.camel.component.cxf.CxfConsumer$1.invoke(CxfConsumer.java:68)[166:org.apache.camel.camel-cxf:2.9.3 .SNAPSHOT] at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)[110:org.apache. cxf.cxf-api:2.6.2.SNAPSHOT] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)[:1.6.0_17] at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)[:1.6.0_17] at java.util.concurrent.FutureTask.run(FutureTask.java:138)[:1.6.0_17] at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)[110:org.apache.cxf.cxf-api: 2.6.2.SNAPSHOT] at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:107)[110:or g.apache.cxf.cxf-api:2.6.2.SNAPSHOT] at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262)[110:org.apache.cxf.cxf -api:2.6.2.SNAPSHOT] at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)[110:org.apache.c xf.cxf-api:2.6.2.SNAPSHOT] at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:348)[132:or g.apache.cxf.cxf-rt-transports-http-jetty:2.6.2.SNAPSHOT] at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:312)[132:org.apa che.cxf.cxf-rt-transports-http-jetty:2.6.2.SNAPSHOT] at org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:72)[132:org.apache.cxf.cxf- rt-transports-http-jetty:2.6.2.SNAPSHOT] at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:943)[60:org.eclipse.jetty.server :7.5.4.v20111024] at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:879)[60:org.eclipse.jetty.server: 7.5.4.v20111024] at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)[60:org.eclipse.jetty.server:7.5 .4.v20111024] at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)[60:org.ec lipse.jetty.server:7.5.4.v20111024] at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110)[60:org.eclipse.jetty.server:7 .5.4.v20111024] at org.eclipse.jetty.server.Server.handle(Server.java:349)[60:org.eclipse.jetty.server:7.5.4.v20111024] at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:441)[60:org.eclipse.jetty.server:7. 5.4.v20111024] ... 9 more 2012-07-24 17:40:57,116 | WARN | JobServerCleaner | AbstractDataCleaner | 184 - org.talend.utils - 5.1.1 | pathDir is not a directory: F:\tos\Talend-Runtime-V5.2.0-SNAPSHOT\.\TalendJobServersFiles\archiveJobs {noformat} Runtime: 5.2.0-SNAPSHOT_EE_443 Studio: Talend-Studio-r87933-V5.2.0NB1
487TESB-6625New Icon and Doc for cBeanRegister componentNULL1
488TESB-6667fix examples/talend/camel/spring-securityNULL1
489TESB-6674Publishing in Archiva should be enhanced to publish specific Talend artifact versionWe have an Talend artifact named ConsumerDoOneway that exists in version _0.4_. When we publish it using Studio, we will get an artifact with version _0.4.0_ in Archiva (simply, because the publish dialog requires a version that contains three numbers), but when using commandline {noformat} publishJob ConsumerDoOneway -r http://artifactrepo:8082/archiva/repository/repo-release -u XYZ -p XYZ -g org.example -v 0.4;{noformat} we will get version _0.4_ on the Archiva repo. Actually it should not matter which way we use: we should end up with the same version in Archiva. So in both cases the created artifact in Archiva should have version _0.4.0_ We should align both UI and CL publishing features to allow specification of both Talend artifact version and Archiva artifact version.2
490TESB-6683Error on retrieving constructor for proxy of karaf BlueprintCommand class on jdk 6 update 33 (e.g. this could affect Camel Routes with cCXF )The source of the issue was analysed and is documented and related to https://issues.apache.org/jira/browse/ARIES-861. (also a bit related to this issue is: https://issues.apache.org/jira/browse/KARAF-1547 (at least it is also related to the 1.6.0_33 or higher only) ---------------- When I enable SAM feature on a cxf component and try to deploy it in the runtime, I get the following exception : 15:42:53,236 | ERROR | rint Extender: 2 | lueprint.container.ServiceRecipe 302 | 10 - org.apache.aries.blueprint - 0.3.1 | Error retrieving service from ServiceRecipe[name='.component-1'] org.osgi.service.blueprint.container.ComponentDefinitionException: java.lang.VerifyError: (class: org/talend/esb/sam/agent/feature/$EventFeature1384923374, method: <init> signature: (Ljava/lang/reflect/InvocationHandler;)V) Call to wrong initialization method org.apache.aries.blueprint.container.ReferenceRecipe.internalCreate(ReferenceRecipe.java:98) org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:64) org.apache.aries.blueprint.di.RefRecipe.internalCreate(RefRecipe.java:60) org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:64) org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe.java:799) org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:773) org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRecipe.java:754) org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:720) org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:64) org.apache.aries.blueprint.di.RefRecipe.internalCreate(RefRecipe.java:60) org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:64) org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:219) org.apache.aries.blueprint.container.BlueprintRepository.createInstance(BlueprintRepository.java:198) org.apache.aries.blueprint.container.BlueprintRepository.create(BlueprintRepository.java:137) org.apache.aries.blueprint.container.ServiceRecipe.createRecipe(ServiceRecipe.java:370)[10:org.apache.aries.blueprint:0.3.1] org.apache.aries.blueprint.container.ServiceRecipe.createService(ServiceRecipe.java:278)[10:org.apache.aries.blueprint:0.3.1] org.apache.aries.blueprint.container.ServiceRecipe.internalGetService(ServiceRecipe.java:248)[10:org.apache.aries.blueprint:0.3.1] org.apache.aries.blueprint.container.ServiceRecipe.getService(ServiceRecipe.java:327)[10:org.apache.aries.blueprint:0.3.1] org.apache.aries.blueprint.container.ServiceRecipe$TriggerServiceFactory.getService(ServiceRecipe.java:430) org.eclipse.osgi.internal.serviceregistry.ServiceUse$1.run(ServiceUse.java:120)[osgi-3.6.2.R36x_v20110210.jar:] java.security.AccessController.doPrivileged(Native Method)[:1.6.0_33] org.eclipse.osgi.internal.serviceregistry.ServiceUse.getService(ServiceUse.java:118)[osgi-3.6.2.R36x_v20110210.jar:] org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:447)[osgi-3.6.2.R36x_v20110210.jar:] org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.getService(ServiceRegistry.java:430)[osgi-3.6.2.R36x_v20110210.jar:] org.eclipse.osgi.framework.internal.core.BundleContextImpl.getService(BundleContextImpl.java:667)[osgi-3.6.2.R36x_v20110210.jar:] org.talend.esb.job.controller.internal.JobTracker$Customizer.addingService(JobTracker.java:107)[179:org.talend.esb.job.controller:5.1.1] org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:896)[karaf.jar:2.2.6] org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:261)[karaf.jar:2.2.6] org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:233)[karaf.jar:2.2.6] org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:840)[karaf.jar:2.2.6] org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:104)[osgi-3.6.2.R36x_v20110210.jar:] org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:933)[osgi-3.6.2.R36x_v20110210.jar:] org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)[osgi-3.6.2.R36x_v20110210.jar:] org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149)[osgi-3.6.2.R36x_v20110210.jar:] org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:756)[osgi-3.6.2.R36x_v20110210.jar:] org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:711)[osgi-3.6.2.R36x_v20110210.jar:] org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130)[osgi-3.6.2.R36x_v20110210.jar:] org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:206)[osgi-3.6.2.R36x_v20110210.jar:] org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:507)[osgi-3.6.2.R36x_v20110210.jar:] org.apache.aries.blueprint.container.BlueprintContainerImpl.registerService(BlueprintContainerImpl.java:404)[10:org.apache.aries.blueprint:0.3.1] org.apache.aries.blueprint.container.ServiceRecipe.register(ServiceRecipe.java:184)[10:org.apache.aries.blueprint:0.3.1] org.apache.aries.blueprint.container.BlueprintContainerImpl.registerServices(BlueprintContainerImpl.java:662)[10:org.apache.aries.blueprint:0.3.1] org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:330)[10:org.apache.aries.blueprint:0.3.1] org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:227)[10:org.apache.aries.blueprint:0.3.1] java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)[:1.6.0_33] java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)[:1.6.0_33] java.util.concurrent.FutureTask.run(FutureTask.java:138)[:1.6.0_33] java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)[:1.6.0_33] java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)[:1.6.0_33] java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)[:1.6.0_33] java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)[:1.6.0_33] java.lang.Thread.run(Thread.java:680)[:1.6.0_33] Caused by: java.lang.VerifyError: (class: org/talend/esb/sam/agent/feature/$EventFeature1384923374, method: <init> signature: (Ljava/lang/reflect/InvocationHandler;)V) Call to wrong initialization method java.lang.Class.getDeclaredConstructors0(Native Method)[:1.6.0_33] java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)[:1.6.0_33] java.lang.Class.getConstructor0(Class.java:2699)[:1.6.0_33] java.lang.Class.getConstructor(Class.java:1657)[:1.6.0_33] org.apache.aries.proxy.impl.gen.ProxySubclassGenerator.newProxySubclassInstance(ProxySubclassGenerator.java:159) org.apache.aries.proxy.impl.AsmProxyManager.createNewProxy(AsmProxyManager.java:81) org.apache.aries.proxy.impl.AbstractProxyManager.createProxy(AbstractProxyManager.java:50) org.apache.aries.proxy.impl.AbstractProxyManager.createProxy(AbstractProxyManager.java:39) org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe.createProxy(AbstractServiceReferenceRecipe.java:236) org.apache.aries.blueprint.container.ReferenceRecipe.internalCreate(ReferenceRecipe.java:82) ... 51 more 15:42:53,288 | ERROR | rint Extender: 2 | container.BlueprintContainerImpl 358 | 10 - org.apache.aries.blueprint - 0.3.1 | Unable to start blueprint container for bundle talproject1.ProxyMNT org.osgi.service.blueprint.container.ComponentDefinitionException: java.lang.VerifyError: (class: org/talend/esb/sam/agent/feature/$EventFeature1384923374, method: <init> signature: (Ljava/lang/reflect/InvocationHandler;)V) Call to wrong initialization method org.apache.aries.blueprint.container.ReferenceRecipe.internalCreate(ReferenceRecipe.java:98)[10:org.apache.aries.blueprint:0.3.1] org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:64)[10:org.apache.aries.blueprint:0.3.1] org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:219)[10:org.apache.aries.blueprint:0.3.1] org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:147)[10:org.apache.aries.blueprint:0.3.1] org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:640)[10:org.apache.aries.blueprint:0.3.1] org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:331)[10:org.apache.aries.blueprint:0.3.1] org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:227)[10:org.apache.aries.blueprint:0.3.1] java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)[:1.6.0_33] java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)[:1.6.0_33] java.util.concurrent.FutureTask.run(FutureTask.java:138)[:1.6.0_33] java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)[:1.6.0_33] java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:206)[:1.6.0_33] java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)[:1.6.0_33] java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)[:1.6.0_33] java.lang.Thread.run(Thread.java:680)[:1.6.0_33] Caused by: java.lang.VerifyError: (class: org/talend/esb/sam/agent/feature/$EventFeature1384923374, method: <init> signature: (Ljava/lang/reflect/InvocationHandler;)V) Call to wrong initialization method java.lang.Class.getDeclaredConstructors0(Native Method)[:1.6.0_33] java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)[:1.6.0_33] java.lang.Class.getConstructor0(Class.java:2699)[:1.6.0_33] java.lang.Class.getConstructor(Class.java:1657)[:1.6.0_33] org.apache.aries.proxy.impl.gen.ProxySubclassGenerator.newProxySubclassInstance(ProxySubclassGenerator.java:159) org.apache.aries.proxy.impl.AsmProxyManager.createNewProxy(AsmProxyManager.java:81) org.apache.aries.proxy.impl.AbstractProxyManager.createProxy(AbstractProxyManager.java:50) org.apache.aries.proxy.impl.AbstractProxyManager.createProxy(AbstractProxyManager.java:39) org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe.createProxy(AbstractServiceReferenceRecipe.java:236)[10:org.apache.aries.blueprint:0.3.1] org.apache.aries.blueprint.container.ReferenceRecipe.internalCreate(ReferenceRecipe.java:82)[10:org.apache.aries.blueprint:0.3.1] ... 14 more 1
491TESB-6700Routes deployed in container do not accept correct messageWe are faced with the situation that our route related nightly system tests (using cCXF component to "proxy" a message between a consumer and a provider) are failing with the following exception (on point in which the message arrives the "provider side" of the route, hence the left side cCXF component): {noformat} 07:00:34,127 | ERROR | tp1173184527-286 | rg.apache.camel.util.CamelLogger 215 | 161 - org.apache.camel.camel-core - 2.9.3.SNAPSHOT | Failed delivery for (MessageId: ID-sop-td81-servicebackbone-org-60099-1344315609601-0-2 on ExchangeId: ID-sop-td81-servicebackbone-org-60099-1344315609601-0-1). Exhausted after delivery attempt: 1 caught: java.lang.IllegalArgumentException: The PayLoad elements cannot fit with the message parts of the BindingOperation. Please check the BindingOperation and PayLoadMessage. java.lang.IllegalArgumentException: The PayLoad elements cannot fit with the message parts of the BindingOperation. Please check the BindingOperation and PayLoadMessage. org.apache.camel.component.cxf.CxfEndpoint$CamelCxfClientImpl.setParameters(CxfEndpoint.java:876)[166:org.apache.camel.camel-cxf:2.9.3.SNAPSHOT] org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:511)[110:org.apache.cxf.cxf-api:2.6.2.SNAPSHOT] org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:457)[110:org.apache.cxf.cxf-api:2.6.2.SNAPSHOT] org.apache.camel.component.cxf.CxfProducer.process(CxfProducer.java:113)[166:org.apache.camel.camel-cxf:2.9.3.SNAPSHOT] org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:115)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:285)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.processor.SendProcessor.process(SendProcessor.java:110)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:71)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:91)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:330)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:220)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.processor.interceptor.DefaultChannel.process(DefaultChannel.java:304)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.processor.Pipeline.process(Pipeline.java:117)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.processor.Pipeline.process(Pipeline.java:80)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.processor.UnitOfWorkProcessor.processAsync(UnitOfWorkProcessor.java:150)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:117)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.processor.RouteInflightRepositoryProcessor.processNext(RouteInflightRepositoryProcessor.java:50)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:71)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.component.cxf.CxfConsumer$1.asyncInvoke(CxfConsumer.java:88)[166:org.apache.camel.camel-cxf:2.9.3.SNAPSHOT] org.apache.camel.component.cxf.CxfConsumer$1.invoke(CxfConsumer.java:68)[166:org.apache.camel.camel-cxf:2.9.3.SNAPSHOT] org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)[110:org.apache.cxf.cxf-api:2.6.2.SNAPSHOT] java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)[:1.7.0_05] java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)[:1.7.0_05] java.util.concurrent.FutureTask.run(FutureTask.java:166)[:1.7.0_05] org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)[110:org.apache.cxf.cxf-api:2.6.2.SNAPSHOT] org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:107)[110:org.apache.cxf.cxf-api:2.6.2.SNAPSHOT] org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262)[110:org.apache.cxf.cxf-api:2.6.2.SNAPSHOT] org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)[110:org.apache.cxf.cxf-api:2.6.2.SNAPSHOT] org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:348)[132:org.apache.cxf.cxf-rt-transports-http-jetty:2.6.2.SNAPSHOT] org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:312)[132:org.apache.cxf.cxf-rt-transports-http-jetty:2.6.2.SNAPSHOT] org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:72)[132:org.apache.cxf.cxf-rt-transports-http-jetty:2.6.2.SNAPSHOT] org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:943)[60:org.eclipse.jetty.server:7.5.4.v20111024] org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:879)[60:org.eclipse.jetty.server:7.5.4.v20111024] org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)[60:org.eclipse.jetty.server:7.5.4.v20111024] org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)[60:org.eclipse.jetty.server:7.5.4.v20111024] org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110)[60:org.eclipse.jetty.server:7.5.4.v20111024] org.eclipse.jetty.server.Server.handle(Server.java:349)[60:org.eclipse.jetty.server:7.5.4.v20111024] org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:441)[60:org.eclipse.jetty.server:7.5.4.v20111024] org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:936)[60:org.eclipse.jetty.server:7.5.4.v20111024] org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:801)[56:org.eclipse.jetty.http:7.5.4.v20111024] org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:224)[56:org.eclipse.jetty.http:7.5.4.v20111024] org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:51)[60:org.eclipse.jetty.server:7.5.4.v20111024] org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:586)[55:org.eclipse.jetty.io:7.5.4.v20111024] org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:44)[55:org.eclipse.jetty.io:7.5.4.v20111024] org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:598)[54:org.eclipse.jetty.util:7.5.4.v20111024] org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:533)[54:org.eclipse.jetty.util:7.5.4.v20111024] java.lang.Thread.run(Thread.java:722)[:1.7.0_05] {noformat} If we start the same route in studio -- it works correctly. We have not changed the test messages we are using in system test. It was working well before. Some details about the route configuration we use: - message format: payload - wsdl is specified as "file" type and taken from url to wsdl of service which used by route as destination. I'm attaching simple example which reproduces the problem. - example_project.zip : contains wsdl, xml with model, standalone runners for provider and consumer - RouteStandardTestServiceProxy_0.4.kar : compiled route which could be used for reproducing - route_model.zip : items exported from studio 2
492TESB-6707build error when build examplesGot build error when build examples: (Win 7, 64-bit, Java 7, 64-bit) Results : Tests in error: testManagementExample(org.talend.esb.camel.example.management.ManagementExampleTest): Unexpected exception p arsing XML document from class path resource [META-INF/spring/camel-context.xml]; nested exception is java.lan g.NullPointerException Tests run: 1, Failures: 0, Errors: 1, Skipped: 0 [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary: [INFO] [INFO] Talend ESB Runtime :: Examples parent ............. SUCCESS [0.221s] [INFO] Talend ESB Runtime :: Examples .................... SUCCESS [0.015s] [INFO] Talend ESB Runtime Examples :: Rent-a-Car ......... SUCCESS [0.110s] [INFO] CRMService ........................................ SUCCESS [0.015s] [INFO] CRMService Common ................................. SUCCESS [8.083s] [INFO] CRMService Service ................................ SUCCESS [2.600s] [INFO] CRMService Service Endpoint JMX ................... SUCCESS [2.310s] [INFO] CRMService Client ................................. SUCCESS [1.380s] [INFO] ReservationService ................................ SUCCESS [0.040s] [INFO] ReservationService Common ......................... SUCCESS [6.375s] [INFO] ReservationService Service ........................ SUCCESS [1.800s] [INFO] ReservationService Client ......................... SUCCESS [1.390s] [INFO] ReservationService Service Endpoint JMX ........... SUCCESS [0.900s] [INFO] App Reservation ................................... SUCCESS [2.512s] [INFO] Talend ESB Runtime :: Example Features ............ SUCCESS [0.020s] [INFO] Talend ESB Runtime :: Example JMX Features ........ SUCCESS [0.210s] [INFO] Talend ESB Runtime Examples :: Locator Example .... SUCCESS [0.020s] [INFO] Locator Demo Common ............................... SUCCESS [3.250s] [INFO] Locator Demo Client ............................... SUCCESS [2.170s] [INFO] Locator Demo Server ............................... SUCCESS [3.210s] [INFO] Locator Demo Webapp ............................... SUCCESS [4.573s] [INFO] Locator Service Examples .......................... SUCCESS [0.031s] [INFO] Locator Service Examples :: Rest Service .......... SUCCESS [0.031s] [INFO] Locator Service Examples :: Rest Service :: Client SUCCESS [2.256s] [INFO] Locator Service Examples :: Rest Service :: WebClient SUCCESS [1.870s] [INFO] Locator Service Examples :: Soap Service .......... SUCCESS [0.010s] [INFO] Locator Service Examples :: Soap Service :: Common SUCCESS [3.000s] [INFO] Locator Service Examples :: Soap Service :: Client SUCCESS [3.080s] [INFO] Locator Service Examples :: Soap Service :: Service SUCCESS [2.710s] [INFO] Locator Service Examples :: Soap Service :: Webapp SUCCESS [3.790s] [INFO] Talend ESB Runtime Examples :: SAM Example ........ SUCCESS [0.020s] [INFO] Service Activity Monitoring :: Example Client ..... SUCCESS [7.750s] [INFO] Service Activity Monitoring :: Example Service .... SUCCESS [8.546s] [INFO] Service Activity Monitoring :: Example Service2 ... SUCCESS [10.019s] [INFO] Service Activity Monitoring :: Example Service OSGi SUCCESS [8.100s] [INFO] Service Activity Monitoring :: Server Jetty ....... SUCCESS [0.740s] [INFO] Talend ESB Runtime Examples :: CXF JMX Example .... SUCCESS [0.020s] [INFO] Talend ESB Runtime::CXF JMX Example Common ........ SUCCESS [2.190s] [INFO] Talend ESB Runtime::CXF JMX Example Service ....... SUCCESS [2.590s] [INFO] Talend ESB Runtime::CXF JMX Example Client ........ SUCCESS [1.100s] [INFO] Talend ESB Runtime::CXF JMX Example WebApp ........ SUCCESS [1.970s] [INFO] Talend ESB Runtime::CXF JMX Example Feature ....... SUCCESS [0.190s] [INFO] Talend ESB Runtime Examples :: Camel JMX Example .. SUCCESS [0.040s] [INFO] Talend ESB Runtime::Camel JMX OSGI Example ........ FAILURE [7.080s] [INFO] Talend ESB Runtime::Camel JMX Example Feature ..... SKIPPED But If switched to Java 6, the error gone and build successfully.2
493TESB-6710When adding the sam feature to the cxf bus instead of a single endpoint the monitoring service call is logged and goes into recursionNormally the evenFeature is added into the endpoint or client. In some cases it makes sense to simply add the feature to the cxf bus. For example when using the camel from("cxf:address") there is no endpoint bean to add the sam feature to. So you add the evenFeature into <cxf:bus><cxf:features> <ref bean="eventFeature"/> </cxf:features></cxf:bus> In this case every service call triggers the monitoring service call. Then the monitoring service call triggers the monitoring which triggers the monitoring .... So a simple solution would be to filter out all service calls that originate from the monitoring service. This would make the above case simpler and even allow to offer the monitoring feature as a osgi service to enable it for all cxf services in a tesb runtime.2
494TESB-6715"alias is already in use" exception in talend/cxf/jaxrs-jaxws-transformations exampleDeploying the service into the TESB OSGi container with karaf@trun> features:install war karaf@trun> features:install talend-cxf-example-jaxrs-jaxws-transformations leads to a exception to be found in container/log/tesb.log: 10:00:38,729 | ERROR | l Console Thread | internal.RegisterWebAppVisitorWC 146 | 191 - org.ops4j.pax.web.pax-web-extender-war - 1.0.11 | Registration exception. Skipping. org.osgi.service.http.NamespaceException: alias is already in use in this or another context org.ops4j.pax.web.service.spi.model.ServerModel.addServletModel(ServerModel.java:121)[70:org.ops4j.pax.web.pax-web-spi:1.0.11] org.ops4j.pax.web.service.internal.HttpServiceStarted.registerResources(HttpServiceStarted.java:172)[71:org.ops4j.pax.web.pax-web-runtime:1.0.11] ... example works fine using war deployment. 2
495TESB-6727Upgrade to ActiveMQ 5.7.0The versions of the ActiveMQ package delivered with TESB but also the version of the ActiveMQ embedded in the runtime should be upgraded to 5.6.0. All our samples related in some way to ActiveMQ should also be tested.2
496TESB-6728Move to the release versions for the Apache projectsUse the release versions for CXF, Camel and Karaf as soon as they are available.2
497TESB-6729Extend registry for policy documents.Extend the registry server to be able to upload external policy attachment documents and policy assertion documents, to delete them. Also lookup of the attachment documents which belong to a specific service shoud be possible. Extend the descriptions for the content model and the REST interface in wiki. 5
498TESB-6781Route cannot get the specific exception thrown by the referenced jobIn studio build V5.2.0NB_r89461. Route is using cTalendJob and cOnException components, then the referenced job throw a technical exception such as RuntimeException with corresponding cause, but on route side cannot get the exception with corresponding cause specified in the referenced job. In cOnException component, specify to handle exceptions including java.lang.Exception and java.lang.Error. Please see the sample "TestcTalendThrowException.zip" in attachment, then run this route "TestcTalendThrowException", the exception log on route side as below: {noformat} --------------Message body in Talend Job-------------- the message body in talend job is : TestcTalendJob20120823-Exception ------------------------End------------------------ Exception in component tJavaRow_1 java.lang.RuntimeException: TestcTalendJob20120823-Exception mfshen20120822.ctalendjobthrowexception_0_4.cTalendJobThrowException.tRouteInput_1Process(cTalendJobThrowException.java:637) mfshen20120822.ctalendjobthrowexception_0_4.cTalendJobThrowException.runJobInTOS(cTalendJobThrowException.java:911) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) org.apache.camel.util.ObjectHelper.invokeMethod(ObjectHelper.java:876) org.talend.camel.TalendProducer.invokeTalendJob(TalendProducer.java:68) org.talend.camel.TalendProducer.process(TalendProducer.java:44) org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61) org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:115) org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:285) org.apache.camel.processor.SendProcessor.process(SendProcessor.java:110) org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:71) org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:91) org.apache.camel.processor.interceptor.HandleFaultInterceptor.process(HandleFaultInterceptor.java:41) org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:333) org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:223) org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45) org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) org.apache.camel.processor.interceptor.DefaultChannel.process(DefaultChannel.java:304) org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) org.apache.camel.processor.Pipeline.process(Pipeline.java:117) org.apache.camel.processor.Pipeline.process(Pipeline.java:80) org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45) org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) org.apache.camel.processor.UnitOfWorkProcessor.processAsync(UnitOfWorkProcessor.java:150) org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:117) org.apache.camel.processor.RouteInflightRepositoryProcessor.processNext(RouteInflightRepositoryProcessor.java:50) org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:71) org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:99) org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:86) org.apache.camel.component.timer.TimerConsumer.sendTimerExchange(TimerConsumer.java:134) org.apache.camel.component.timer.TimerConsumer$1.run(TimerConsumer.java:63) java.util.TimerThread.mainLoop(Timer.java:512) java.util.TimerThread.run(Timer.java:462) ---------------Exception message in Route--------------- Execution of Talend job 'mfshen20120822.ctalendjobthrowexception_0_4.cTalendJobThrowException' with args: [--context=Default, --context_param firedTime=Thu Aug 23 11:33:20 CST 2012, --context_param breadcrumbId=ID-mfshen-PC-50505-1345692799935-0-1]' failed, see stderr for details ---------------End--------------- {noformat} 1
499TESB-6786Smoke test for Bonita 5.7NULL2
500TESB-6787Improved build and packaging for Talend BPM RuntimeCurrent way to deliver Talend BPM has following advantages: * Simplicity and following disadvantages: * Tagging require build synchronization with Runtime build. * Talend BPM is delivered to all customers of Talend ESB EE. * Talend BPM can not be easily installed on Talend Runtime We need to fix disadvantages by keeping advantages ;) *Note:* We still need to deliver two 'kinds' of runtime, one Tomcat-based and one OSGi based.3
501TESB-6788Investigate Nexus APIs required for TAC use-casesAs you know TAC uses some internal Archiva REST APIs to allow TAC users simple navigation and selection of artifacts for deployment. TAC team need our support in investigating Nexus functionality and APIs to enable same functionality on top of Nexus. As a result of this backlog item we should produce a document (Wiki or any other kind) describing how to enable browsing and search on top of Nexus repository (if possible).3
502TESB-6789Talend BPM ImprovementsDuring the Sprint Review meeting on 15.08.2012 were gathered following improvement suggestions: * Rename Talend BPM features so that word 'bonita' will not be used. * For BPM start commands do not use tesb-* but use tbpm-* prefixes * Clarify process undeploy behavior and data archive removal * Add credentials to the deployer configuration file and make use of them in BPM deployer * Check possibilities to use BAR files as part of Karaf features, check possibilities to install BAR files as part of Features from the maven repository.2
503TESB-6790Expose BPM Process improvementsImprove expose BPM Process functionality: * Service that is starting a new process instance should (if possible) return a process identifier. Wizard Page improvements: * Add a new thread to finish loading BPM Process to avoid UI thread long-time wait. * When users click "back" button on one page and go to previous page, the contents of previous page should not change.2
504TESB-6791M3 Sprint Review improvement suggestionsComments on TESB-6448 * Let the documentation team review text on the Demo routes. * Add more routes to demonstrate 3 different scope / 3 different possibilities to use сErrorCatcher within a route (standalone, for a whole route, as part of the route flow) Comments on TESB-6455 * Put import statement dialog into Basic Settings of all components * Clarify the situation with resource names with points.2
505TESB-6864Expose BPM Process as Service menu should only be visible in EE with BPM LicenseSubj.1
506TESB-6871examples/talend/cxf/jaxrs-jaxws-transformations jaxws client fails under java 7examples/talend/cxf/jaxrs-jaxws-transformations has a problem with java 7. Reproduced under Windows 7 jdk 1.7.0_05 and Macos 10.6 jdk 1.7.0_08. After deploying the server component of the example in karaf, karaf may run under jdk 1.6 or 1.7: features:addurl mvn:org.talend.cxf-examples/osgi/1.0/xml/features karaf@trun> features:install war karaf@trun> features:install talend-cxf-example-jaxrs-jaxws-transformations execution of the client under jdk 1.7: mvn -Pjaxws -Dhttp.port=8040 causes the following exception: Aug 23, 2012 10:30:42 AM org.apache.cxf.service.factory.ReflectionServiceFactoryBean buildServiceFromWSDL INFO: Creating Service {http://customerservice.example.com/}CustomerServiceService from WSDL: file:/Users/dwolz/git/TESB_SE-V5.2.0-SNAPSHOT/examples/talend/cxf/jaxrs-jaxws-transformations/client/target/classes/CustomerService.wsdl Using old SOAP CustomerService with new client [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 6.766s [INFO] Finished at: Thu Aug 23 10:30:42 CEST 2012 [INFO] Final Memory: 21M/136M [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.2:java (default) on project jaxrs-jaxws-transformations-client: An exception occured while executing the Java class. null: InvocationTargetException: Unmarshalling Error: cvc-complex-type.2.4.a: Invalid content was found starting with element 'customerId'. One of '{"http://customer/v1":customerId}' is expected. -> [Help 1] 1
507TESB-6878Database schema configurable for SAMUsually the db client tells which database schema should be used instead of depending on the default schema assigned to a user. Right now, only the following parameters are configurable (example for derby): datasource.server=localhost datasource.port=1527 datasource.database=db datasource.createdatabase=create datasource.user=test datasource.password=test The configuration could look like this: datasource.schema=TEST 2
508TESB-6922Upgrade Apache componentsAs usual we upgrade to the latest versions of the Apache projects. For ESB 5.2 we will use the following versions. CXF 2.7.x Camel 2.10.x Karaf 2.3.x ActiveMQ 5.6.0 (already done) ZooKeeper 3.3.6 Cellar 2.2.5 For CXF, Camel, Karaf and Cellar we currently need to use SNAPSHOT versions.2
509TESB-6923Authentication / Authorization for Service LocatorCurrently access to the Service Locator server (aka ZooKeeper) is not not restricted at all. As an administrator I want to be able to restrict access to the content of the SL so that malicious modifications from unknown parties are prevented. ZooKeeper allows to restrict acces to node and content by setting ACL's for each node. ZooKeeper provides different authentication schemes , e.g. IP address or Digest. Digest is basically user name password authentication where password is digested. Drawback of the digest authentication scheme is the lack of a backend which really checks user logins. Currently every login is accepted. Fortunately ZooKeeper provides a way to implement and register own AuthenticationProviders. This feature is about a custom authentication scheme "sl" which is backed by a custom AuthenticationProvider based on JAAS login module. See http://zookeeper.apache.org/doc/r3.3.6/zookeeperProgrammers.html#sc_ZooKeeperPluggableAuthentication for more information about the AuthenticationProvider interface. The handleAuthentication is the method to validate authentication information by forwarding the id and credentials to the login module. To make the handling more flexible permissions ACL's attached to the nodes in ZooKeeper will not include users as identity, but roles. The matches method should be used to ensure whether the authenticated user has the role which is specified in the ACL. Therefore we need to provide roles in the JAAS backends for the users and evaluate whether the user has the required role. The following roles will be available - SL_READ - SL_MAINTAIN - SL_ALL The authentication feature is only relevant for ZooKeeper running within OSGi, not for the stand-alone version. A fragment bundle should be used to add the AuthenticationProvider to ZooKeeper. Whether authentication is enforced by the Service Locator server should be configurable. If authentication is not enabled 5.1 clients must run successfully against the 5.2 server. How to add user and roles for the Service locator and the additional parameters should be documented. 5
510TESB-6925SR: Provide an AtomPub collection resource for policies in the registryAs developer of clients for registries I like to have a standard based REST conform interface, so that the syntax and semantics is easy to grasp The Atom Publishing Protocol (AtomPub or APP) is an application-level protocol for publishing and editing Web resources. In this sense it nicely fits to the requirements of a client interface for the registry that folloes the REST style. As first step this feature is about the corresponding APP based interface for policy documents. The registry needs to provide a collection resource following the APP specification for policies. It must be possible to add, update and delete policies to the collection as specified in the spec. All mandatory meta data must be provided, especially the corresponding link elements. The policies itselve must be included within a content element as XML. We need to invent our own proprietary MIME media type for policy documents (if none yet exists) to be used as type attribute for the content element. ID's used within meta data or URL's must be opaque (no policy name). Also HTTP staus codes should be used as specified in the specs. Update documentation reflecting the new APP based interface. Especially provide sample requests and responses for the new interface. Document possible error situations and corresponding HTTP status codes.3
511TESB-6926Provide server based Service Locator initializerAs an administrator I want the creation of the initial structure to happen at start time of the locator server so that the locator node in ZooKeeper is immediatly secured. When the locator is started the first time the initial root node for the Service Locator has to be created first. Currently this is done by the first client accessing the server. If we need to ensure access restriction are set on this node creation by a client is not secure. Therefore we need to create a component delivered with the Service Locator server (aka ZooKeeper), which at startup checks wheter the root node is available and if not create it. Also if security is enabled the node must be secured. 2
512TESB-6928Enable authentication of Service Locator SOAP service and make it configurableAs an administrator I want to be able to also enforce authentication for the Service Locator SOAP service, so that also the service is secured not only the Service Locator server. The admin should been able to select between no authentication, user name token and SAML. The same policies as with data services can be used. Documentation about the ways to configure must be added in the infrastructure guide3
513TESB-6934cSetHeader: Add a table for multiple entriesHello, Currently whith the cSetHeader component, it's only possible to set one header. If I want to set several headers, I should: 1. link several cSetHeader in a route 2. Use a processor component and code my entries. Can you add a table in the cSetHeader component? It will be possible to set several headers with only one graphical component. 2
514TESB-6964Support for Nexus as artifact repository in Studio EE and CommandLineNULL2
515TESB-6966Failover and Transaction support for tMOM* componentsFailover and Transaction support for *tMOMInput* and *tMOMOutput*. Support should be limited to ActiveMQ only.2
516TESB-6967Support improved connection pooling for Data Servicesh3. Summary: Database connections are shared across multiple data services deployed at runtime and managed by system administrator. h3. Process and roles view There are two roles involved in development and deployment of the Data Service: *Job Designer* and *System Administrator*. These are participating in the Data Service design, development and deployment process as following: * Job Designer has a business problem to solve., Job designer is able to create a job and test it against a (local) test database. Job Designer do not know location and system details of the target environment (DB host name, username, password) as well as she is not aware about technical constraints of databases (number of concurrent connections). Job Designer uses check a checkbox on database connection component to enable shared connection pooling in Runtime and give a pre-defined connection pool alias. After that Data Service is published on Talend Artifact Repository. * System Administrator may not be aware about specific business problem, she is however know all the environment details (database host, port, username and password) as well as configuration details (number of concurrent connections). System Administrator configure a system pool under pre-defined alias and specify all required information (host, port, username/password, maximum number of concurrent connections and other pool properties and DB-specific configuration options). After that System Administrator uses TAC to deploy Data Service form Talend Artifact Repository. h3. Technical structure h4. Components # Talend Database components are passing around a specially designed *TalendDataSource* object instead of *java.sql.Connection*. # Instances of *TalendDataSource* should be stored in *global map*. # *TalendDataSource* object is responsible for holding a pre-configured *java.sql.DataSource*. # *TalendDataSource* will also provide a *java.sql.Connection* instance to when database components needs it and store this instance internally. # *TalendDataSource* will have a *closeConnection* method that will call a *java.sql.Connection#close* if *java.sql.Connection* is stored in *TalendDataSource* # After *TalendDataSource#close* method will be called *TalendDataSource* would need to use internal *java.sql.DataSource* to fetch a new instance of *java.sql.Connection* as soon as it will be required. h4. ESB Team # ESB Team will take care that when ESB request/response loop will be completed (successfully or with exception) all *TalendDataSource* found in global map will get their *closeConnection* method called. h5. Runtime Team # Runtime team will take care that necessary infrastructure is available at runtime and documentation, describing how to configure data source, is available.3
517TESB-6983Follow-up from the M4 Sprint Review meetingFollow up tasks: * TESB-6452 ** Clarify publishing on Ivy and overall integration of the ESB Runtime + BPM artifacts * TESB-6790 ** Change default value in the Studio wizard when connecting to BPM to 8040 ** Generated data service implementation and WSDL should have a necessary error handling in place ** Create a TUP Jira to fix the WSDL file association that WSDL Editor is opened for *.wsdl resources ** Follow-up with the component team for the necessary changes in tBonitaInstantiateProcess component http://jira.talendforge.org/browse/TDI-225372
518TESB-7042Route: RedeliveryPolicy and the option "useOriginalMessage" should not be used on DefaultErrorHandlerAccording to the documentation: http://camel.apache.org/exception-clause.html the Chapter "Configuring RedeliveryPolicy (redeliver options)" RedeliveryPolicy requires to use the Dead Letter Channel as the Error Handler. According to the documentation: http://camel.apache.org/dead-letter-channel.html the chapter "About moving Exchange to dead letter queue and using the original message" The option useOriginalMessage is used on Dead Letter Channel And http://camel.apache.org/defaulterrorhandler.html does not mention the option "useOriginalMessage".1
519TESB-7061TESB instances may hang during dependency resolutionWe have multiple TESB instances in ServiceLocator and SAM tests that frequently fail to create the spring application context and thus turn to be unresponsive after one or more restarts. * This problem happens with TESB 5.1.2 and with 5.2.0! * The instances are stopped using the stop script provided with the TESB, not by killing the process. * On the level of ServiceLocator tests we see this problem frequently (on most (all?) OS platform configurations used for the 5.1.2 release tests) ** with the infrastructure TESB that contains the serviceLocatorService (and no services created / provided by QA system tests. ** with a provider instance that contains a service created by QA (including parts of the QA framework) * We have seen such problems (RARELY) also with the provider used in the ESB test suite (which only consists of a standalone ActiveMQ, a consumer and a provider TESB) On the level of the SL infrastructure instance the problem burns down to: {quote} 17:34:00,299 | INFO | ExtenderThread-9 | BundleApplicationContextListener 45 | 91 - org.springframework.osgi.extender - 1.2.1 | Application context successfully refreshed (OsgiBundleXmlApplicationContext(bundle=locator, config=osgibundle:/META-INF/spring/*.xml)) 17:34:00,308 | INFO | ExtenderThread-8 | ory.ReflectionServiceFactoryBean 441 | 112 - org.apache.cxf.cxf-rt-core - 2.6.2 | Creating Service \{http://www.talend.org/esb/sam/MonitoringService/v1}MonitoringServiceService from class org.talend.esb.sam.monitoringservice.v1.MonitoringService 17:38:58,979 | WARN | Timer-0 | WaiterApplicationContextExecutor 445 | 91 - org.springframework.osgi.extender - 1.2.1 | Timeout occurred before finding service dependencies for [OsgiBundleXmlApplicationContext(bundle=org.talend.esb.job.controller, config=osgibundle:/META-INF/spring/*.xml)] 17:38:58,980 | INFO | Timer-0 | ort.DefaultSingletonBeanRegistry 422 | 84 - org.springframework.beans - 3.0.7.RELEASE | Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@2d41717f: defining beans [cxf,org.apache.cxf.bus.spring.BusWiringBeanFactoryPostProcessor,org.apache.cxf.bus.spring.Jsr250BeanPostProcessor,org.apache.cxf.bus.spring.BusExtensionPostProcessor,org.springframework.beans.factory.config.PropertyPlaceholderConfigurer#0,executorService,eventFeature,jobLauncher,jobTracker,endpointRegistry,policyProvider,providerFactory,org.springframework.osgi.service.exporter.support.OsgiServiceFactoryBean#0]; root of factory hierarchy {color:red} 17:38:58,982 | ERROR | Timer-0 | WaiterApplicationContextExecutor 424 | 91 - org.springframework.osgi.extender - 1.2.1 | Unable to create application context for [org.talend.esb.job.controller], unsatisfied dependencies: Dependency on [(objectClass=org.talend.esb.sam.agent.feature.EventFeature)] (from bean [&eventFeature]) org.springframework.context.ApplicationContextException: Application context initialization for 'org.talend.esb.job.controller' has timed out{color} org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.timeout(DependencyWaiterApplicationContextExecutor.java:454)[91:org.springframework.osgi.extender:1.2.1] org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.access$000(DependencyWaiterApplicationContextExecutor.java:50)[91:org.springframework.osgi.extender:1.2.1] org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$WatchDogTask.run(DependencyWaiterApplicationContextExecutor.java:105)[91:org.springframework.osgi.extender:1.2.1] java.util.TimerThread.mainLoop(Timer.java:512)[:1.6.0_29] java.util.TimerThread.run(Timer.java:462)[:1.6.0_29] 17:38:58,983 | ERROR | Timer-0 | BundleApplicationContextListener 50 | 91 - org.springframework.osgi.extender - 1.2.1 | Application context refresh failed (OsgiBundleXmlApplicationContext(bundle=org.talend.esb.job.controller, config=osgibundle:/META-INF/spring/*.xml)) org.springframework.context.ApplicationContextException: Application context initialization for 'org.talend.esb.job.controller' has timed out org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.timeout(DependencyWaiterApplicationContextExecutor.java:454)[91:org.springframework.osgi.extender:1.2.1] org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.access$000(DependencyWaiterApplicationContextExecutor.java:50)[91:org.springframework.osgi.extender:1.2.1] org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$WatchDogTask.run(DependencyWaiterApplicationContextExecutor.java:105)[91:org.springframework.osgi.extender:1.2.1] java.util.TimerThread.mainLoop(Timer.java:512)[:1.6.0_29] java.util.TimerThread.run(Timer.java:462)[:1.6.0_29] 17:43:58,219 | WARN | JobServerCleaner | .utils.files.AbstractDataCleaner 84 | 185 - org.talend.utils - 5.1.2 | pathDir is not a directory: /opt/TESB-QA-Workspace/Sandbox/infrastructure/locatorService/container/./TalendJobServersFiles/archiveJobs 17:53:58,220 | WARN | JobServerCleaner | .utils.files.AbstractDataCleaner 84 | 185 - org.talend.utils - 5.1.2 | pathDir is not a directory: /opt/TESB-QA-Workspace/Sandbox/infrastructure/locatorService/container/./TalendJobServersFiles/archiveJobs {quote} For SAM restarting results in two spring application context timeouts: {code} 12:15:54,626 | INFO | ExtenderThread-2 | WaiterApplicationContextExecutor 243 | 95 - org.springframework.osgi.extender - 1.2.1 | No outstanding OSGi service dependencies, completing initialization for OsgiBundleXmlApplicationContext(bundle=sam-agent, config=osgibundle:/META-INF/spring/*.xml) 12:15:54,649 | INFO | ExtenderThread-4 | tory.xml.XmlBeanDefinitionReader 315 | 88 - org.springframework.beans - 3.0.7.RELEASE | Loading XML bean definitions from URL [bundleentry://220.fwk185070685/config/jmx.xml] 12:15:54,707 | INFO | ExtenderThread-5 | ent.ExecutorConfigurationSupport 115 | 90 - org.springframework.context - 3.0.7.RELEASE | Initializing ExecutorService 12:15:54,707 | INFO | ExtenderThread-5 | Context$BeanPostProcessorChecker 122 | 90 - org.springframework.context - 3.0.7.RELEASE | Bean 'defaultExecutor' is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) 12:15:54,707 | INFO | ExtenderThread-5 | Context$BeanPostProcessorChecker 122 | 90 - org.springframework.context - 3.0.7.RELEASE | Bean 'defaultExecutor' is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) 12:15:54,745 | INFO | ExtenderThread-5 | ent.ExecutorConfigurationSupport 115 | 90 - org.springframework.context - 3.0.7.RELEASE | Initializing ExecutorService 'defaultScheduler' 12:15:54,745 | INFO | ExtenderThread-5 | Context$BeanPostProcessorChecker 122 | 90 - org.springframework.context - 3.0.7.RELEASE | Bean 'defaultScheduler' is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) 12:15:54,754 | INFO | ExtenderThread-5 | pport.DefaultListableBeanFactory 557 | 88 - org.springframework.beans - 3.0.7.RELEASE | Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@5ede0ae6: defining beans [cxf,org.apache.cxf.bus.spring.BusWiringBeanFactoryPostProcessor,org.apache.cxf.bus.spring.Jsr250BeanPostProcessor,org.apache.cxf.bus.spring.BusExtensionPostProcessor,org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,sam-agent-props,org.springframework.beans.factory.config.PropertyPlaceholderConfigurer#0,samQueue,eventFeature,eventCollector,org.springframework.scheduling.annotation.internalAsyncAnnotationProcessor,org.springframework.scheduling.annotation.internalScheduledAnnotationProcessor,defaultScheduler,defaultExecutor,monitoringServiceV1Client.proxyFactory,monitoringServiceV1Client,monitoringServceV1Wrapper,clientListener,serviceListener,org.springframework.osgi.service.exporter.support.OsgiServiceFactoryBean#0]; root of factory hierarchy 12:15:54,885 | INFO | ExtenderThread-4 | WaiterApplicationContextExecutor 243 | 95 - org.springframework.osgi.extender - 1.2.1 | No outstanding OSGi service dependencies, completing initialization for OsgiBundleXmlApplicationContext(bundle=tesb.test.participants.osgi.sam.provider, config=config/osgi.xml) 12:15:54,919 | INFO | ExtenderThread-6 | ent.ExecutorConfigurationSupport 115 | 90 - org.springframework.context - 3.0.7.RELEASE | Initializing ExecutorService 12:15:54,919 | INFO | ExtenderThread-6 | Context$BeanPostProcessorChecker 122 | 90 - org.springframework.context - 3.0.7.RELEASE | Bean 'defaultExecutor' is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) 12:15:54,920 | INFO | ExtenderThread-6 | Context$BeanPostProcessorChecker 122 | 90 - org.springframework.context - 3.0.7.RELEASE | Bean 'defaultExecutor' is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) 12:15:54,932 | INFO | ExtenderThread-6 | ent.ExecutorConfigurationSupport 115 | 90 - org.springframework.context - 3.0.7.RELEASE | Initializing ExecutorService 'defaultScheduler' 12:15:54,933 | INFO | ExtenderThread-6 | Context$BeanPostProcessorChecker 122 | 90 - org.springframework.context - 3.0.7.RELEASE | Bean 'defaultScheduler' is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) 12:15:54,936 | INFO | ExtenderThread-6 | pport.DefaultListableBeanFactory 557 | 88 - org.springframework.beans - 3.0.7.RELEASE | Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@15eae6fb: defining beans [cxf,org.apache.cxf.bus.spring.BusWiringBeanFactoryPostProcessor,org.apache.cxf.bus.spring.Jsr250BeanPostProcessor,org.apache.cxf.bus.spring.BusExtensionPostProcessor,org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,sam-agent-props,org.springframework.beans.factory.config.PropertyPlaceholderConfigurer#0,samQueue,eventFeature,eventCollector,org.springframework.scheduling.annotation.internalAsyncAnnotationProcessor,org.springframework.scheduling.annotation.internalScheduledAnnotationProcessor,defaultScheduler,defaultExecutor,monitoringServiceV1Client.proxyFactory,monitoringServiceV1Client,monitoringServceV1Wrapper,clientListener,serviceListener,cm_sam.provider.properties,propertyPlaceholder,groovyDelegateFactory,samTestServiceProviderBean,staticProperties,SamTestServiceProviderEndpoint,NoSamTestServiceProviderEndpoint,samTestServiceProviderJmsEndpoint,SamStandardTestServiceClient4SamNoMessageContentProviderNested.proxyFactory,SamStandardTestServiceClient4SamNoMessageContentProviderNested,SamStandardTestServiceJmsNoMsgContentClientNested.proxyFactory,SamStandardTestServiceJmsNoMsgContentClientNested,jmsConfigNoMsgContent,jmsConfig,jmsConnectionFactory,methodBasedAssembler,registry,serverConnector,exporter]; root of factory hierarchy 12:15:55,553 | INFO | ExtenderThread-5 | ory.ReflectionServiceFactoryBean 441 | 116 - org.apache.cxf.cxf-rt-core - 2.7.0.SNAPSHOT | Creating Service {http://www.talend.org/esb/sam/MonitoringService/v1}MonitoringServiceService from class org.talend.esb.sam.monitoringservice.v1.MonitoringService 12:15:55,553 | INFO | ExtenderThread-6 | ory.ReflectionServiceFactoryBean 441 | 116 - org.apache.cxf.cxf-rt-core - 2.7.0.SNAPSHOT | Creating Service {http://www.talend.org/esb/sam/MonitoringService/v1}MonitoringServiceService from class org.talend.esb.sam.monitoringservice.v1.MonitoringService 12:16:55,322 | WARN | qtp534431909-46 | nsport.servlet.ServletController 156 | 123 - org.apache.cxf.cxf-rt-transports-http - 2.7.0.SNAPSHOT | Can't find the the request for http://provider:8085/services/tesb.test.participants.sam.provider/soap/StandardTestServiceProvider/'s Observer 12:20:54,482 | WARN | Timer-0 | WaiterApplicationContextExecutor 445 | 95 - org.springframework.osgi.extender - 1.2.1 | Timeout occurred before finding service dependencies for [OsgiBundleXmlApplicationContext(bundle=org.talend.esb.job.controller, config=osgibundle:/META-INF/spring/*.xml)] 12:20:54,501 | INFO | Timer-0 | ort.DefaultSingletonBeanRegistry 422 | 88 - org.springframework.beans - 3.0.7.RELEASE | Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@1b814a5: defining beans [cxf,org.apache.cxf.bus.spring.BusWiringBeanFactoryPostProcessor,org.apache.cxf.bus.spring.Jsr250BeanPostProcessor,org.apache.cxf.bus.spring.BusExtensionPostProcessor,org.springframework.beans.factory.config.PropertyPlaceholderConfigurer#0,executorService,eventFeature,jobLauncher,jobTracker,endpointRegistry,policyProvider,providerFactory,org.springframework.osgi.service.exporter.support.OsgiServiceFactoryBean#0]; root of factory hierarchy 12:20:54,504 | ERROR | Timer-0 | WaiterApplicationContextExecutor 424 | 95 - org.springframework.osgi.extender - 1.2.1 | Unable to create application context for [org.talend.esb.job.controller], unsatisfied dependencies: Dependency on [(objectClass=org.talend.esb.sam.agent.feature.EventFeature)] (from bean [&eventFeature]) org.springframework.context.ApplicationContextException: Application context initialization for 'org.talend.esb.job.controller' has timed out org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.timeout(DependencyWaiterApplicationContextExecutor.java:454)[95:org.springframework.osgi.extender:1.2.1] org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.access$000(DependencyWaiterApplicationContextExecutor.java:50)[95:org.springframework.osgi.extender:1.2.1] org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$WatchDogTask.run(DependencyWaiterApplicationContextExecutor.java:105)[95:org.springframework.osgi.extender:1.2.1] java.util.TimerThread.mainLoop(Timer.java:512)[:1.6.0_35] java.util.TimerThread.run(Timer.java:462)[:1.6.0_35] 12:20:54,505 | ERROR | Timer-0 | BundleApplicationContextListener 50 | 95 - org.springframework.osgi.extender - 1.2.1 | Application context refresh failed (OsgiBundleXmlApplicationContext(bundle=org.talend.esb.job.controller, config=osgibundle:/META-INF/spring/*.xml)) org.springframework.context.ApplicationContextException: Application context initialization for 'org.talend.esb.job.controller' has timed out org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.timeout(DependencyWaiterApplicationContextExecutor.java:454)[95:org.springframework.osgi.extender:1.2.1] org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.access$000(DependencyWaiterApplicationContextExecutor.java:50)[95:org.springframework.osgi.extender:1.2.1] org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$WatchDogTask.run(DependencyWaiterApplicationContextExecutor.java:105)[95:org.springframework.osgi.extender:1.2.1] java.util.TimerThread.mainLoop(Timer.java:512)[:1.6.0_35] java.util.TimerThread.run(Timer.java:462)[:1.6.0_35] 12:20:54,527 | WARN | Timer-0 | WaiterApplicationContextExecutor 445 | 95 - org.springframework.osgi.extender - 1.2.1 | Timeout occurred before finding service dependencies for [OsgiBundleXmlApplicationContext(bundle=locator, config=osgibundle:/META-INF/spring/*.xml)] 12:20:54,527 | INFO | Timer-0 | ort.DefaultSingletonBeanRegistry 422 | 88 - org.springframework.beans - 3.0.7.RELEASE | Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@4d28a245: defining beans [locator-server-props,org.springframework.beans.factory.config.PropertyPlaceholderConfigurer#0,serviceLocatorBackend,serviceLocator,locatorRegistrar,defaultSelectionStrategyFactory,evenDistributionSelectionStrategyFactory,randomSelectionStrategyFactory,locatorClientEnabler,locatorManager,cxf,org.springframework.osgi.service.exporter.support.OsgiServiceFactoryBean#0,org.springframework.osgi.service.exporter.support.OsgiServiceFactoryBean#1,locatorFeature,org.springframework.osgi.service.exporter.support.OsgiServiceFactoryBean#2]; root of factory hierarchy 12:20:54,528 | ERROR | Timer-0 | WaiterApplicationContextExecutor 424 | 95 - org.springframework.osgi.extender - 1.2.1 | Unable to create application context for [locator], unsatisfied dependencies: Dependency on [(objectClass=org.apache.cxf.Bus)] (from bean [&cxf]) org.springframework.context.ApplicationContextException: Application context initialization for 'locator' has timed out org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.timeout(DependencyWaiterApplicationContextExecutor.java:454)[95:org.springframework.osgi.extender:1.2.1] org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.access$000(DependencyWaiterApplicationContextExecutor.java:50)[95:org.springframework.osgi.extender:1.2.1] org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$WatchDogTask.run(DependencyWaiterApplicationContextExecutor.java:105)[95:org.springframework.osgi.extender:1.2.1] java.util.TimerThread.mainLoop(Timer.java:512)[:1.6.0_35] java.util.TimerThread.run(Timer.java:462)[:1.6.0_35] 12:20:54,528 | ERROR | Timer-0 | BundleApplicationContextListener 50 | 95 - org.springframework.osgi.extender - 1.2.1 | Application context refresh failed (OsgiBundleXmlApplicationContext(bundle=locator, config=osgibundle:/META-INF/spring/*.xml)) org.springframework.context.ApplicationContextException: Application context initialization for 'locator' has timed out org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.timeout(DependencyWaiterApplicationContextExecutor.java:454)[95:org.springframework.osgi.extender:1.2.1] org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.access$000(DependencyWaiterApplicationContextExecutor.java:50)[95:org.springframework.osgi.extender:1.2.1] org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$WatchDogTask.run(DependencyWaiterApplicationContextExecutor.java:105)[95:org.springframework.osgi.extender:1.2.1] java.util.TimerThread.mainLoop(Timer.java:512)[:1.6.0_35] java.util.TimerThread.run(Timer.java:462)[:1.6.0_35] {code} Currently only reproducible on SL/SAM test suite using the test zones of the system test. Working on minimizing the required environment, making it easier to reproduce and collecting more details of the failed start up of the spring application context.1
520TESB-7068Failed to start deployed Cxf Route with SAM featureAfter deploy a CXF route with SAM feature, an error log comes out: {code} 2012-09-17 13:55:45,734 | ERROR | rint Extender: 3 | BlueprintContainerImpl | container.BlueprintContainerImpl 36 2 | 9 - org.apache.aries.blueprint.core - 1.0.0 | Unable to start blueprint container for bundle job.xml org.osgi.service.blueprint.container.ComponentDefinitionException: A class org.talend.esb.sam.agent.feature.EventFeature was found in the interfaces list, but class proxying is not allowed by default. The ext:proxy-method='classes' attribute needs to be added to this service reference. {code}3
521TESB-7522Inconsistent behavior between embedded and standalone process engineI'm parsing an XML date into a {{java.lang.Date}}. Parsing works when the process is run from Studio. When the process is started from the standalone process engine, I get this exception in the log: {noformat}SCHWERWIEGEND: Error while evaluating the groovy expressions. org.ow2.bonita.util.GroovyException: Exception while evaluating expression. ActivityInstanceUUID: Rent_a_car--1.2--1--Show_reservation--it1--mainActivityInstance--noLoop cause: Unparseable date: "Sun Sep 23 00:00:00 CEST 2012" java.text.ParseException: Unparseable date: "Sun Sep 23 00:00:00 CEST 2012" java.text.DateFormat.parse(DateFormat.java:337) org.codehaus.groovy.runtime.DefaultGroovyStaticMethods.parse(DefaultGroovyStaticMethods.java:181) {noformat}2
522TESB-7115Improve documentation related to "Restricting access to the Service Locator"- Split in three sub chapters -- How to configure the server to secure it. -- How to configure the client to be able to communicate with a secured server -- How to secure Locator SOAP service - Describe how to correctly secure when the ZooKeeper ensemble consists of several instances. - Add warnings for -- Services or clients running on 5.1 or older Talend Runtimes cannot communicate with a secured Service Locator -- Locator REST can currently not be secured - Generalize the section about how and where to define user, passwords, and roles. Any kind of JAAS login module can be used not only the property file based delivered with Karaf. Provide all possible properties in the configuration files, but comment them out. Provide some comments which explain the properties. 2
523TESB-7116Move to release versions for all Apache projectsMove from SNAPSHOT to released versions for CXF, Camel, and Karaf2
524TESB-7117Talend CXF jaxrs-jms-http example fails with certain deploymentsThe jaxrs-jms-http example fails if trying to start the server in the Talend runtime and no broker was started before. The following error is logged {noformat} Error executing command: Could not start bundle mvn:org.talend.cxf-examples.jaxrs-jms-http/jaxrs-jms-http-service/1.0 in feature(s) talend-cxf-example-jaxrs-jms-http-1.0: The bundle "jaxrs-jms-http-service_1.0.0 [203]" could not be resolved. Reason: Missing Constraint: Require-Bundle: org.apache.activemq.activemq-core; bundle-version="0.0.0" {noformat} 1
525TESB-7126Routes which start with configuring of errorHandler fail with exception being deployed into runtimeRoutes which are assembled with free cErrorHandler component cannot be deployed into runtime. It cause next exception: {noformat} 20:50:19,924 | ERROR | pool-14-thread-6 | er.internal.JobExecutorFactory$1 35 | 208 - org.talend.esb.job.controller - 5.2.0.SNAPSHOT | Uncaught exception in job executor thread: java.lang.NoSuchMethodError: unifiedplatform_520.testerrorhandlerdeployment_0_1.TestErrorHandlerDeployment$1.errorHandler(Lorg/apache/camel/builder/ErrorHandlerBuilder;)Lorg/apache/camel/builder/RouteBuilder; at unifiedplatform_520.testerrorhandlerdeployment_0_1.TestErrorHandlerDeployment$1.configure(TestErrorHandlerDeployment.java:71) at org.apache.camel.builder.RouteBuilder.checkInitialized(RouteBuilder.java:322) at org.apache.camel.builder.RouteBuilder.configureRoutes(RouteBuilder.java:276) at org.apache.camel.builder.RouteBuilder.addRoutesToCamelContext(RouteBuilder.java:262) at org.apache.camel.impl.DefaultCamelContext.addRoutes(DefaultCamelContext.java:628) at org.apache.camel.main.MainSupport.postProcessCamelContext(MainSupport.java:437) at org.apache.camel.main.MainSupport.postProcessContext(MainSupport.java:386) at unifiedplatform_520.testerrorhandlerdeployment_0_1.TestErrorHandlerDeployment.doStart(TestErrorHandlerDeployment.java:138) at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:60) at org.apache.camel.main.MainSupport.run(MainSupport.java:141) at unifiedplatform_520.testerrorhandlerdeployment_0_1.TestErrorHandlerDeployment.runJobInTOS(TestErrorHandlerDeployment.java:282) at org.talend.esb.job.controller.internal.RouteAdapter.run(RouteAdapter.java:78)[208:org.talend.esb.job.controller:5.2.0.SNAPSHOT] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)[:1.6.0_30] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)[:1.6.0_30] at java.lang.Thread.run(Thread.java:662)[:1.6.0_30] {noformat} However the same route can be started in studio normally. Example of route: |route_which_cause_exception_being_deployed_in_runtime.png| Example of generated code: {noformat} public RouteBuilder route() { return new RouteBuilder() { public void configure() throws Exception { errorHandler(loggingErrorHandler().logName( "SpecialLoggingHandlerName")) ; from(uriMap.get("cMessagingEndpoint_1")) .routeId("cMessagingEndpoint_1") .process(new org.apache.camel.Processor() { public void process( org.apache.camel.Exchange exchange) throws Exception { throw new RuntimeException( "This is test exception!"); } }).id("cProcessor_1"); } }; } {noformat} Route items exported from studio and kar file are attached.1
526TESB-7139Rest service using security does not work - missing OSGi import in manifest{code} 22:11:42,201 | ERROR | xtenderThread-18 | BundleApplicationContextListener 50 | 95 - org.springframework.osgi.extender - 1.2.1 | Application context refresh failed (OsgiBundleXmlApplicationContext(bundle=unifiedplatform_520.HttpAuthenticationRestfulTestService, config=osgibundle:/META-INF/spring/*.xml)) org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'service': Cannot resolve reference to bean 'authenticationFilter' while setting bean property 'providers' with key [3]; nested exception is org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.apache.cxf.jaxrs.security.JAASAuthenticationFilter] for bean with name 'authenticationFilter' defined in URL [bundleentry://250.fwk2128911821/META-INF/spring/beans.xml]; nested exception is java.lang.ClassNotFoundException: org.apache.cxf.jaxrs.security.JAASAuthenticationFilter not found from bundle [unifiedplatform_520.HttpAuthenticationRestfulTestService] org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)[88:org.springframework.beans:3.0.7.RELEASE] org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)[88:org.springframework.beans:3.0.7.RELEASE] org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedList(BeanDefinitionValueResolver.java:353)[88:org.springframework.beans:3.0.7.RELEASE] org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:153)[88:org.springframework.beans:3.0.7.RELEASE] org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1327)[88:org.springframework.beans:3.0.7.RELEASE] org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1085)[88:org.springframework.beans:3.0.7.RELEASE] org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:516)[88:org.springframework.beans:3.0.7.RELEASE] org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:455)[88:org.springframework.beans:3.0.7.RELEASE] org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293)[88:org.springframework.beans:3.0.7.RELEASE] org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)[88:org.springframework.beans:3.0.7.RELEASE] org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)[88:org.springframework.beans:3.0.7.RELEASE] org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192)[88:org.springframework.beans:3.0.7.RELEASE] org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585)[88:org.springframework.beans:3.0.7.RELEASE] org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)[90:org.springframework.context:3.0.7.RELEASE] org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.access$1600(AbstractDelegatedExecutionApplicationContext.java:69)[94:org.springframework.osgi.core:1.2.1] org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:355)[94:org.springframework.osgi.core:1.2.1] org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)[94:org.springframework.osgi.core:1.2.1] org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.java:320)[94:org.springframework.osgi.core:1.2.1] org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterApplicationContextExecutor.java:132)[95:org.springframework.osgi.extender:1.2.1] java.lang.Thread.run(Thread.java:680)[:1.6.0_35] Caused by: org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.apache.cxf.jaxrs.security.JAASAuthenticationFilter] for bean with name 'authenticationFilter' defined in URL [bundleentry://250.fwk2128911821/META-INF/spring/beans.xml]; nested exception is java.lang.ClassNotFoundException: org.apache.cxf.jaxrs.security.JAASAuthenticationFilter not found from bundle [unifiedplatform_520.HttpAuthenticationRestfulTestService] org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1261)[88:org.springframework.beans:3.0.7.RELEASE] org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:432)[88:org.springframework.beans:3.0.7.RELEASE] org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293)[88:org.springframework.beans:3.0.7.RELEASE] org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)[88:org.springframework.beans:3.0.7.RELEASE] org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)[88:org.springframework.beans:3.0.7.RELEASE] org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:192)[88:org.springframework.beans:3.0.7.RELEASE] org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322)[88:org.springframework.beans:3.0.7.RELEASE] ... 19 more Caused by: java.lang.ClassNotFoundException: org.apache.cxf.jaxrs.security.JAASAuthenticationFilter not found from bundle [unifiedplatform_520.HttpAuthenticationRestfulTestService] org.springframework.osgi.util.BundleDelegatingClassLoader.findClass(BundleDelegatingClassLoader.java:103)[94:org.springframework.osgi.core:1.2.1] org.springframework.osgi.util.BundleDelegatingClassLoader.loadClass(BundleDelegatingClassLoader.java:156)[94:org.springframework.osgi.core:1.2.1] java.lang.ClassLoader.loadClass(ClassLoader.java:247)[:1.6.0_35] org.springframework.util.ClassUtils.forName(ClassUtils.java:257)[85:org.springframework.core:3.0.7.RELEASE] org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:408)[88:org.springframework.beans:3.0.7.RELEASE] org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1282)[88:org.springframework.beans:3.0.7.RELEASE] org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1253)[88:org.springframework.beans:3.0.7.RELEASE] ... 25 more Caused by: java.lang.ClassNotFoundException: org.apache.cxf.jaxrs.security.JAASAuthenticationFilter org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501)[osgi-3.8.0.v20120529-1548.jar:] org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)[osgi-3.8.0.v20120529-1548.jar:] org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)[osgi-3.8.0.v20120529-1548.jar:] org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)[osgi-3.8.0.v20120529-1548.jar:] java.lang.ClassLoader.loadClass(ClassLoader.java:247)[:1.6.0_35] org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:340)[osgi-3.8.0.v20120529-1548.jar:] org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:229)[osgi-3.8.0.v20120529-1548.jar:] org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1212)[osgi-3.8.0.v20120529-1548.jar:] org.springframework.osgi.util.BundleDelegatingClassLoader.findClass(BundleDelegatingClassLoader.java:99)[94:org.springframework.osgi.core:1.2.1] ... 31 more {code} Manifest looks like this (now find the package ... argh ... must reformat! :-) ): {code} Manifest-Version: 1.0 Export-Package: unifiedplatform_520.httpauthenticationrestfultestservi ce_0_4;uses:="org.dom4j,org.apache.cxf.jaxrs.ext,routines.system.api, org.apache.cxf.jaxrs.impl,javax.ws.rs.ext,javax.ws.rs.core,javax.ws.r s,javax.sql" Private-Package: lib,unifiedplatform_520.httpauthenticationrestfultest service_0_4.contexts,routines,routines.system,routines.system.api Bundle-ClassPath: .,lib/talend_file_enhanced_20070724.jar,lib/systemRo utines.jar,lib/camel-core-2.9.3.jar,lib/userRoutines.jar Tool: Bnd-2.0.0.20120907-102720 Bundle-Name: HttpAuthenticationRestfulTestService Created-By: 1.6.0_35 (Apple Inc.) Export-Service: routines.system.api.TalendJob;name=HttpAuthenticationR estfulTestService;type=job Bundle-Vendor: Talend Enterprise ESB (teesb_ce_5.2.0.NB_r91171) Bundle-Version: 0.4.0 Bnd-LastModified: 1348736177138 Bundle-ManifestVersion: 2 Import-Package: javax.management;resolution:=optional,javax.sql;resolu tion:=optional,javax.ws.rs;resolution:=optional,javax.ws.rs.core;reso lution:=optional,javax.ws.rs.ext;resolution:=optional,javax.xml.parse rs;resolution:=optional,javax.xml.transform;resolution:=optional,org. apache.camel;resolution:=optional,org.apache.camel.spi;resolution:=op tional,org.apache.cxf.endpoint;resolution:=optional,org.apache.cxf.he lpers;resolution:=optional,org.apache.cxf.jaxrs;resolution:=optional, org.apache.cxf.jaxrs.ext;resolution:=optional,org.apache.cxf.jaxrs.im pl;resolution:=optional,org.apache.cxf.jaxrs.lifecycle;resolution:=op tional,org.apache.cxf.jaxrs.provider.json;resolution:=optional,org.do m4j;resolution:=optional,org.dom4j.io;resolution:=optional,org.dom4j. tree;resolution:=optional,org.talend.fileprocess;resolution:=optional ,org.w3c.dom;resolution:=optional,org.xml.sax;resolution:=optional,su n.security.action;resolution:=optional,routines.system.api,org.apache .cxf.management.counters Bundle-SymbolicName: unifiedplatform_520.HttpAuthenticationRestfulTest Service {code}1
527TESB-7157Fix issues with transaction support in tMOMInput/Output/Commit/Rollback and new tMOMConnectionNULL2
528TESB-7159Migrate BPM Server to the Bonita 5.8.0 and test on Java6 and Java7NULL2
529TESB-7160Update to GA releases of Camel 2.10.2 and CXF 2.7.0, activemq 5.7.0 (Tooling)Update to GA releases of Camel 2.10.2 and CXF 2.7.0, activemq 5.7.0 (Tooling)2
530TESB-7162Fix WSDL-file association shall not be hardcoded. Should be done via Eclipse standard mechanismsNULL1
531TESB-7163Change cErrorHandler component settings to forbid it to be the first component. Make sure other components that can only be the first components are fixed too.NULL1
532TESB-7165Update description on the cSetHeader component properties.NULL1
533TESB-7250Change icon for tMOMConnectionNULL1
534TESB-7260xZooKeeper ensemble consists of several instances does not work when instances started in tesb containersIf zookeeper instances started as OSGI bundles in tesb containers, locator enabled service registered endpoint in ONE of zookeeper server instances randomly. Endpoint should be automatically registered in every instance of zookeeper server. (This expected behavior we have in case of stand-alone versions)2
535TESB-7271tOracleInput component: ClassCastException when check "Specify a data source alias".I create very easy job with 2 components: tOracleInput and tLogRow. tOracleInput connect to oracle database and select all records from one table. When I don't check "Specify a data source alias" it works ok both in studio and in runtime. When I deploy check "Specify a data source alias" and deploy it in runtime I receive exception: Exception in component tOracleInput_1 java.lang.ClassCastException: oracle.jdbc.driver.LogicalConnection cannot be cast to oracle.jdbc.OracleConnection at testoracle.oracletest_0_1.OracleTest.tOracleInput_1Process(OracleTest.java:482) at testoracle.oracletest_0_1.OracleTest.runJobInTOS(OracleTest.java:794) at org.talend.esb.job.controller.internal.SimpleJobTask$JobRunner.run(SimpleJobTask.java:80) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at org.talend.esb.job.controller.internal.SimpleJobTask.run(SimpleJobTask.java:62) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619) Other tOracleRow component works without exceptions.1
536TESB-7276Throw exception in component tRESTClient POST method when RestService response a null bodyIn studio Talend-Studio-r91999-V5.2.0NB, model is using "tRESTClient" component, in order to test the http POST method. Select the Accept Type is "XML", then start the rest service which only response the http status code and the body is null ( btw, if response body is not null, then it worked well). Then run this rest client POST job, throw the below exception, {noformat} Exception in component tRESTClient_1 javax.ws.rs.client.ClientException: java.lang.NoClassDefFoundError: org/codehaus/jettison/JSONSequenceTooLargeException org.apache.cxf.jaxrs.client.WebClient.handleResponse(WebClient.java:981) org.apache.cxf.jaxrs.client.WebClient.doResponse(WebClient.java:944) org.apache.cxf.jaxrs.client.WebClient.doChainedInvocation(WebClient.java:894) org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:761) org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:748) org.apache.cxf.jaxrs.client.WebClient.invoke(WebClient.java:355) org.apache.cxf.jaxrs.client.WebClient.post(WebClient.java:381) mfshen20121012.test_restclient_post_0_1.Test_RESTClient_Post.tFixedFlowInput_1Process(Test_RESTClient_Post.java:1419) mfshen20121012.test_restclient_post_0_1.Test_RESTClient_Post.runJobInTOS(Test_RESTClient_Post.java:1804) mfshen20121012.test_restclient_post_0_1.Test_RESTClient_Post.main(Test_RESTClient_Post.java:1669) Caused by: java.lang.NoClassDefFoundError: org/codehaus/jettison/JSONSequenceTooLargeException org.apache.cxf.jaxrs.provider.json.JSONProvider.readFrom(JSONProvider.java:241) org.apache.cxf.jaxrs.provider.dom4j.DOM4JProvider.readFrom(DOM4JProvider.java:67) org.apache.cxf.jaxrs.provider.dom4j.DOM4JProvider.readFrom(DOM4JProvider.java:38) org.apache.cxf.jaxrs.utils.JAXRSUtils.readFromMessageBodyReader(JAXRSUtils.java:1141) org.apache.cxf.jaxrs.client.AbstractClient.readBody(AbstractClient.java:470) org.apache.cxf.jaxrs.client.WebClient.handleResponse(WebClient.java:960) ... 9 more Caused by: java.lang.ClassNotFoundException: org.codehaus.jettison.JSONSequenceTooLargeException java.net.URLClassLoader$1.run(URLClassLoader.java:202) java.security.AccessController.doPrivileged(Native Method) java.net.URLClassLoader.findClass(URLClassLoader.java:190) java.lang.ClassLoader.loadClass(ClassLoader.java:306) sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) java.lang.ClassLoader.loadClass(ClassLoader.java:247) ... 15 more {noformat} BTW, PUT method worked well in the same way, and if select Accept Type "any" for POST method, then POST rest client job also can work well. With Liugang's help, after resolve the exception NoClassDefFoundError, then throw another exception. {noformat} 2012-10-12 17:08:08 org.apache.cxf.jaxrs.provider.AbstractJAXBProvider handleExceptionStart 警告: javax.xml.stream.XMLStreamException: org.codehaus.jettison.json.JSONException: A JSONObject text must begin with '{' at character 0 of org.codehaus.jettison.mapped.MappedXMLInputFactory.createXMLStreamReader(MappedXMLInputFactory.java:46) org.codehaus.jettison.AbstractXMLInputFactory.createXMLStreamReader(AbstractXMLInputFactory.java:116) org.codehaus.jettison.AbstractXMLInputFactory.createXMLStreamReader(AbstractXMLInputFactory.java:103) org.apache.cxf.jaxrs.provider.json.utils.JSONUtils.createStreamReader(JSONUtils.java:151) org.apache.cxf.jaxrs.provider.json.JSONProvider.createReader(JSONProvider.java:267) org.apache.cxf.jaxrs.provider.json.JSONProvider.createReader(JSONProvider.java:257) org.apache.cxf.jaxrs.provider.json.JSONProvider.readFrom(JSONProvider.java:209) org.apache.cxf.jaxrs.provider.dom4j.DOM4JProvider.readFrom(DOM4JProvider.java:67) org.apache.cxf.jaxrs.provider.dom4j.DOM4JProvider.readFrom(DOM4JProvider.java:38) org.apache.cxf.jaxrs.utils.JAXRSUtils.readFromMessageBodyReader(JAXRSUtils.java:1141) org.apache.cxf.jaxrs.client.AbstractClient.readBody(AbstractClient.java:470) org.apache.cxf.jaxrs.client.WebClient.handleResponse(WebClient.java:960) org.apache.cxf.jaxrs.client.WebClient.doResponse(WebClient.java:944) org.apache.cxf.jaxrs.client.WebClient.doChainedInvocation(WebClient.java:894) org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:761) org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:748) org.apache.cxf.jaxrs.client.WebClient.invoke(WebClient.java:355) org.apache.cxf.jaxrs.client.WebClient.post(WebClient.java:381) mfshen20121012_02.test_restclient_post02_0_1.Test_RESTClient_POST02.tFixedFlowInput_1Process(Test_RESTClient_POST02.java:1422) mfshen20121012_02.test_restclient_post02_0_1.Test_RESTClient_POST02.runJobInTOS(Test_RESTClient_POST02.java:1856) mfshen20121012_02.test_restclient_post02_0_1.Test_RESTClient_POST02.main(Test_RESTClient_POST02.java:1721) Caused by: org.codehaus.jettison.json.JSONException: A JSONObject text must begin with '{' at character 0 of org.codehaus.jettison.json.JSONTokener.syntaxError(JSONTokener.java:463) org.codehaus.jettison.json.JSONObject.<init>(JSONObject.java:173) org.codehaus.jettison.mapped.MappedXMLInputFactory.createJSONObject(MappedXMLInputFactory.java:51) org.codehaus.jettison.mapped.MappedXMLInputFactory.createXMLStreamReader(MappedXMLInputFactory.java:43) ... 20 more 2012-10-12 17:08:08 org.apache.cxf.jaxrs.client.AbstractClient reportMessageHandlerProblem 严重: .Problem with reading the response message, class : interface org.dom4j.Document, ContentType : */*. Exception in component tRESTClient_1 javax.ws.rs.client.ClientException: .Problem with reading the response message, class : interface org.dom4j.Document, ContentType : */*. org.apache.cxf.jaxrs.client.AbstractClient.reportMessageHandlerProblem(AbstractClient.java:662) org.apache.cxf.jaxrs.client.AbstractClient.readBody(AbstractClient.java:474) org.apache.cxf.jaxrs.client.WebClient.handleResponse(WebClient.java:960) org.apache.cxf.jaxrs.client.WebClient.doResponse(WebClient.java:944) org.apache.cxf.jaxrs.client.WebClient.doChainedInvocation(WebClient.java:894) org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:761) org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:748) org.apache.cxf.jaxrs.client.WebClient.invoke(WebClient.java:355) org.apache.cxf.jaxrs.client.WebClient.post(WebClient.java:381) mfshen20121012_02.test_restclient_post02_0_1.Test_RESTClient_POST02.tFixedFlowInput_1Process(Test_RESTClient_POST02.java:1422) mfshen20121012_02.test_restclient_post02_0_1.Test_RESTClient_POST02.runJobInTOS(Test_RESTClient_POST02.java:1856) mfshen20121012_02.test_restclient_post02_0_1.Test_RESTClient_POST02.main(Test_RESTClient_POST02.java:1721) Caused by: javax.ws.rs.WebApplicationException: javax.xml.stream.XMLStreamException: org.codehaus.jettison.json.JSONException: A JSONObject text must begin with '{' at character 0 of org.apache.cxf.jaxrs.provider.AbstractJAXBProvider.handleExceptionEnd(AbstractJAXBProvider.java:625) org.apache.cxf.jaxrs.provider.AbstractJAXBProvider.handleXMLStreamException(AbstractJAXBProvider.java:642) org.apache.cxf.jaxrs.provider.json.JSONProvider.readFrom(JSONProvider.java:244) org.apache.cxf.jaxrs.provider.dom4j.DOM4JProvider.readFrom(DOM4JProvider.java:67) org.apache.cxf.jaxrs.provider.dom4j.DOM4JProvider.readFrom(DOM4JProvider.java:38) org.apache.cxf.jaxrs.utils.JAXRSUtils.readFromMessageBodyReader(JAXRSUtils.java:1141) org.apache.cxf.jaxrs.client.AbstractClient.readBody(AbstractClient.java:470) ... 10 more Caused by: javax.xml.stream.XMLStreamException: org.codehaus.jettison.json.JSONException: A JSONObject text must begin with '{' at character 0 of org.codehaus.jettison.mapped.MappedXMLInputFactory.createXMLStreamReader(MappedXMLInputFactory.java:46) org.codehaus.jettison.AbstractXMLInputFactory.createXMLStreamReader(AbstractXMLInputFactory.java:116) org.codehaus.jettison.AbstractXMLInputFactory.createXMLStreamReader(AbstractXMLInputFactory.java:103) org.apache.cxf.jaxrs.provider.json.utils.JSONUtils.createStreamReader(JSONUtils.java:151) org.apache.cxf.jaxrs.provider.json.JSONProvider.createReader(JSONProvider.java:267) org.apache.cxf.jaxrs.provider.json.JSONProvider.createReader(JSONProvider.java:257) org.apache.cxf.jaxrs.provider.json.JSONProvider.readFrom(JSONProvider.java:209) ... 14 more Caused by: org.codehaus.jettison.json.JSONException: A JSONObject text must begin with '{' at character 0 of org.codehaus.jettison.json.JSONTokener.syntaxError(JSONTokener.java:463) org.codehaus.jettison.json.JSONObject.<init>(JSONObject.java:173) org.codehaus.jettison.mapped.MappedXMLInputFactory.createJSONObject(MappedXMLInputFactory.java:51) org.codehaus.jettison.mapped.MappedXMLInputFactory.createXMLStreamReader(MappedXMLInputFactory.java:43) ... 20 more {noformat} 1
537TESB-7280ConsumerJob with tRESTClient can not read the response using Post method when deployed to Runtimein studio,creat job with tRESTClient, for tRESTClient component,"Content Type" choose XML,"Accept Type" choose XML,please see the job in attachment. then deploy this job to Runtime,this job invokes the endpoint of CXF JaxRS provider using Post http method Provider can get the request,but on consumer side,can not read the response(the body of response is null),the exception log on consumer side are: {noformat} 22:14:21,539 | WARN | pool-13-thread-1 | rs.provider.AbstractJAXBProvider 609 | 129 - org.apache.cxf.cxf-rt-frontend-jaxrs - 2.7.0.SNAPSHOT | javax.xml.stream.XMLStreamException at org.codehaus.jettison.mapped.MappedXMLInputFactory.createXMLStreamReader(MappedXMLInputFactory.java:46) at org.codehaus.jettison.AbstractXMLInputFactory.createXMLStreamReader(AbstractXMLInputFactory.java:116) at org.codehaus.jettison.AbstractXMLInputFactory.createXMLStreamReader(AbstractXMLInputFactory.java:103) at org.apache.cxf.jaxrs.provider.json.utils.JSONUtils.createStreamReader(JSONUtils.java:151) at org.apache.cxf.jaxrs.provider.json.JSONProvider.createReader(JSONProvider.java:267) at org.apache.cxf.jaxrs.provider.json.JSONProvider.createReader(JSONProvider.java:257) at org.apache.cxf.jaxrs.provider.json.JSONProvider.readFrom(JSONProvider.java:209) at org.apache.cxf.jaxrs.provider.dom4j.DOM4JProvider.readFrom(DOM4JProvider.java:67) at org.apache.cxf.jaxrs.provider.dom4j.DOM4JProvider.readFrom(DOM4JProvider.java:38) at org.apache.cxf.jaxrs.utils.JAXRSUtils.readFromMessageBodyReader(JAXRSUtils.java:1141) at org.apache.cxf.jaxrs.client.AbstractClient.readBody(AbstractClient.java:470) at org.apache.cxf.jaxrs.client.WebClient.handleResponse(WebClient.java:960) at org.apache.cxf.jaxrs.client.WebClient.doResponse(WebClient.java:944) at org.apache.cxf.jaxrs.client.WebClient.doChainedInvocation(WebClient.java:894) at org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:761) at org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:748) at org.apache.cxf.jaxrs.client.WebClient.invoke(WebClient.java:355) at org.apache.cxf.jaxrs.client.WebClient.post(WebClient.java:381) at unifiedplatform_520.restfulcxfconsumerdopost_0_4.RestfulCXFConsumerDoPost.tFixedFlowInput_1Process(RestfulCXFConsumerDoPost.java:1479) at unifiedplatform_520.restfulcxfconsumerdopost_0_4.RestfulCXFConsumerDoPost.runJobInTOS(RestfulCXFConsumerDoPost.java:1989) at org.talend.esb.job.controller.internal.SimpleJobTask$JobRunner.run(SimpleJobTask.java:80) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at org.talend.esb.job.controller.internal.SimpleJobTask.run(SimpleJobTask.java:62) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) 16:32:40,890 | ERROR | ool-14-thread-11 | .cxf.jaxrs.client.AbstractClient 661 | 129 - org.apache.cxf.cxf-rt-frontend-jaxrs - 2.7.0.SNAPSHOT | .Problem with reading the response message, class : interface org.dom4j.Document, ContentType : */*. {noformat} when "Accept Type " choose any,there is no this problem. for Put method,although "Accept Type " choose xml,also has no this problem.similar consumer job except choosing put method and same REST service. if nessary,provide our REST service. 1
538TESB-7285When create a runtime server,there is error in runtime log and esb task can't deploy to runtime.Exception in TESB when adding a Server in Tac with Talend Runtime selected.: runtime log: java.lang.reflect.UndeclaredThrowableException at org.ops4j.pax.web.service.internal.$Proxy0.service(Unknown Source)[75:org.ops4j.pax.web.pax-web-runtime:1.1.3 ] at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:652)[66:org.eclipse.jetty.servlet:7.6.7.v20 120910] at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:447)[66:org.eclipse.jetty.servlet:7.6.7 .v20120910] at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:70 )[76:org.ops4j.pax.web.pax-web-jetty:1.1.3] at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)[64:org.eclipse.jetty.server:7.6 .7.v20120910] at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:559)[65:org.eclipse.jetty.security:7.6 .7.v20120910] at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:227)[64:org.eclipse.jetty.server :7.6.7.v20120910] at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1038)[64:org.eclipse.jetty.serve r:7.6.7.v20120910] at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:117)[76:org.ops4 j.pax.web.pax-web-jetty:1.1.3] at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:374)[66:org.eclipse.jetty.servlet:7.6.7. v20120910] at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:189)[64:org.eclipse.jetty.server: 7.6.7.v20120910] at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:972)[64:org.eclipse.jetty.server: 7.6.7.v20120910] at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)[64:org.eclipse.jetty.server:7.6 .7.v20120910] at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.jav a:74)[76:org.ops4j.pax.web.pax-web-jetty:1.1.3] at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)[64:org.eclipse.jetty.server:7 .6.7.v20120910] at org.eclipse.jetty.server.Server.handle(Server.java:363)[64:org.eclipse.jetty.server:7.6.7.v20120910] at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:483)[64:org.eclipse .jetty.server:7.6.7.v20120910] at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:920)[64:org.eclips e.jetty.server:7.6.7.v20120910] at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:982 )[64:org.eclipse.jetty.server:7.6.7.v20120910] at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:635)[60:org.eclipse.jetty.http:7.6.7.v20120910] at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)[60:org.eclipse.jetty.http:7.6.7.v201209 10] at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)[64:org.eclipse.jetty.server: 7.6.7.v20120910] at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:627)[59:org.eclipse.jetty.io :7.6.7.v20120910] at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:51)[59:org.eclipse.jetty.io:7 .6.7.v20120910] at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)[58:org.eclipse.jetty.util:7. 6.7.v20120910] at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)[58:org.eclipse.jetty.util:7.6 .7.v20120910] at java.lang.Thread.run(Thread.java:662)[:1.6.0_33] Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)[:1.6.0_33] at java.lang.reflect.Method.invoke(Method.java:597)[:1.6.0_33] at org.ops4j.pax.web.service.internal.HttpServiceStarted$2.invoke(HttpServiceStarted.java:210)[75:org.ops4j.pax. web.pax-web-runtime:1.1.3] ... 27 more Caused by: org.eclipse.jetty.io.EofException at org.eclipse.jetty.http.HttpGenerator.flushBuffer(HttpGenerator.java:914) at org.eclipse.jetty.server.AbstractHttpConnection.flushResponse(AbstractHttpConnection.java:645)[64:org.eclipse .jetty.server:7.6.7.v20120910] at org.eclipse.jetty.server.Response.flushBuffer(Response.java:1038) at org.apache.felix.webconsole.internal.servlet.OsgiManager.service(OsgiManager.java:422)[79:org.apache.karaf.we bconsole.console:2.3.0] at org.apache.felix.webconsole.internal.KarafOsgiManager.doService(KarafOsgiManager.java:67)[79:org.apache.karaf .webconsole.console:2.3.0] at org.apache.felix.webconsole.internal.KarafOsgiManager$1.run(KarafOsgiManager.java:47)[79:org.apache.karaf.web console.console:2.3.0] at java.security.AccessController.doPrivileged(Native Method)[:1.6.0_33] at javax.security.auth.Subject.doAs(Subject.java:396)[:1.6.0_33] at org.apache.felix.webconsole.internal.KarafOsgiManager.service(KarafOsgiManager.java:45)[79:org.apache.karaf.w ebconsole.console:2.3.0] ... 31 more Caused by: java.io.IOException: An established connection was aborted by the software in your host machine at sun.nio.ch.SocketDispatcher.write0(Native Method)[:1.6.0_33] at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:33)[:1.6.0_33] at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:69)[:1.6.0_33] at sun.nio.ch.IOUtil.write(IOUtil.java:26)[:1.6.0_33] at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:336)[:1.6.0_33] at org.eclipse.jetty.io.nio.ChannelEndPoint.flush(ChannelEndPoint.java:293) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.flush(SelectChannelEndPoint.java:361)[59:org.eclipse.jetty.io: 7.6.7.v20120910] at org.eclipse.jetty.http.HttpGenerator.flushBuffer(HttpGenerator.java:850) ... 39 more 2012-10-12 18:22:19,776 | WARN | JobServerCleaner | AbstractDataCleaner | .utils.files.AbstractDataCleaner 84 | 193 - org.talend.utils - 5.2.0.SNAPSHOT | pathDir is not a directory: D:\talend\esb\Talend-Runtime-Core-V5.2.0-S NAPSHOT-576\.\TalendJobServersFiles\archiveJobs1
539TESB-7333tmominput:second time deploy to runtime can't read message from activemq any more.use runtime:5.2.0.RC3-SNAPSHOT_EE_5882
540TESB-7337tMom* transacted does not have an expected default transactional behaviorWhen using a simple job reading from a Queue and passing this message to be sent by a tESBConsumer the transactional behavior of tMom* is not at all like expected (almost reverted). See attached table.2
541TESB-7342Customer Operation job leads to Missing jar:saxon9-dom.jarExactly same scenario as used in TESB-6769. leads to a missing jar dependency in Build TOS_ESB r92625. (this error did not occur in r92521!)1
542TESB-7354Services can't be registered to Zookeeper anymore after restart the container which both Locator server and Services installedNULL3
543TESB-7359Provide CXF DomainExpressionBuilder and DomainExpression for URI Domain Expressions in policy attachment documentsCurrently CXF only supports EPR style domain expressions. For the registry especially when working together with locator we need URI Domain Expressions, see http://www.w3.org/TR/ws-policy-attach/#ExternalPolicyAttachment. CXF allows to extend the kind of supported Domain Expressions by providing the corresponding DomainExpressionBuilders and DomainExpressions. The URI's should be WSDL 1.1 Element Identifiers, see http://www.w3.org/TR/wsdl11elementidentifiers/. For this feature it is enough to just support referencing service elements. 3
544TESB-7360Improve the current AtomPub API for policy and wsdl documents- For id elements feed and entry use URN's. The Namespace identifer should be 'uuid'. So an id would look like this: urn:uuid:a1d9099a-1910-4161-83d2-2ea49e5c3bdb. - The date and time of the updated element feed should be set to the laste change in the feed and not to the current date and time. - Remove the xml:base attribute in the feed element. - Provide a generator element, text should be 'Talend ESB Registry vx.x.x' - Always provide absolute URL's in href attributes - Entry elements contain an xml:base attribute with the id of the document as value. Remove it. - For the feed provide a link element with attribute rel="self" and href linking to itself. - As name for the collections in the URL use ws-policy instead of POLICY and wsdl instead of WSDL - For the link element in an entry change the rel attribute from 'alternate' to 'self' Change the documentation accordingly. Documentation issues - Document the service document - Instead of documenting URL's and possible actions out of band, e.g {quote} upload policy using atompub POST http://localhost:8042/services/RegistryAtom/POLICY?? {quote} explain where to find the URL (in the service document) 3
545TESB-7361Use opaque id for wsdls instead of the fully qualified service nameAlso adapt the documentation accordingly.2
546TESB-7362SR: Provide an AtomPub collection resource for Policy Attachment documents in the registryExtend the current AtomPub API to provide a collection resource for policy attachment documents. It must be possible to add, update and delete policy attachment documents. All mandatory meta data must be provided, especially the corresponding link elements. If an official MIME media type for policy attachment documents exist use it as type attribute for the content element otherwise we need to invent our own proprietary type. ID's used within meta data or URL's must be opaque. Also HTTP status codes should be used as specified in the specs. Add the Policy Attachment document to the service document of the registry Update documentation reflecting the new APP based interface. Especially provide sample requests and responses for the new interface. Document possible error situations and corresponding HTTP status codes. 2
547TESB-7373Ensure Name attribute for Policy is always specifiedAs a policy designer I want to be able to reference a policy from another document via the PolicyReference mechanism. If the user does not specify the Name attibute in the root Policy element the Registry must generate on. It must use the urn:uuid scheme like for id's in Atom feeds. The id of the policy must be different than the id of the enclosing document. Document this2
548TESB-7374SR: Compute binding references from policy attachement document to WSDLAs a maintainer of registry I want the registry to automatically compute the references from attachment document to WSDL so that I don't have to redundantly specify them. Currently we require the user to explicitly specify the reference between Policy Attachment document and WSDL, so that the attachment documents are returned during a lookup operation. The policy attachment document already includes this reference, which makes the explicit operation redundant. Furthermore might get inconsistent definitions. Therefore whenever a policy attachment document is uploaded for the first time, modified or deleted the references in the registry should be modified accordingly. For the moment we only support service element as the WSDL subject 3
549TESB-7375Policy attachment lookup returns document with all policies embeddedPolicy attachment documents may contain references to policy documents separately stored in the registry. Policies embedded or referenced may of course again have references to other policy documents. As part of the lookup all policies directly referenced by the policy attachment document or transitively shall be embedded in the policy attachment document and the corresponding policy references have to be changed to point to the internal policies. Document the lookup5
550TESB-7378Introduce a combo-box to indicate tMomConnection is only applicable for ActiveMQNULL1
551TESB-7379Deliver default (commented-out) configuration for Bonita engine databasesWe need to create and test sample configuration for configuring BPM Database using Oracle and MySQL with connection pooling. Sample configuration should be in our distribution but may be commented-out.3
552TESB-7521Example data source definitions for tJBDC, tOracle, tMySQLWe need to prepare example definitions of the data sources that could be used for getting started with connection pooling. Under the *addons/datasources/dataservice* folder we should provide example files. * tJDBC (H2) * tMySQL * tOracle After that create a DOCT issue for Container Administration Guide enhancement.1
553TESB-7577[Runtime]Client failed to log on runtime server[Runtime]Client failed to log on runtime server I get the following error after reboot my machine (PS : all service are started automatically): gatigossou@ubuntu:/opt/Talend-5.1.1/runtime/bin$ ./client 459 [NioProcessor-2] WARN org.apache.sshd.client.session.ClientSessionImpl - Exception caught java.lang.IllegalStateException: Unable to negociate key exchange for item 2 org.apache.sshd.common.session.AbstractSession.negociate(AbstractSession.java:886) org.apache.sshd.client.session.ClientSessionImpl.doHandleMessage(ClientSessionImpl.java:236) org.apache.sshd.client.session.ClientSessionImpl.handleMessage(ClientSessionImpl.java:198) org.apache.sshd.common.session.AbstractSession.decode(AbstractSession.java:522) org.apache.sshd.common.session.AbstractSession.messageReceived(AbstractSession.java:225) org.apache.sshd.common.AbstractSessionIoHandler.messageReceived(AbstractSessionIoHandler.java:58) org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.messageReceived(DefaultIoFilterChain.java:716) org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434) org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:46) org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:796) org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:119) org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434) org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageReceived(DefaultIoFilterChain.java:426) org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:692) org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:645) org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:634) org.apache.mina.core.polling.AbstractPollingIoProcessor.access$400(AbstractPollingIoProcessor.java:66) org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1078) org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64) java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) java.lang.Thread.run(Thread.java:662) Session is closed gatigossou@ubuntu:/opt/Talend-5.1.1/runtime/bin$ When I stop and start the runtime service /etc/init.d/talend-runtime-service start and /etc/init.d/talend-runtime-service stop the error disappear. Just after rebooting : -------------------- gatigossou@ubuntu:/opt/Talend-5.1.1/runtime/bin$ ps -ef | grep karaf 1000 1497 1315 99 05:27 ? 00:07:54 java -Dkaraf.home=/opt/Talend-5.1.1/runtime -Dkaraf.base=/opt/Talend-5.1.1/runtime -Dkaraf.data=/opt/Talend-5.1.1/runtime/data -Dcom.sun.management.jmxremote -Dkaraf.startLocalConsole=false -Dkaraf.startRemoteShell=true -Djava.endorsed.dirs=%JAVA_HOME%/jre/lib/endorsed:%JAVA_HOME%/lib/endorsed:/opt/Talend-5.1.1/runtime/lib/endorsed -Djava.ext.dirs=%JAVA_HOME%/jre/lib/ext:%JAVA_HOME%/lib/ext:/opt/Talend-5.1.1/runtime/lib/ext -Xmx512m -Djava.library.path=/opt/Talend-5.1.1/runtime/lib/ -classpath /opt/Talend-5.1.1/runtime/lib/karaf-wrapper.jar:/opt/Talend-5.1.1/runtime/lib/karaf.jar:/opt/Talend-5.1.1/runtime/lib/karaf-jaas-boot.jar:/opt/Talend-5.1.1/runtime/lib/karaf-wrapper-main.jar -Dwrapper.key=bJ0kgbXAMyW58URM -Dwrapper.port=32000 -Dwrapper.jvm.port.min=31000 -Dwrapper.jvm.port.max=31999 -Dwrapper.pid=1315 -Dwrapper.version=3.2.3 -Dwrapper.native_library=wrapper -Dwrapper.service=TRUE -Dwrapper.cpu.timeout=10 -Dwrapper.jvmid=1 org.apache.karaf.shell.wrapper.Main 1000 3532 3256 0 05:34 pts/2 00:00:00 grep --color=auto karaf gatigossou@ubuntu:/opt/Talend-5.1.1/runtime/bin$ Just after stop and start manually the service : ---------------------------------------------- gatigossou@ubuntu:/opt/Talend-5.1.1/runtime/bin$ ps -ef | grep karaf 1000 3764 3762 99 05:36 ? 00:00:12 java -Dkaraf.home=/opt/Talend-5.1.1/runtime -Dkaraf.base=/opt/Talend-5.1.1/runtime -Dkaraf.data=/opt/Talend-5.1.1/runtime/data -Dcom.sun.management.jmxremote -Dkaraf.startLocalConsole=false -Dkaraf.startRemoteShell=true -Djava.endorsed.dirs=/usr/lib/jvm/jdk1.6.0_37/jre/lib/endorsed:/usr/lib/jvm/jdk1.6.0_37/lib/endorsed:/opt/Talend-5.1.1/runtime/lib/endorsed -Djava.ext.dirs=/usr/lib/jvm/jdk1.6.0_37/jre/lib/ext:/usr/lib/jvm/jdk1.6.0_37/lib/ext:/opt/Talend-5.1.1/runtime/lib/ext -Xmx512m -Djava.library.path=/opt/Talend-5.1.1/runtime/lib/ -classpath /opt/Talend-5.1.1/runtime/lib/karaf-wrapper.jar:/opt/Talend-5.1.1/runtime/lib/karaf.jar:/opt/Talend-5.1.1/runtime/lib/karaf-jaas-boot.jar:/opt/Talend-5.1.1/runtime/lib/karaf-wrapper-main.jar -Dwrapper.key=SUZUHU4JQqMkrKlS -Dwrapper.port=32000 -Dwrapper.jvm.port.min=31000 -Dwrapper.jvm.port.max=31999 -Dwrapper.pid=3762 -Dwrapper.version=3.2.3 -Dwrapper.native_library=wrapper -Dwrapper.service=TRUE -Dwrapper.cpu.timeout=10 -Dwrapper.jvmid=1 org.apache.karaf.shell.wrapper.Main 1000 3832 3256 0 05:36 pts/2 00:00:00 grep --color=auto karaf 1
554TESB-7621Restrict conduits-common configuration to localhostAs a developer or admin I want to be able to communicate with public services on the internet secured via HTTPS. The conduits-common configuration we currently provide by default with the runtime is valid for all clients, which communicate with an HTTPS based endpoint. This works fine for clients accessing our samples as the configuration points to a keystore with certificates suitable for the samples. Clients accessing services hosted on public servers, e.g. salesforce services, fail to do so, because the keystore we provide does not contain the required root certificates from the public certification authorities. On the other side these certificates are included in the default keystore that comes with the JRE. Therefore we should restrict the pattern for the conduits-common configuration to https on localhost, e.g. url = https\://localhost.* This would also restrict disabling the CN checks to the localhost. Documentation also has to be updated.1
555TESB-7629Execute the test plan for Enterprise editionConcentrate on the enterprise related topics 2
556TESB-7630Include Cellar release version 2.2.5Move from SNAPSHOT version to 2.2.5 release version1
557TESB-7631Runtime-Cluster] Inconsistent tesb:start-cluster aliasThe current command requires a group to be created to start the cluster, this is not consistent to the other start/stop commands which we have. Additionally it does not start the web-console by default (which it should do) and we do not have a corresponding stop alias for the cluster which is also inconsistent compared to the other commands where we always also provide a stop command. By this the following alias definition: tesb:start-cluster = { features:install cellar; sleep -s 5; cluster:group-create $args; cluster:group-set $args } ; needs to be change to: tesb:start-cluster = { features:install cellar; features:install cellar-webconsole } ; tesb:stop-cluster = { features:uninstall cellar-webconsole; features:uninstall cellar } ; Update the cluster configuration accordingly1
558TESB-7684Follow up on BPM database TODOs found during DemoFollowing todos were mentioned: * Deliver README file with distribution * Try to deliver migration scripts for migrating Bonita 5.6 to 5.7 * Make clear on how to set hibrenate database URL in README1
559TESB-7706tRESTClient needs to support OAuth2 Bearer authenticationAt the moment tRESTClient can only use Basic authentication. Another option, "OAuth2" needs to be added, and when selected, it will open a field called "Bearer Token". A user will provide a token key obtained out-of-band or from the earlier components. As a result, HTTP "Authorization: Bearer 1234567" will be added as a header. This will let tRESTClient talk to OAuth2 enabled servers 1
560TESB-7707Service Locator: Select wrong endpoints for evenDistributionSelectionStrategy and randomSelectionStrategy in case of a failover1.register three endpoints in zookeeper:instance1,instance2,instance3 2.for the client,config as follow: {noformat} <jaxws:client id="DistributionSelectionStrategyClient" serviceName="srv:LocatorTwoTestServiceProvider" serviceClass="org.talend.esb.test.services.standard.StandardTestService" xmlns:srv="http://services.test.esb.talend.org/LocatorTwo/LocatorTwoTestService" address="locator://LocatorTwoTestServiceProvider"> <jaxws:features> <bean class="org.talend.esb.servicelocator.cxf.LocatorFeature"> <property name="selectionStrategy" value="evenDistributionSelectionStrategy"/> </bean> </jaxws:features> </jaxws:client> <jaxws:client id="RandomSelectionStrategyClient" serviceName="srv:LocatorTwoTestServiceProvider" serviceClass="org.talend.esb.test.services.standard.StandardTestService" xmlns:srv="http://services.test.esb.talend.org/LocatorTwo/LocatorTwoTestService" address="locator://LocatorTwoTestServiceProvider"> <jaxws:features> <bean class="org.talend.esb.servicelocator.cxf.LocatorFeature"> <property name="selectionStrategy" value="randomSelectionStrategy"/> </bean> </jaxws:features> </jaxws:client> {noformat} and in org.talend.esb.locator.cfg,reloadAdressesCount is big enough: {noformat} locator.reloadAdressesCount=6000 {noformat} 3.DistributionSelectionStrategyClient send 30 messages to sl service,for three instance every receive 10 messages by round robin,it is ok as expected 4.let intance3 failover 5.send 30 messages again to sl service,instance3 not receive messages as expected but instance1 receive 29 messages,instance2 receive 1 messages,it is not expected. 6.there is a log about consumer side in attachement when failover,from log we can see: in step 5 send 30 messages,now first message send to instance2,second message want to send instance3,but it failover,so instead it and second message send to instance1,then problem happens: 3rd,4th,5th,....30th all left messages send to instance1.we expect after meet failover endpoint and replaced,continue the round robin. log only about when sending 30 messages again(in step 5),from log,can see which endpoint selected,eg: selecting from [http://provider:8083/services/tesb.test.participants.locatortwo_{color:blue}i1{color}.provider/soap/StandardTestServiceProvider/ means select instance1 Have similar problem for random strategy,after failover,also send to mainly one endpoint.1
561TESB-7756JVM in ESB Runtime (Karaf) Keep files/socket openI published several jobs and ESB services on Karaf. These jobs use an ActiveMQ server, SCP File Copy, MOMInput/Output. When I used many times theses jobs, all network connections are kept in a opened file status in Linux (viewed by lsof command, or netstat -a command). I modify the ulimit and fs.filelimit in the OS in order to manage many open files but no chance. After several jobs runs, I got 'Too Many files open" from TESB log in my container, and lsof/netstat command show a lot of TCP Session open and established. I try to add several "SCP Close command" or TMomCommit but no chance. The only way to reset the files/socket counter is a complete container restart.2
562TESB-7759TESB Registry does not run out of the box in the Talend RuntimeAccording to the readme of the registry the abdera parser bundle to be used in the Talend Runtime has to be patched. Furthermore etc/org.apache.karaf.features.cfg has to be adapted. For a component which is part of the product this is not acceptable. When fixing the isse care has to be taken that both Runtime and Registry can built even if only access to public Maven repositories is available. 1
563TESB-7760SR: Remove the proprietary Registry REST API (as we only support the final AtomPub API for the GA release)This includes source code and documentation in the wiki and in the readme.2
564TESB-7761SR: Validate documents when they are uploaded to the registryAs a registry administrator I want to ensure that documents which are uploaded at least fullfil their corresponding schema. WSDLs, Policy and Policy Attachment documents when uploaded must validated against their corresponding schema. If validation fails they must not be accepted. The response must contain meaningful error description together with corresponding error code. The validation component must be able to validate the generic parts of the different document types, but also a way to plugin extensions to validate specific parts, e.g. propietary policy assertions. By default the following extensions must be provided by default: For WSDL: XML schema, SOAP 1.1, SOAP 1.2 For Policy and Policy attachment: Ws-Security Policies, WS-Addressing Policies WS-Reliable messaging Policies Document in the wiki how to write a validation extension and to integrate it into the registry application.5
565TESB-7789 Using tMomCommit / tMomRollback: Messages send to queue after removing failure reason still remain pending Using tMomInput with keep listening + tMomCommit and tMomRollback. Switching between positive and negative and positive situation does not work. When failure reason is removed newly snet messages to the queue still remain pending.2
566TESB-7793tESBConsumer: refactor to use generic consumercomponent behavior in Studio must remain the same as currently (This enables us to e.g. use policies on the tESBConsumer WSDL level, e.g. WS-Adressing) 3
567TESB-7832Get error 'java.lang.IllegalArgumentException: No JMSDestination parameter specified' using ActiveMQ in RuntimeNULL1
568TESB-7851Route Builder: Typo in camel-string-template feature referenceWe need to backport fix from TESB-7580 on 5.1.3 branch.1
569TESB-7853Enhanced basic authentication options for tESBConsumerWe need to introduce additional options for HTTP Basic authentication: * Digest * Plain Apart from that we have to make sure both of the options are working in TESB Runtime as well as can be overwritten by HTTP Conduit configuration.2
570TESB-7854Route Builder: Support Spring for Route Builder routes.We need to make sure route builder routes could be extended using Sprint XML DSL for configuration purposes. See PMESB-190 for more information. (New 'Spring' - View in teh detail area of the Route Builder )8
571TESB-7855Improved context management for Route-Job integrationUser must able to use staging from development to test to production environments for routes and embedded Jobs. To properly support this scenario we need to streamline use of context across Jobs embedded in the Routes. See PMESB-377 for more information.3
572TESB-7856Improved HTTP proxy development with RoutesHTTP Listener endpoints using the jetty component are quite common and a typical ESB intermediary use case therefore the following enhancement would make it easier to create this scenario. We can enhance existing cHTTP component to support HTTP provider (jetty) use-cases. See PMESB-371 for more information.3
573TESB-7857Extended support of SOAP Headers in tESBConsumer componentCurrently tESBConsumer has no ability to pass over a custom SOAP headers with the SOAP request. In some use-cases we need such ability therefore we need to design and implement a first version of custom SOAP Headers support for tESBConsumer. Following should be done: * Custom SOAP Headers support should work out of Studio and Runtime. * Custom SOAP Headers should be dynamic - we need to have ability to create SOAP Headers with each and every request. For more information please see PMESB-246.3
574TESB-7859Improved support for WS-AddressingIn some of the cases we seen that WS-Addressing fields configured in WSDL are understood by tESBProviderRequest-Response however not properly used by tESBConsumer. We need to better unrestand and streamline the usage of WS-Addressing attributes across Consumer-Provider scenarios and if required make explicit configuration options available for tESBConsumer. See for example PMESB-384 with sample WSDLs.3
575TESB-7876SR: Add a java)sample to the registry project (RAC with SR)Sample should show how to use Rent-a-Car with User Name Token based authentication. Ideally the bundles from the plain RaC demo can be re-used, so that no new sample code is necessary. The demo should include the relevant WSDL's and policies. Furthermore a readme needs to be added describing the necessary steps to successfully execute the sample. The readme should describe upload via commands in consoles and via command line with tool like curl.2
576TESB-7883Route Builder - cTalendJob - When calling jobs from routes using cTalendJob values of header fields that accidently have the same name as context fields will overwrite the values of the context fieldsThis appears to be a pretty dangerous way of value passing. Actually context values and header fields (which should finally picked up by tRouteInput components) should be strictly separate to avoid unintended side effects (aka "senior consultant features").2
577TESB-7918SR: All atom pub collections provided by the registry should provide paged feeds as described in RFC 5005.SR: All atom pub collections provided by the registry should provide paged feeds as described in RFC 5005.3
578TESB-7919Ensure XACML registry and service registry can run in the same runtime in parallelBoth components use Jackrabbit as their content repository but until it was not tested whether they can co-exist using one Jackrabbit instance. Ensure this is possible.2
579TESB-7920Design a public REST Service for SAM Event retrievalDesign a clean RESTful Retrieval API for the Service Activity Monitoring and document it. The new APi shall serve as replacment for the Proxy and Servlet stuff currently used by TAC. The design must be documented in the wiki. Initially TAC will be the main consumer, but also other clients must be able to use it. The Media Type supported should be Json.3
580TESB-7925Prepare the 5.1.3 releaseWe need to update to the latest cxf 2.6.x version. This upgrade needs of course also to be tested.2
581TESB-7974Service Registry: Can not successfully install tesb-registry-server to runtime at first time1.unpack new runtime 2.karaf@trun> features:install tesb-registry-server 3.karaf@trun> list {panel} [ 233] [Active ] [Failure ] [ ] [ 80] Talend ESB Registry :: Server (5.3.0.SNAPSHOT) {panel} tesb.log: {panel} 09:51:35,869 | ERROR | rint Extender: 1 | lueprint.container.ServiceRecipe 302 | 9 - org.apache.aries.blueprint - 0.3.2 | Error retrieving service from ServiceRecipe[name='.component-1'] org.osgi.service.blueprint.container.NoSuchComponentException: No component with id 'registryServerBean' could be found org.apache.aries.blueprint.di.RefRecipe.internalCreate(RefRecipe.java:55)[9:org.apache.aries.blueprint:0.3.2] org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:64)[9:org.apache.aries.blueprint:0.3.2] org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:219)[9:org.apache.aries.blueprint:0.3.2] ... {panel} 4.restart runtime again karaf@trun> list {panel} [ 233] [Active ] [Created ] [ ] [ 80] Talend ESB Registry :: Server (5.3.0.SNAPSHOT) {panel} can see tesb-registry-server is installed successfully after restart.2
582TESB-8002Import-Package Dialog Does not seem to recognize version rangesI am trying to add a package dependency via the Edit Manifest capability, and to my surprise I get an invalid range. The range is 2.7.0 - 3.0.0, but any range seems to fail. See attached screenshot.2
583TESB-8009Fix code part auto-selection when switch page from Designer to Code with selected a ESB component.Use route editor. If chosen a component node when switch page from designer to code, will not choose related codes. This feature is work on job editor. Then I fixed it by modify TalendJavaEditor! I don't know how to report&apply these stuff. Not commit yet.3
584TESB-8061cTalendJob - Simplify access from route to jobUser must be able quick and easy access job configured in cTalendJob. Right click on the cTalendJob -> in the menu something like 'Open Job' -> in result corresponding Job opened in Integration perspective. One more solution: Double click on cTalendJob -> in result corresponding Job opened in Integration perspective.1
585TESB-8062Service Locator support for tRESTRequestImplement support for SL in the tRESTRequest component. Add option 'Use Service Locator' to the component. How to integrate with runtime part look into example Talend-ESB-V5.3.0-SNAPSHOT\examples\talend\tesb\locator-rest\2
586TESB-8063Service Locator support for tRESTClientImplement support for SL in the tRESTClient component. Add option 'Use Service Locator' to the component. How to integrate with runtime part look into example Talend-ESB-V5.3.0-SNAPSHOT\examples\talend\tesb\locator-rest\3
587TESB-8064SAM support for tRESTRequestImplement support for SAM in the tRESTRequest component. Add option 'Use Service Activity Monitor' to the component. Investigate/implement what should be done to intergate with runtime.2
588TESB-8066SAM support for tRESTClientImplement support for SAM in the tRESTClient component. Add option 'Use Service Activity Monitor' to the component. Investigate/implement what should be done to intergate with runtime.1
589TESB-8069Data Service (SOAP): Provider support xsd:include + xsd:import and external schema location during WSDL importUser must be able to create Data Service based on WSDL which 'include' external schema(-s). In result: - service is created, - schemas are imported into xml metadata, - exported service can be imported into other Studio, and schemas can be imported into xml metadata.3
590TESB-8070tESBConsumer: support xsd:include + xsd:import and external schema location during WSDL importUser must be able to configure tESBConsumer component with WSDL which has 'includes' for external schemas. In result: - tESBConsumer component is configured and works from Studio and Runtime, - in case 'Poppulate schemas' option is checked - external schemas is imported into xml metadata2
591TESB-8074Data Service (SOAP): Enable Authorization (ESB SOAP Consumer & Provider) - Provider User must be able to configure Data Service to enable Authorization. For this we are going to add checkbox 'Authorization' (enabled only if one of the Authentication types is used.). We need to provide another policy name in the provider configuration during export. This should be enouth to enable authorization (check with Runtime team). Authorization itself should be configured in the Runtime (users, roles, resources, actions). - Consumer User must be able to configure tESBConsumer to invoke authorized call. For this on tESBConsumer configuration should be added checkbox 'Authorization' and text field 'role name' (optional). Most probably the only thing also to do - change Generic Consumer to use another policy name in case authorization is enabled. Examples for Authentication is in the Runtime: Talend-ESB-V5.3.0-SNAPSHOT\examples\talend\authorization\ UPD: this feature should be available only in Studio EE2
592TESB-8081BPM-ESB: Prepare Talend specific examples for BPM-ESB integrationCreate and deliver Talend specific examples for BPM-ESB integration. As first example we can take Rent a Car example created by Bernhard Schuhmann. Example should contains description how to use it. RaC example (.bar file) should be integrated into Studio (org.bonitasoft.studio.workspace.ex_1.0.0.5_8.jar\workspace\My Examples\). Please check with Carsten how to do it. Example should work with RaC services deployed to Runtime. Example should be available in the Studio via menu Process -> Open Example...1
593TESB-8082Implement Talend BPM-RESTClient connectorUser must be able call REST services from the BPM process.5
594TESB-8084Expose BPM Process as REST ServiceAs a process designer in Talend Studio I would like to expose my business process as ESB REST Service on Talend ESB. We need to reuse 'Create BPM Service' wizard we implemented for Data Services. On page 'Select BPM Process' we need to add radio buttons: - SOAP service - REST service For 'SOAP service' - visible configuration for generating Data Services (as is now) For 'REST service' - configuration for create REST service: - REST endpoint (default is "/services/<process_name>") In result wizard will generate (just a proposal): - REST job (tRESTRequest -> tXMLMap1 -> tBonitaInstansiateProcess -> tXMLMap2 -> tRESTResponse) which start BPM process - tRESTRequest should be configured for one POST operation: uri == '/' - tRESTRequest should accept XML payload with parameters that should resemble process data (exactly the same for Data Services) REST service produced by Wizard should work from Studio and deployed in Runtime.3
595TESB-8090Adapt all clients of XACML registry to use only the ATOM based service.Adapt all clients of XACML registry to use only the ATOM based service. Currently ATOM is only used for collection retrieval, not for single policy retrieval and for the initial test upload. Adapt PDP, initial policy upload and all test cases accordingly. Main motivation is to remove the need to install both the atom-rest and the (pure) rest feature in order to use XACML registry.3
596TESB-8104Upgrade to CXF 2.72 for TESB 5.2.2We need to upgrade to CXF 2.7.2 because of some critical fixes included this version. As part of this upgrade we need also to test the runtime. The following tests should be included. - All our CXF related examples - Rent A Car all - Deploy and run some Data Services (server and client) - Deploy and run some routes using CXF2
597TESB-8109Provide a means to check consistency and quality of the Service Registry documentsAs maintainer of the SR artifacts I want to ensure the artifacts have a certain level of quality so that lookup results are usable at runtime. Artifacts uploaded to the registry are by default valid. Still this is not sufficient to ensure data is usable, e.g. references to other artifacts may not be resolvable or artifacts might be inconsistent. As the requirements of different Service Registry users may vary the checker should be extensible via plugins. The scope of this feature is to provide the framework for the checker, one plugin which recursevly checks that all references in a registry document are resolvable, and documentation how to write and integrate further plugins. Part of the framework is also to specify a response format to provide the report of a check execution. Check of a specific Service Registry should be exposed as a resource, which only accepts GET and returns the corresponding report. The URI of the "check" resource must be included as a {{<link>}} element in the AtomPub entry of the corresponding registry document. Also define a meaningful link relation type as part of the link element. 3
598TESB-8123SAM: New RESTful Retrieval ServiceBased on the design made in TESB-7920 reimplement the retrieval interface using CXF JAX-RS.5
599TESB-8124Provide Karaf commands to maintain the content of the registryAs a developer or operator I will have a quick way to mainatin documents in the Service Registry. Review the already existing commands, implement missing ones, document them all.3
600TESB-8125Provide Karaf macros to start & stop the Service RegistryAs an operator I want a simple way to install and start a registry in a Talend Runtime. Same for stop and uninstall. -Instead of macros you may also implement real Karaf commands.-1
601TESB-8126Enable Service Registry to restrict access via Basic Authentication or SAML TokenAs an operator I want to restrict access to the registry. User must be able to configure the registry so that access is restricted via Basic Authentication or SAML Token. Validation of user in case of Basic Authentication must be done with the help of the jaas login module provided in the runtime. Document the steps the user has to take to restrict access via Basic Authentication or SAML Token.1
602TESB-8136Upgrade to CXF 2.7-SNAPSHOT for TESB 5.3Extensive testing is not necessary, just smoke testing1
603TESB-8273Route Builder: cTalendjob context parmeter value can't use int type in context.Route Builder: cTalendjob context parmeter value can't use int type in context.3
604TESB-8305cTalendJob - job creation wizardAdd to cTalendJob the ability to create a job via a wizard, if the job doesn't exist in the repository yet. Typically the job should contain a tRouteIn and a tRouteOut, just like the job generated when creating a SOAP Service from the Service node.2
The file is too large to be shown. View Raw