Location of PTA in server 

Location of PTA in server 

  

Hi,

Is there a difference, in terms of folder structure,  between the PTA and the Public area (ver 4.2)? Where can i locate the PTA folder in the server?

Many thanks,

Dror
Hi Dror,

The PTA of each user for each eSpace is stored in the foder [Platform Installation Folder]/test/[eSpace Name]/[Username] .

Please be aware that this is a platform internal folder where the applications are deployed whenever you run your eSpace, so you should not change its contents.

Kind regards,

Daniel Lourenço
OutSystems


Wow, Daniel that was fast :) 10X

Is there a difference in term of code execution, dependencies ect. between debug mode (run) and code execution in the public area. I have an espace which works fine on the Public area but once debugged in my pta (or any other), it fails with an error. Any Ideas?

Dror
Hi Dror,

From what you said, I believe you are using the OutSystems Agile Platform 4.2. Can you tell us exactly which are your versions of Service Studio and Integration Studio (going to Help>About) and your OutSystems Server version (by clicking the About link in the Service Center footer)?

How did you specify the dependency in your extension? Can you share it with us? If you cannot share the extension here, please submit your extension and description of your problem to support@outsystems.com .

Kind Regards,

Daniel Lourenço
OutSystems

Daniel hi,

OSS ver is 4.2.4.64
IS       ver 4.2.4.55

Dependencies are as follow:
"getMeteringData" Espace action - receive parameters from site properties and preceding flow
       - getMeteringData Extension call - Make a secure calls to Web Service using WSE3  . references the following file
               - Microsoft.Web.Services3 dll
               - wse3PolicyCache.config policy file

getMeteringData  extension call  makes no use of user-specific data as parameter

From what i've seen, folder structure, wse3PolicyCache file and web.config are identica in the PTA and public. 

Unfortunatly i cannot deliver the extension file.

Many thanks,



Does the web.config of the pta inherits settings from the web.config file of the public area? Or is it exact match? i.e can be a stand alone app.

Dror
Hi Dror,

The web.config should be an exact match.
Can you tell us your IIS version?

Which configuration for the WSE3 have you added to the web.config file (if any)?
Are they the same trough all web.config files (global, Public and PTA area)?
Can you post these configurations here?

Best regards,
Renato Gonçalves
Hi,

We're making the use of IIS version 5.

The following configuration was added to the web.config file:

<microsoft.web.services3>
    <security>
      <x509 allowTestRoot="true" verifyTrust="false">
      </x509>
      <binarySecurityTokenManager>
        <add valueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3">
          <keyAlgorithm name="RSA15">
          </keyAlgorithm>
        </add>
      </binarySecurityTokenManager>
      <timeToleranceInSeconds value="3600">
      </timeToleranceInSeconds>
    </security>
    <policy fileName="wse3policyCache.config">
    </policy>
 </microsoft.web.services3>

web.config in the public and PTA area the same with difference in:
<system.webServer>
    <modules>
      <add name="UnhandledExceptionModule"...
and
device name="OutSystemsHtmlDeviceAdapters" inheritsFrom="HtmlDeviceAdapters-ShippedSource">
        <control ...


This is what i'm getting in the Error log of the servicecenter:

2010-07-06 13:55:04

38

37

[2] The entry 'http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3' has already been added.

 

SRVXXX

 

2010-07-06 13:55:04

38

37

[1] WSE032: There was an error loading the microsoft.web.services3 configuration section.

 

SRVXXX

 

2010-07-06 13:55:04

38

37

WSE032: There was an error loading the microsoft.web.services3 configuration section.

Extension metho

SRVXXX

 







I'm getting quite frustrated about so any help will be gladly appericiated.

Dror

Hi,

I've  also forgot to mention that the settings in the we.config are private to one eSpace and not share amongst others (configured using the SS Factory Configuration).

You've also refered to Global web.config (Machine.config?). Where can i locate it?

Dror 
Hello Dror

As the error message says, the problem is that the web.config inside the PTA, is also loading the web.config of the public area, because in IIS, the pta virtual directory is located under the public area virtual directory. For example, if you have the espace Contacts, and your username is dror, you'll have:
  • the virtual directory Contacts, which is the public area of this espace
  • the virtual directory Dror, inside the virtual directory Contacts, which is your pta for this espace
This allows you to access your pta through the URL http://server/Contacts/dror.

The problem is that the IIS 7 loads the .config files from parent virtual directories as well. In fact, when an application (in this case a pta) loads into memory, the .NET Framework worker process will load:
  1. The machine.config file (from c:\windows\microsoft.net\Framework\v2.0.50727\CONFIG folder)
  2. The global web.config file (from c:\windows\microsoft.net\Framework\v2.0.50727\CONFIG folder)
  3. The web site root web.config file, if it exists (it depends on what is the path of the web site root)
  4. The public area espace web.config file (located on the Platform Server installation directory, under running\espacename)
  5. The user PTA espace web.config file (located on the Platform Server installation directory, under the test\espacename\username)
Both the public and personal test areas web.config files are the same, and since they are loaded due to this configuration hierarchy, unique keys and unique modules when added in the web.config of the espace, this type of errors are bound to happen.

The solution that we recommend, is to define these new and custom sections of the web.config, with the <location> attribute with inheritInChildApplications set
to false.

As an example, I would recommend to change the provided custom web.config, to become something like:


<location path="." inheritInChildApplications="false">
<microsoft.web.services3>
    <security>
      <x509 allowTestRoot="true" verifyTrust="false">
      </x509>
      <binarySecurityTokenManager>
        <add valueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3">
          <keyAlgorithm name="RSA15">
          </keyAlgorithm>
        </add>
      </binarySecurityTokenManager>
      <timeToleranceInSeconds value="3600">
      </timeToleranceInSeconds>
    </security>
    <policy fileName="wse3policyCache.config">
    </policy>
 </microsoft.web.services3>
</location>

This will prevent the custom setting to be inherit by the child application (the pta), avoiding the duplicate error when loading the application. More information on how to perform this can be found at http://www.aspdotnetfaq.com/Faq/how-to-disable-web-config-inheritance-for-child-applications-in-subfolders-in-asp-net.aspx, and the above links to the correspondent configuration elements.

Hope this information is helpful in overcoming this problem.

Cheers

Miguel Simões João


Migue,

THANK YOU! Following your instruction solved my problem (but not the 2 days out of my life...)

Dror