cancel
Showing results for 
Search instead for 
Did you mean: 

Convert EAServer app to .NET web service - TransactionServer is not recognized

Former Member
0 Kudos

Hi all,

The above mentioned .NET web service was created in PB 12.6 Classic from an existing EAS target and successfully deployed to IIS. This is a large application that shares several NVOs with its counterpart Client Server application.

Methods need to know at runtime if the code being executed is running in a transaction server (like EAS or COM+) or not.

To solve the problem the function below OF_IS_TRANSACTION_SERVER() was created several years ago when the EAS project was in development.

////////////////////////////////////////////////////////////////////////////////////////

//     Function:     OF_IS_TRANSACTION_SERVER

Long ll_rc

ll_rc = getContextService("TransactionServer",itrs_obj)             //definition: transactionserver itrs_obj

// function "which" returns zero if is not running in a transaction server; 1 if  EAS and  2 if COM+

IF itrs_obj.Which() > 0 THEN Return TRUE

Return FALSE

/////////////////////////////////////////////////////////////////////////////////////////

As I said, everything now is running on IIS and the function Which always return zero.

Any ideas what has to be done in order to IIS be recognized as a transaction server?

Thank you for the help.

Paulo

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Paulo;

  There is no concept or support for the TS object in web services. You would have to do your own RYO (roll your own) design & implementation.

  FWIW: I have been speaking to Julie Jiang - Appeon's new PB product manager - about EAS workings and implementations. The TS was one of the items we discussed. Hopefully, Appeon will implement something like the TS in their Appeon Server when it fully  supports NVUO's (which Armeen has been thinking about).

PS: I've been thinking of adding this feature as a RYO implementation in my Web Service framework.

Regards ... Chris

Former Member
0 Kudos

Chris,

Thank you for the prompt reply.

This is a drawback in the actual refactoring activity and we will have to figure out a work around. Anyways, thanks again.

Best regards,

Paulo

Former Member
0 Kudos

Hi Paulo,

Just as an idea, you could build it into your inheritance hierarchy.

if your base nvo exists in both your client server target and your server target a simple instance variable in the top layer would indicate to descendant what the target type was.  So you would have two copies, one for each target.

Lars

Former Member
0 Kudos

Hi Lars,

Thank you for the idea. That is what I did and everything seems to be working as expected so far.

Thank you,

Paulo

Answers (0)