Hi Shobha, here is the relevant documentation about using Ensemble with SOAP:


This should give you some background about using Ensemble to send and receive SOAP messages. I would suggest reviewing this and letting us know if you have any specific questions, configuration problems, errors, etc. You can also reach out to Support or your InterSystems Sales team with more involved questions that might be easier to discuss on the phone rather than in the Developer Community.

Hi Jean,

I tried out the Eclipse SQL Explorer and was able to connect to my local instance just fine. I installed the plug-in using the update site from the link you provided, http://eclipsesql.sourceforge.net/.

Then I opened the associated perspective by going to Window > Perspective > Open Perspective Other > SQL Explorer. I right-clicked in the Connections view and hit New Connection Profile. I had to select Add/Edit Drivers to add the Caché JDBC driver with these settings:

The keys were to 1) select the Extra Class Path tab and Add JARs to pick the JDBC driver from my Caché install directory and 2) to add the correct Driver Class Name, com.intersys.jdbc.CacheDriver.

Once I had that configured I selected it in the Connection Profile Wizard, entered my JDBC connection URL, jdbc:Cache://localhost:56773/SAMPLES, and selected the authentication information:

This also worked for me when I unselected "Username is not required", checked "Auto Logon" and entered my Caché credentials.

I right-clicked the connection and hit Connect. Then double-clicking the connection (listed as "Connected since <timestamp>") opened the connection in the Editor where I could enter my SQL statement:

Where are you running into problems?

You can open the BPL graphical editor in Atelier by opening the class code, right-clicking anywhere on the code in the Editor and selecting "Open diagram editor".

As Joyce mentioned, there will also be a Developer Community post coming soon about the way to view the DTL/BPL graphical editors in the current version of Atelier.

You can copy a whole package of classes or routines to an Atelier project. In the Server Explorer, right-click the package under the Classes or Routines tree and select Copy To Project. Pick the Atelier Project to copy to and on the next page of the wizard you should see a list of all of the classes or routines that will be copied over.

That was true in older versions of InterSystems products, when cached query code was stored in routines rather than classes. A problem could occur if a query executing in one process required round trips from the client to server and a separate process purged cached queries while the client application was still using it. Development resolved this by moving the cached query code into classes - the class definition and OREF are now stored in memory until the client process is done executing the query. This makes purging cached queries safe on a live system in more recent versions.

The change was implemented starting with Caché 2010.2.0 for dynamic SQL and Caché 2012.2 for xDBC queries.

I spoke with development and the fix for this bug will not be in the product until 2017.1 versions and later. (However I also haven't seen this behavior reported outside of 2014.x versions.)

1. You can create a new legacy task (allows you to run COS code) in your application namespace from the System Management Portal: http://docs.intersystems.com/cache20141/csp/docbook/DocBook.UI.Page.cls?...

The command to purge all cached queries in the current namespace is "do $SYSTEM.SQL.Purge()". That is described in our class reference here: http://docs.intersystems.com/cache20141/csp/documatic/%25CSP.Documatic.c...

2. I am checking in with development on which Caché version resolved this bug.

Development did a code review and determined that this is a bug with the cached query generation code in Caché 2014.1. As far as I know we've only seen this for queries executed via xDBC.

There is a place in the cached query generation code where an error may not be properly trapped. In this case the cached query routines are not created properly, but no error is reported back. Then when Caché tries to use that cached query code to execute the query the expected methods do not exist.

The possible solutions we've come up with:

1. Create a task to purge cached queries in your application namespace - Pick a task frequency that means it will run more often than you have seen errors occur. This way you aren't stuck manually purging cached queries whenever an error pops up.

2. Get a development patch containing some fixes for your version of Caché - For this you will need to contact either your InterSystems Sales team or Support to file a WRC case. Note that our development patches do not go through our standard QD testing process. If you apply this patch you will be working with a version of our code that has not gone into any released product.

3. Upgrade your instance - This is the only long-term solution. Our cached query generation code has been rewritten in later versions of the product and this is no longer a problem.

You can use the Outline view in Atelier for information about the current class' properties, parameters, class methods, etc:

There is an enhancement request to show inherited members in the Outline view which is currently planned for Atelier 1.1.

Atelier's code completion, which can be accessed by hitting ctrl+space, is also a good tool here. For example you can use code completion to quickly check the possible options for an index's keywords (with documentation):