Showing posts with label AgilePoint Server. Show all posts
Showing posts with label AgilePoint Server. Show all posts

Thursday, December 22, 2011

How to set up Virtual Network

 

Domain Controller Machine

  1. Set up domain controller
  2. Enable DHCP
  3. Set VMWare Network Adaptor to Host-Only
  4. Set IPv4 Info:
    • IP: 10.0.0.2
    • Subnet mask: 255.0.0.0
    • Default gateway: 10.0.0.1
    • DNS: 10.0.0.2

Other Machine

  1. Set VMWare Network Adaptor to Host-Only
  2. Set IPv4 Info:
    • IP:  Anything starting from 10.0.0.3
    • Subnet mask: 255.0.0.0
    • Default gateway: 10.0.0.1
    • DNS: 10.0.0.2
  3. Join to the domain (My Computer > Property > Computer name)

Related Articles

How to Create a Domain Account in Active Directory

Thursday, December 8, 2011

How to get the IIS logs for AgilePoint Server in IIS 7.0

1. In IIS 7.0, click the Sites node, then get the ID for AgilePoint site.

 clip_image001

2. Click on the AgilePoint node under Sites, then click on Logging icon.

clip_image002

3. Get the value for Directory:

clip_image003

4. Navigate to the location and select the subfolder with AgilePoint site ID. The IIS log file(s) is under that folder.

 clip_image004

Friday, July 22, 2011

Configuring Windows Service (WCF) AgilePoint Server

 

There is one tricky step in configuring the Windows Service version of AgilePoint Server.

After installing the AgilePoint Server, you launch the AgilePoint Server Manager below to enter the configuration info.

image

Once you are done with entering all the info and click the ‘Update’ button, it might freeze for a while and finally display below error.

 image

This means something is preventing the Server Manager Configuration tool to enter the WCF binding elements into the web.config of Enterprise Manager. To solve this, launch the Windows Service Client Utility Tool from below default location

C:\Program Files\AgilePoint\AgilePoint Server\SVCUtilityTool\AgilePointWindowsServiceClientUtilityTool.exe

image

For the ‘Service address’ textbox, enter the http URL of AgilePoint Server. This is the tricky part. The port number shall be used in this URL is the http port number of AgilePoint Server that you entered in the AgilePoint Server Manager UI (see picture above), not the port number for Enterprise Manager.

Note that for IIS version of AgilePoint Server, the AgilePoint Server and the Enterprise Manager have to be installed at the same port number. But for Windows Service version of AgilePoint Server, the http ports of AgilePoint Server and Enterprise Manager can be different.

For the ‘Target Config’ textbox, enter the location of web.config of Enterprise Manager. Since you select a site for Enterprise Manager at the AgilePoint Server Manager tool, you can check the location of the virtual directory of the site at IIS Manager.

Click the ‘Generate’ button after this. It might take a while to execute.

If you see this error:

“The config was not generated, please check the Service address”,

image

then just launch the Services console and make sure the credential you use to run the windows service is right (Right click the AgilePoint service in the Services Console > Property > Log On tab). You might need to re-enter the username and password.

image

image

Then start the AgilePoint Server service (Right click the AgilePoint service in the Services Console > Start).

image

Also, check to make sure the path of the Enterprise Manager web.config is correct.

After this, launch the AgilePoint Windows Service Client Utility Tool and try again.

Thursday, July 21, 2011

Referencing AgilePoint Web Service

I was asked this question:

I am trying to reference the Ascentn Web Service per the documentation:

http://myserver:9000/AgilePointServer/Workflow.asmx?WSDL

I first referenced the web service as a "Web Reference", according to the instructions here:

http://crm.davidyack.com/journal/2007/10/21/referencing-web-services-with-visual-studio-2008.html

But, when I compile the proxy, I get all sorts of "duplicate definition" errors. For example:

"The namespace Workflow.Workflow already contains a definition for category".

I then referenced the web service as a "Service Reference", the Visual Studio 2008 default. However, I still get similar errors when compiling the proxy.

Suggestions?

By default, the option of Web Reference is not displayed in the Solution Explorer. As mentioned in the link, right click “Service Reference”, then choose “Add Service Reference ..”, do not enter the WSDL URL in the “Add Service Reference” windows, but instead, click on the “Advance” button at the bottom of the windows. Then, click on “Add Web Reference” on the next screen. After that, just enter the AgilePoint web service URL, click “Go” then add the web reference.

clip_image002

clip_image004

clip_image006

Monday, July 18, 2011

Troubleshooting NLB Issue

Here is the issue:

Environment:

a) Two AgilePoint Servers  in VMWare ESX virtual environment.

b) Cisco NLB device for network load balance

c) Two SharePoints on physical machine in NLB

Symptom:

AgilePoint task list web part on SharePoint works or not work sometime.

- Error message from web part: Unable to connect AgilePoint Server. Verify the Impersonator credentials in AgilePoint Configuration List

- Check AgilePoint SharePoint log file, it HTTP 401, Unauthorized

Steps to solve the issue:

STEP1:

a) Run TestWSConn.exe (AgilePoint test tool for cluster) and connects local AgilePoint Server – worked fine

b) Run TestWSConn.exe on SharePoint machine and connects one of remote AgilePoint Servers directly (no cluster name/IP) – HTTP 401, Unauthorized

c) Run setspn.exe, TestWSConn.exe worked from remote machine

STEP2

a) Run TestWSConn.exe on SharePoint machine A and connects AgilePoint Server using cluster name/IP -- worked fine

b) Run TestWSConn.exe on SharePoint machine B and connects AgilePoint Server using cluster name/IP --  HTTP 401, Unauthorized

c) Reset IIS of AgilePoint Servers. It worked on SharePoint B, but not on SharePoint A.

d) Switch non-sticky mode to sticky mode on Cisco NLB device. Both A and B worked fine.

Challenge from customer in this case:

Usually, the team we worked with does not have permission to configure the machine, device and Windows. So they are reluctantly to bother administrator of network, domain, virtual environment. They would try to prove the issue is caused by AgilePoint product. Here is the challenge:

a) They show you the cluster name/IP works on IE by browsing AgilePoint Server web service --- means  web service works fine

Answer: browsing web service wsdl does not go through authentication, so it does not prove the authentication is fine.

b) They show EnterpriseManager works fine --- means configuration is OK

Answer: EntepriseManager is form authentication and connect to local AgilePoint Server. It does not prove authentication from remote machine is OK

c) They tell you the administrator has set principle name by running setspn.exe

Answer: deploy a generic test.asmx to two web appl one with LocalSystem and other one with AgilePoint Server AppPool (service account)

If one with LocalSystem works, but does not work AgilePoint Server AppPool. That proves principle name is not set correctly.

*Notice, LocalSystem does not need principle name

*test.asmx is a simple file with simple and generic web service of Hello()

d) They say the testing environment work fine in VMWare virtual environment --- meaning  virtual environment does not have problem

Answer: In this case, the SharePoint and AgilePoint are on one single machine. It is local connection.  Run TestWSConn.exe from workstation machine and connects to testing AgilePoint Server, not working. That proves VMWare environment has same problem.

Strategy for troubleshooting,

In general, NLB troubleshooting is hard because it could be hidden root cause or multiple cause. In this case, it was VMWare network driver, setspn and Cisco NLB configuration. Setting expectation at beginning is very important:

a) Troubleshooting may take long time. In this case, it took a week from beginning to end, total hour is 7 hours. Because the team needs to get help from other team. That takes days some time.

b) We are not expert of database DBA, not hardware engineer, not domain/network administrator and Cisco NLB expert. What we can do is to narrow down the problem and provide useful information and direction to customer.

Any proof in generic way would be easier to convince customer that is not AgilePoint issue. For example, deploy a generic and simple web service to prove principle name is not configured correctly. Customer would understand immediately and they are willing to get other team’s help.

Thursday, July 14, 2011

Remote Exchange Server Configuration

A client of mine tried to configure a remote Exchange Server in AgilePoint Server Configuration windows (see picture below), but it always failed to connect when clicking on the Test button.

image

In this case, for SMTP server you have to put the IP address or FQDN, not the OWA http url.

Thursday, January 20, 2011

Clustering Server Manager (CSM) Implementation - Network Load Balancing

We had made things a bit more seamless and easy in 5.0 SP1 release as far as cluster is concerned so I have listed both approaches based on whether you want to stay on 5.0 release of AgilePoint or want to upgrade to 5.0 SP1.

Irrespective of which option you go for make sure following things are done in your environment which are pre requisites of any NLB app

1) Make sure web.config of AgilePoint Server and Enterprise Manager has SessionState set to SQLServer. For example,

<sessionState mode="SQLServer"

regenerateExpiredSessionId="true"

timeout="30"

sqlConnectionString="Server=<server-name>;Trusted_Connection=True;"

stateNetworkTimeout="30"/>

2) Ping from one machine to another, i.e. ping machine A from machine B and from B to A

3) Make sure firewall is off on both machine

Option 1

If your CSM component needs to be installed on separate server outside AP server farm. This is what we supported till 5.0

1) Install AgilePoint CSM component on an server which is outside AgilePoint farm servers. It has a very small footprint so can be installed on any existing server like database server. It does not need dedicated machine of its own.

2) Activate both AgilePoint servers with NLB keys.

3) Open AgilePoint Server Configuration utility. You will start seeing a new field  for cluster server manager. You need to replace machine name with name of machine where you installed CSM component. Save configuration and reset IIS. Do this on both machines.

image

4) Once you have done step 3 on both servers, you can go to machine where you installed CSM and we provide a utility there to test your NLB is working fine or not. If you have an old installation, your folder name is 'Ascentn Corp'. If you have new installation, then 'AgilePoint' will be your folder name. I have an old installation in picture below. Once you run this as shown below you should get response from both machines. If you see that it means NLB is fine.

clip_image004

 

Option 2

We were getting request from customers that can they install AgilePoint CSM on same machine as AgilePoint server so that they do not have to worry about managing it on other machine. In 5.0 SP1, we have added a new logic such that it can be hosted on same machine. Here is what you need to do.

1) Using 5.0 installer, install AgilePoint CSM on both AgilePoint servers. Use NLB keys for activation of both servers.

2) Upgrade both machines to AgilePoint 5.0 SP1 by running the upgrade package. This is a straight forward upgrade.

3) There is an entry to be made in the registry to point the CSM to AgilePoint database. This contains a connection string. In this case you do not have to set cluster server manager machine name as done in step 3 of option 1. The reason is that CSM is on that machine so it does not need this information separately.

You would need to manually create one registry key for option 2 since CSM is going to be on same machine as AP server. Here is the key which need to be created

clip_image006

In this registry value copy AgilePoint Database connection string to CSM registry. You can get this value from your netflow.cfg file. Please take note of the DB provided in front section of the connection string, e.g. MSSQLDatabase: connection lifetime=5;min pool size=10;server=T410-1;database=AgilePoint47;trusted_Connection=yes

4) Click ok on AgilePoint Configuration Utility and reset IIS. This needs to be done on both machines. Please note that in this case you should not see the cluster server manager textbox in AP configuration utility as in option 1. If you see that you need to delete one entry from registry or netflow.cfg file.

5) After making above entry on both machines, restart CSM (windows service on both machine). Please make sure that the logon identity for CSM windows service is having DBO privileges on AgilePoint database.

· Query database and make the CSM works, i.e. you can see WF_CLSUTER_SERVER_URI has one record.

clip_image008

If you see URL=machineA:13841, stop CSM window service on machine A and query again. You will see URL will be MachineB:13841.

· Now make sure both machine windows services are started. Run iisreset and check the AgilePont Server log file.

One machine will have:

010-11-07 16:51:12.688 >>> Initialize Cluster Event Dispatcher, uri=tcp://T410-006:13481/192.168.0.24/55a1a2b7-46cb-4148-a15f-a4e2a18d1b44:False

The other machine have:

2010-11-07 16:51:02.564 >>> Initialize Cluster Event Dispatcher, uri=tcp://T410-006:13481/192.168.0.24/97adaa57-8d82-47e9-aafb-f50c0c667a0c:True

Here, the 'True' means it is the master server.

6) Now use the ping utility to test for NLB as done in option 1

Both options do not take much time. Only difference is whether you want to install CSM on same machine or different machine.

Tuesday, January 11, 2011

Failed to access system resource


System.InvalidOperationExceptions: Failed to access system resource., exception has been thrown by the target of an invocation at Ascentn.Workflow.WF8341.LicenseHandler.ReadLicenseFile(StringFileName) at Ascentn.Workflow.WF8341.LicenseValidator.Execute()
Ascentn.Workflow.WF8341.LicenseValidator.Validate()

This error message "Failed to access system resource" is a typical privilege issue for the account that is running the AP Server installer. As can be gleaned from the stack trace, the error is thrown at the point where it is about to read the "xx\Program Files\Common Files\Ascentn\AgilePoint Server.dat"  license file. The solution is, run the AP Server installer as a local administrator account (or "Run as administrator"), to be able to have access to the license file (xx\Program Files\Common Files\Ascentn\AgilePoint Server.dat). This should resolve the issue.

Trace:
------

System.InvalidOperationExceptions: Failed to access system resource., exception has been thrown by the target of an invocation at Ascentn.Workflow.WF8341.LicenseHandler.ReadLicenseFile(StringFileName) at Ascentn.Workflow.WF8341.LicenseValidator.Execute()
Ascentn.Workflow.WF8341.LicenseValidator.Validate()

Turn Off UAC while installing AP Server:
----------------------------------------

http://techontip.wordpress.com/2010/06/02/turn-off-user-account-control-in-windows-2008-r2/

OR

--> Control Panel -> Change User Account Control Settings -> Never Notify

Thursday, January 6, 2011

Upgrade SQL 2005 to SQL 2008

If you are planning up upgrade to your SQL instance for AgilePoint Server, is there any AgilePoint specific information that should be aware of? Is this supposed to simple as restoring a backup of 2005 database onto a 2008 instance?

Upgrading the database for AgilePoint Server is straight forward. You have to just restore 2005 backup on 2008. Once restore is done, you will have to associate the database in AgilePoint Server configuration to pick the latest database.

Wednesday, January 5, 2011

Set SPN

When to set SPN? Here is a quick summary. See AgilePoint Pre-Installation Guide for full details.

  AgilePoint Server SharePoint Server
NTLM No need to set SPN Default to NTLM, No need to set SPN
NTLM & Kerberos Need to set SPN Need to set SPN
Kerberos Need to set SPN Need to set SPN

 

Further reference:

How to configure IIS to support both the Kerberos protocol and the NTLM protocol for network authentication

Tuesday, January 4, 2011

AgilePoint Server Working Thread

A customer reported that AgilePoint Server working thread increases to 123 (it was about 1o before) with below warning message after applying v5.0 SP1.

 

Subject: Warning : AgilePoint configuration may need to be modified.

Dear System Administrator,
Database concurrent connections exceed 90% of max pool size (100).
For performance concern, AgilePoint configuration may need to be modified.

 

This is not related directly to v5.0 SP1 upgrade. It is just picking up the max Pool Size (from the netflow.cfg -> defaults to 100 if not configured) and compares it with the Maximum DB counter connections used (and not necessarily the current connection). This is just a warning massage suggesting that the ‘Max Pool Size’ value can be increased, but this does not indicate that the current connection is high. It is just that at some point in time it has reached a high (counter) value that exceeds 90% of the maximum pool size.

The tendency of  declaring high value threads of [ eventCap="200" workingCap="200" ] is, it consumes as much DB pool as possible and hence it artificially bloats the DB connections driven by the large pool of the Event Threads and Working Threads. The currently running processes is not really high  [1,267]  and hence they can manage by just using [ eventCap="50" workingCap="50" ], but if they insist on setting it at  [ eventCap="200" workingCap="200" ] then increase the ‘Max Pool Size’ value shall be increased accordingly.

image

Netflow.cfg:

<database vendor="MSSQLDatabase" connectingString="application name=AgilePoint Server;connection lifetime=5;Max Pool Size=200;min pool size=10;server=T500-ARNEL;database=APDB;trusted_Connection=yes" />

AP Server Configuration:

clip_image002[4]

 

clip_image002[6]

Refer to the AgilePoint Performance Optimization, Scalability and Tuning Guide for more details about AgilePoint Server tuning.

Thursday, December 30, 2010

ISPOperationQueue Error

 

If you are using AgilePoint Integration for SharePoint and you get an error like this:

2010-12-20 13:11:06.787 >>> UpdateInfoPathFile, System.InvalidCastException: Unable to cast object of type 'Ascentn.Workflow.Base.WFIntegratedApplication' to type 'Ascentn.SharePoint.AgileParts.ISPOperationQueue'.

at Ascentn.AgilePart.SharePoint.SPSAgileParts.DropToQueue(WFProcessInstance pi, WFAutomaticWorkItem w, IWFAPI api, SPOperation operation)

at Ascentn.AgilePart.SharePoint.SPSAgileParts.UpdateInfoPathFile(WFProcessInstance pi, WFAutomaticWorkItem w, IWFAPI api, NameValue[] parameters)

 

That is because you have not set up the AgileConnector info at AgilePoint Server Configuration panel. The assembly, Ascentn.SharePoint.AgileConnector.dll, is located in the bin folder of AgilePoint Server. This dll is available with the installation of AgilePoint Server, but it is not configured by default. See picture below for the configuration example.

image

Impersonator Error

It's very common to see this error:

Failed to logon to AgilePoint.|Server was unable to process request. ---> 1DCED31183B04261896B23C4452276F1_AGILEPOINTUser 'YOURDOMAIN\YourUsername' is not recognized as the impersonator for 'xxxSomeApplicationNamexxx' on machine='YourMachineName'. This may occur because a) the AgileConnector is not configured properly, or b) the server license does not support 'xxxSomeApplicationNamexxx'. Please contact system administrator.AGILEPOINT_1DCED31183B04261896B23C4452276F1 System.Web.Services.Protocols.SoapException SoapException System.Web.Services.Protocols.SoapException: Server was unable to process request. --->

 

The error simply means the configuration is not set up at AgilePoint Server Configuration tool, i.e. 'YOURDOMAIN\YourUsername' is not set up as the impersonator for application 'xxxSomeApplicationNamexxx'. See picture below. Refer to page 28, 4.1.1.3 Extension Window, in v5.0 User Guide for full details.

image

Process Instruction for Bulk Migration

I was asked below question:

I (actually our client) is using the bulk migration (apadm) to migrate workflow to a new version. They migrated one using Enterprise Manager and saved the instruction file. They indicated that the remaining workflow need to be in the same activity as the initial one. Is that true? Could you explain the NOTE in the User Guide - "match the original process instance exactly".

NOTE: Only process instances that match the original process instance exactly will be included in each batch migration, for example the target process instances have to be at the same running state as the original process instance. The bulk migration automatically suspends and resumes each of the process instances.

------------------------

Here is the situation:

After you created one process instruction and run the bulk migration with the apadm tool, the apadm tool will only migrate those process instances match exactly the same as specified in the process instruction.

You may group your process instances according to different running state, for example, you have 500 process instance currently in Manual Activity A (group 1), 200 process instances currently in Manual Activity B (group 2). You may create two process instructions, i.e. one for group 1 and one for group 2. Then run the process instructions with apadm tool.

Wednesday, December 29, 2010

AgilePoint Web Application - SetClientAppName Error

 

A customer is migrating the AgilePoint web application to a new machine and got below error. The web application and AgilePoint Server are located on two different machines. These two machines are referred as web server and AgilePoint Server in below context.

The web service call "SetClientAppName" throws an exception.


The Exception Message:
  System.Web.Services.Protocols.SoapException SoapException System.Web.Services.Protocols.SoapException: Server did not recognize the value of HTTP Header SOAPAction: http://tempuri.org/SetClientAppName

Code Snippet that makes the web service call:
                // Workflow Web Service
                _logger.Trace("Creating workflow service");
                WorkflowService api = new WorkflowService(url);

                _logger.Trace("Applying credentials and cookie container");
                api.CookieContainer = cookieContainer;
                api.Credentials = credentials;

                // this app name needs to be registred in AP Config utils, Extensions,
                // along with the impersonator: domain\name of the credentials above
                _logger.Trace("Setting AgilePoint \"impersonation\" values");
                api.SetClientAppName("PerillonWorkspace");
                api.SetClientLocale("en-US");

System Details:
Agile point server: Ver. 5.0.

 

Troubleshooting:

  • In the web server (not AgilePoint Server), try to browse the workflow.asmx file (http://MyAPServer.MyDomain.com:9001/AgilePointServer/Workflow.asmx). Get the AgilePoint Server URL from the web.config file of the web app. This is to check if there is any communication error between AgilePoint Server and the web server.
  • If the AgilePoint Server is set up correctly, the workflow.asmx page shall load correctly. If you are asked for username and password, that means AgilePoint Server is not set up properly.
  • Check the followings:
    • Make sure the Windows Authentication is enable for AgilePoint web site, and it's parent node in IIS.
    • Make sure the user account used for the Application Pool of AgilePoint Server is included in the local machine administrator group and IIS_WGP group.
    • Refer to Pre-Installation Guide for other important setup details.
    • Make sure the AgilePoint URL in the web.config of the web application is a correct URL. It is best to use DNS name in the URL, instead of IP address.
    • When loading the workflow.asmx file within the web server, check if it is recognized as a "Internet" site at the right bottom corner of IE. AgilePoint Server shall be recognized as a "Intranet" site to the web server. If AgilePoint Server is recognized as "Internet" site, you may temporary add AgilePoint URL into the Intranet zone of the web server (at Internet Option of IE). But, the best way to configure this is to set up a trust between AgilePoint Server and the web server. Your network admin shall be able to help you on this.