4 Followers · 342 Posts

Caché Server Pages (CSP) is both an architecture and toolset used to build an interactive web applications with the InterSystems Data Platform.

Question Greg Arnold · Apr 12, 2017

We are using an F5 load balancer to route public traffic to our IS server. My goal is to block public access to the Management Portal, and only allow what we want to expose, such as REST/SOAP services. At the F5, they can block URL wildcards or specific ports, so those are our options.

Since the URLs for the web services are in the same path ([host]/csp/healthshare/[namespace]/*), I can't see any URL wildcards happening. That leads me to ports; is there a way to put services on a specific port for all services, and everything else stay on a standard web port?

Any insight or ideas would be

5
0 449
Question Jim Regan · Mar 24, 2017

I have a 100% ZEN application combined with 100% ZENReports and am also using IFind which is part of the solution.

 Our application is a cloud hosted solution where we lease a server which does not have a website, only  Cache configured under IIS.  Connectivity to our site is premised on a URL string such as  u12345.usa-server.com/csp/namespace/Cache.cls

With the release of Firefox V52 this connection string is now seen as security threat as we have an application login page using  two <password> controls.

2
0 347
Question Fred Gustafsson · Feb 2, 2017

So I installed Atelier, created my project, imported and compiled all my classes but now I need to import all my CSP files too but I can't find any instructions on how to do so. Just copying the files into [project]\CSp\csp is not working as they don't show up in the project tree.

2
0 597
Question Chris Stewart · Jan 5, 2017

I'm currently re-engineering an application from CSP pages directly accessing COS Methods, to an Angular/Material front end accessing a REST DAL.  Both the Angular front end and REST services are hosted from the same Caché instance and the same namespace, but the REST services have their own CSP application, with all calls being routed through a Dispatch class.  

I've come across an architecture issue recently, and am trying to assess the options I have. At present, we encode a call to a class which takes in an OID and returns the Stream to the browser.

5
0 639
Question Rajath Muthappa · Nov 9, 2016

Hi all, Basically i have 2 queries..

  1. Is there any simple way to fetch the data directly from the database (using the URL and credentials) from the csp file without creating a link table for that particular Table...?? If there is, could you please share the syntax of using them ..?

  2. Can we have an object return type from the below mentioned method to a javascript function.. ???

<script language="cache" method="methodName" arguments="argument1" returntype= "Not sure of the return type"> QUIT object </script>

9
0 881
Question Uri Shmueli · Nov 10, 2016

Hi all,

We've found that in most cases when we open a new CSP session the CGI varaiable %CGIEVAR("HTTP_COOKIE") contains the client name.

It looks like that : "state=SYSADM%3A0; Username=Urish; CSPWSERVERID=Cache for Windows (x86-64) 2013.1.1 (Build 501_1_13062) Sun Aug 11..."
In some other cases this CGI only contains  $zv - like "CSPWSERVERID=Cache for Windows (x86-64) 2013.1.1 (Build 501_1_13062) Sun Aug 11 2013 23:20:33 EDT"

We are searching for a way to get the username (we need to stop using activex controls, like WScript.Network-->dNET.UserName), and this might be a good solution, if we

2
0 487
Question Rajath Muthappa · Nov 8, 2016

Hi,

Currently i am building a CSP application using Intersystems cache to automate few tasks in Ensemble. Basically, I have 2 .csp class files, file1.CSP and file2.CSP in namespaces namespace1 and namespace2 respectively. On satisfaction of a condition I forward the request from file1.csp to file2.csp. while forwarding it prompts me to enter the log-in credentials again as the second .csp file is in a different namespace. Is there any way i can bypass the login screen while forwarding the request from 1 csp to another (as i am using the same credentials for both the namespaces) ?

PS: While

3
0 461
Question Rajath Muthappa · Nov 8, 2016

Hi,

I am using the &sql () tag to retrieve the value from the Cache DB.

below is the piece of code i am using:

script language="cache" method="retrieveDetail" arguments="pVariable" returntype="%String" &sql( select columnA, into :tempVariable1 from TABLE where COLUMNC = pVariable

quit tempVariable1

i have to return the ColumnA value back to the calling procedure.

can i know how it can be done ? since i am getting an javascript error.

4
0 500
Article Alexander Koblov · Oct 12, 2016 1m read

Interesting anecdote I want to share. Not 100% Caché related, but I hope it would be useful.

When CSP Gateway is configured on IIS, opening CSP Gateway Configuration page is prohibited by default -- as IIS blocks URLs with '/bin' in it.

In our documentation we advise to add <remove segment="bin" /> to applicationHost.config file. That is correct.

Recently I had problem when manual editing file Windows\System32\inetsrv\config\applicationHost.config has absolutely no effect on IIS.

Turned out (http://serverfault.com/a/599865) IIS was 64-bit and notepad++ that I used for editing was 32-bit.

So,

0
0 1075
Question Chris Stewart · Oct 7, 2016

Hi


I have been working on changing a web application from using %FileBinaryStream to storing and serving the file content from a %Stream.GlobalBinary property, stored in a new database.  I have managed to migrate the data across, and have also been able to redirect the stream so that it is being served through the web link.  However, the previous method set attributes on the File stream to have the stream be rendered as the original file type through MIME, using this code

do stream.SetAttribute("ContentDisposition","inline; filename="_filecvt)

This method is not supported by

2
0 1128
Question Lutz Vogt · Aug 4, 2016

Hello,

we build a COS-application which includes classmethods for running a simulation calculation (differential equations by Runge Kutta procedure) which runs well but needs too much time. This is embeded in Cache Server Pages and we tried already to start the simulation as a JOB to avoid the CSP-timeout.However the Job needs of course also too much time.May be this could be solved by a different strategy to run the simulation calculation by an external Windows -Programm (developed with Delphi).

8
0 1712
Question sansa stark · Sep 20, 2016

Hi All,

         The onHTTPHeader using for redirect body statement.but this not support cache 2016.

     This method return the following text.

�Xmw�:�ܜ��0��-��4�ܒ&��Ro)�����XA�D���=����6༴��������h4#���\�d��iH�Լ'K�Y��P8��juf׾��=<����+6�#�w�9��!�\��'�dK*O����a�a��7��@&\�ǰ�?�=Az(���^�+IU((�2�����n^N��#��SP�i��Q��!d��0a��A �Ѫ��%&��׉�@��o�)���"���Jy��̄��ԝ�#��� \$.[������R�!���K���G�{�c��׺���r�w�P�?�g�w�녫��Y[0һ�����ly~w�[�������?�������ߟ?_N���ym|k��ϟD�Z�pt�����C����M٧�&&�b���0.�����f��d�ŚPx�ԣ )} +�q���^&�'�8�Ȕ0�����(�'����C"���5�n�p���}�]

4
0 410
Question sansa stark · Sep 20, 2016

Hi all,

         In CSP page we get data from Class via Query method.

         <TD valign=top>#(DEOBJ.Get("Comments").Read())#</TD>

         The problem is we couldn't get the stream property value.

        (Property Comments As %Stream.GlobalBinary)

Thanks,

sansa.

         

2
0 399
Question sansa stark · Sep 14, 2016

Hi,

  I was set one session in user namespce (%session.Data("sup")="login User ").but i couldn't get this session(%session.Data("sup")) in  another namespace.

Cache version:cache 16

but i can acces in cache 5.02.

4
0 1153
Question Jose Antonio Cañizares · Sep 9, 2016

Hi all,

Do anyone know how to force to close the CSP connection used before redirecting to a different page so a new connection ( and therefore a new session id) is generated?

The idea is to generate new CSP session once we log off our application so the session identifiers are different.

Best Regards

4
0 608
Question sansa stark · Sep 8, 2016

Hi ,

We upgraded cache 5.02 to cache 16.In this version it is having problem with "$$$" macros.

These are the error's eating my time. i tried to figure it out but there is no exact solution .

MPP5610 : Referenced macro not defined: 'CSPSessionTimeout'
MPP5610 : Referenced macro not defined: 'CacheError'

I checked the check list also "These macros will be the only ones displayed by StudioAssist when the sequence, “$$$”, is recognized during program input. The full set of macros and their definition can be displayed via the $SYSTEM.OBJ.ShowMacros method"

there is no definition for

3
0 323
Question sansa stark · Sep 7, 2016

Hi All,

      While upgrade cache 5.02 to cache 16.

     $$$CacheError and $$$CacheError not support in cache 16. 
     We need solution for this?

<csp:CLASS super=%CSP.Error>

<script language=Cache method=OnPreHTTP arguments="" returntype=%Boolean> Quit 1 </script> <script language=Cache method=HyperEventError arguments="" returntype=""> New ErrorInfo,ErrorNumber,message Do ..DecomposeError(%request.Get("Error:ErrorCode"),.ErrorInfo) Set message="Show System Error Message\n\n" For i=1:1:ErrorInfo { Set message=message_$ZCVT(ErrorInfo(i,"Desc"),"O","JS")_"\n" Set
1
0 649
Question Laura Cavanaugh · Sep 1, 2016

I've noticed that Management portal somehow manages to allow a single user to be in different namespaces in different tabs in the same application (i.e. Management Portal).  I've looked at my Processes, however, and see that all of my processes using MgmtPortal think I'm in %SYS, even though 2 of them are looking at globals in two different namespaces; NamespaceA and NamespaceB.  

I can even fool MgmtPortal because the first time I try to look at a global in NamespaceA it thinks I'm in %SYS!  After a refresh, however, I can see the global in NamespaceA.  

How does MgmtPortal do this?

8
0 843
Question sansa stark · Aug 26, 2016

Hi ,

           i need to configure the CSP for IIS 8.5 .

          Server:windows 2012 R2 64 bit

          Cache version :5.02

         We followed the document "http://docs.intersystems.com/cache20152/csp/docbook/DocBook.UI.Page.cls?                       KEY=GCGI_win#GCGI_iisv7".

         We  got error 

HTTP Error 404.17 - Not Found

The requested content appears to be script and will not be served by the static file handler.

 please help...

1
0 914
Question Tamara Lebedeva · Aug 22, 2016

Hi, all. I have CSP application and it needs to get and process data from ajax request with json-content. JSON can be very big. In this case: TRY { Set RequestObj = ##class(%Object).$fromJSON(%request.Content.Read()) } CATCH(Exception) { Set Status=Exception.AsStatus() } I get just part of getting JSON and validate error in $fromJSON. If I try to read it all in cycle: TRY { While (%request.Content.AtEnd = 0) { Set Data=Data_%request.Content.Read()
I get <MAXSTRING> error.

6
0 1679
Question Ponnumani Gurusamy · Aug 12, 2016

How to get a user input in cache . Below this program run in browser but displayed the error of "

Caché Server Pages Version 2016.1.1.108.0

Error Condition      The processing of the request was interrupted

CSP application closed the connection before sending a complete response"

<html>
<head>
<title>User input </title>
</head>
<body>
<script language="Cache" runat="server">
"enter 1ST num",x
"Enter 2ND num",y
= x+y
z
</script>
</body>
</html>
 

1
0 695