Need Help on Magic XPA RIA #askmembers #howto #suggestion


soumya1pudding@...
 

Hello Dear Members,

This Soumya, i have a query regarding Magic Xpa RIA execution and need your  timely help on this .
I have been using UniPaas Version 1.9 from a Long time and now planning to move to  XPA 4.5, I am trying to build a RIA application for the first time and not able to excute the sample programme and getting the below error Messages when i launch the application. Can someone please guide me on how to deploy a RIA application. Please find the attachment which contains the screen-shots (steps) which i followed to launch the application. Will be grateful for your kind suggestions and help.
 
Best Regards
Soumya


Rick Driessen
 

The last screenshot gives a -103 message.
In the magic knowlegde base there are some hints for solving this. 

Rick 

Op ma 3 jun. 2019 om 11:51 schreef <soumya1pudding@...>:

Hello Dear Members,

This Soumya, i have a query regarding Magic Xpa RIA execution and need your  timely help on this .
I have been using UniPaas Version 1.9 from a Long time and now planning to move to  XPA 4.5, I am trying to build a RIA application for the first time and not able to excute the sample programme and getting the below error Messages when i launch the application. Can someone please guide me on how to deploy a RIA application. Please find the attachment which contains the screen-shots (steps) which i followed to launch the application. Will be grateful for your kind suggestions and help.
 
Best Regards
Soumya


Brenda Bullorini
 

You need to define the app on the mgrb.ini file and then restart magic service.
Do you have a mgria license? I don't know if it works with the demo one


soumya1pudding@...
 

Hi Rick and Brenda,

Thanks a lot for your replies.

  • I checked the magic Knowledge Base for the 103 error description.
  • I have defined the app on mgrb.ini file and also restarted the magic service.Yes i do have a mgria license.

Please have a look at the screen shot which contains the Settings of INI files and please guide me on how to proceed further.

Best Regards
Soumya

On Mon, Jun 3, 2019 at 2:16 PM Brenda Bullorini <bbullorini@...> wrote:
You need to define the app on the mgrb.ini file and then restart magic service.
Do you have a mgria license? I don't know if it works with the demo one


Brenda Bullorini
 

I'm not entirely sure but, I think that the definition on the mgrb.ini needs to have the same name as the project.
Maybe if you remove the "_" ?
Can you paste here the complete line as text?


soumya u <soumya1pudding@...>
 

Hi Brenda,

Please find the text , just the license name is masked with '*'.

Rich_Internet_Demo = MgxpaRuntime.exe -DeploymentMode=B -StartApplication="D:\Magic\xpa_45\SampleProjects\Rich Internet Demo\Rich Internet Demo.ecf" @magic.ini -LicenseName=******,,,,1,0

Rich_Internet_Samples = MgxpaRuntime.exe -DeploymentMode=B -StartApplication="D:\Magic\xpa_45\SampleProjects\Rich Internet Samples\Rich Internet Samples.ecf" @magic.ini -LicenseName=******,,,,1,0


Best Regards

Soumya




On Mon, Jun 3, 2019 at 3:23 PM Brenda Bullorini <bbullorini@...> wrote:
I'm not entirely sure but, I think that the definition on the mgrb.ini needs to have the same name as the project.
Maybe if you remove the "_" ?
Can you paste here the complete line as text?


Andreas Sedlmeier
 

Hi Soumya,

When you develop your application and start it from Studio you do not need the entries in mgrb.ini. These are required when you deploy your application and when you want the broker to start them. During development you do not want that because the requests would not go to your Studio, where you can set brteakpoints and debug, but to a engine running in background ...

If the requester tells you that it cannot find an application you need to check mgreq.ini. Yours looks ok, there's however two. One in the Magic directory (not relevant for RIA / Internet) and one in the scripts directory. The latter one is the relevant one and, since you do not get a broker error when you start the RIA app/program, I guess that you do not have the correct port there.

There's also problems to expect when your system is multihomed, resp. has more than one NIC and IP. In this case you need top specify the IP too for messaging server, not only the port 5115
Since some Xpa version Magic binds to all IPS if you specify a fully qualified domain name : http://kb.magicsoftware.com/articles/bl_Reference/FQDN-Fully-Qualified-Domain-Name-xpa
(in the past it did bind to the first IP).

Alos check these documents:
http://kb.magicsoftware.com/articles/bl_Reference/Rich-Client-Troubleshooting-xpa-3x
http://kb.magicsoftware.com/articles/bl_Reference/Published-Web-Page-xpa-3x


soumya u <soumya1pudding@...>
 

Hello Andreas,

Thanks for your detailed reply and informative links.

  1. I have Unipaas 1.9 and Xpa 4.5 both installed on the System and they both use the same Broker with the port number 5115. Can you please tell me does this cause any Problem?
  2. I have two mgreq ini files one is present in XPA home folder and the other in script folder under Xpa, and they both are different.Sould they be different or the same?
     Please find the attached ini screenshots
  3. I do not  have a domain server and my system is not multihomed. 

When i run my application in the Xpa Studio, i get the error message ( -103), here i have copied the mgreq.ini file under Xpa home folder into Scripts folder ,

Is this the right way or shoud the ini files have any additional parameters ? Can you please tell me how to proceed further.

 

Best regards

Soumya





On Mon, Jun 3, 2019 at 5:47 PM Andreas Sedlmeier <sedlmeier@...> wrote:
Hi Soumya,

When you develop your application and start it from Studio you do not need the entries in mgrb.ini. These are required when you deploy your application and when you want the broker to start them. During development you do not want that because the requests would not go to your Studio, where you can set brteakpoints and debug, but to a engine running in background ...

If the requester tells you that it cannot find an application you need to check mgreq.ini. Yours looks ok, there's however two. One in the Magic directory (not relevant for RIA / Internet) and one in the scripts directory. The latter one is the relevant one and, since you do not get a broker error when you start the RIA app/program, I guess that you do not have the correct port there.

There's also problems to expect when your system is multihomed, resp. has more than one NIC and IP. In this case you need top specify the IP too for messaging server, not only the port 5115
Since some Xpa version Magic binds to all IPS if you specify a fully qualified domain name : http://kb.magicsoftware.com/articles/bl_Reference/FQDN-Fully-Qualified-Domain-Name-xpa
(in the past it did bind to the first IP).

Alos check these documents:
http://kb.magicsoftware.com/articles/bl_Reference/Rich-Client-Troubleshooting-xpa-3x
http://kb.magicsoftware.com/articles/bl_Reference/Published-Web-Page-xpa-3x


Andreas Sedlmeier
 

  1. I have Unipaas 1.9 and Xpa 4.5 both installed on the System and they both use the same Broker with the port number 5115. Can you please tell me does this cause any Problem
  2.  
Yes, that's not going to work. You can either run uniPaaS Broker or Xpa Broker, just not in parallel because only the broker you start first will be able to bind port 5115. Use different ports for uniPaaS and Xpa (like 4115 for uniPaas and 5115 for Xpa) and change mgrb.ini (in Magic directory), mgreq.ini (in scripts directory) and your MAGIC.ini accordingly. The mgreq.ini in Magic directory is not really relevant, it's for "Call Remote" resp. partitioning. You can change that to correct port number of broker too.

Even then this paralllel installations of Magic versions may raise issues because the requester names for uniPaaS and Xpa is I think the same: mgrqispi.dll . Now it depends on the isolation mode of your IIS if it loads that DLL once or twice and if its only loaded once (and shared) it will also only read one of the two mgreq.ini files .

I would say running two brokers of two versions on the same host is simply not supported by MSE and will only cause trouble. Docker would solve that issue, then you would run however in license issues I fear. 

Do you really need Xpa and uniPaas broker on same machine ? There's a chancxe to get that work, its just a bit complicated due to that dependency with IIS and that ISAPI gatway.

If you do run your broker as an application, you should see in system tray if a specific application is loaded. If you do run it as a service you do not have this. You can then use the broker monitor  or mgrqcmdl utility to query for applications and runtimes (http://ftp.magicsoftware.com/www/help/unipaas/mergedprojects/magic400/Ch04CurrenteDeviSeriesServer/A_Query_Example.htm)

Andreas






Brenda Bullorini
 

Hi Andreas

I have running multiple brokers of multiple versions without a problem. I just change the port and put different names for the magic scripts folder:


soumya u <soumya1pudding@...>
 

Hello Andreas,

Thanks for the Reply.I Need Unipaas and Xpa as there are many Programmes on Unipaas which Needs to be migrated to Xpa.

Will try out the different port numbers as you suggested ,make changes in the ini files and will also consider other Points.

Best Regards
Soumya

On Tue, Jun 4, 2019 at 3:32 PM Andreas Sedlmeier <sedlmeier@...> wrote:
  1. I have Unipaas 1.9 and Xpa 4.5 both installed on the System and they both use the same Broker with the port number 5115. Can you please tell me does this cause any Problem
  2.  
Yes, that's not going to work. You can either run uniPaaS Broker or Xpa Broker, just not in parallel because only the broker you start first will be able to bind port 5115. Use different ports for uniPaaS and Xpa (like 4115 for uniPaas and 5115 for Xpa) and change mgrb.ini (in Magic directory), mgreq.ini (in scripts directory) and your MAGIC.ini accordingly. The mgreq.ini in Magic directory is not really relevant, it's for "Call Remote" resp. partitioning. You can change that to correct port number of broker too.

Even then this paralllel installations of Magic versions may raise issues because the requester names for uniPaaS and Xpa is I think the same: mgrqispi.dll . Now it depends on the isolation mode of your IIS if it loads that DLL once or twice and if its only loaded once (and shared) it will also only read one of the two mgreq.ini files .

I would say running two brokers of two versions on the same host is simply not supported by MSE and will only cause trouble. Docker would solve that issue, then you would run however in license issues I fear. 

Do you really need Xpa and uniPaas broker on same machine ? There's a chancxe to get that work, its just a bit complicated due to that dependency with IIS and that ISAPI gatway.

If you do run your broker as an application, you should see in system tray if a specific application is loaded. If you do run it as a service you do not have this. You can then use the broker monitor  or mgrqcmdl utility to query for applications and runtimes (http://ftp.magicsoftware.com/www/help/unipaas/mergedprojects/magic400/Ch04CurrenteDeviSeriesServer/A_Query_Example.htm)

Andreas






soumya u <soumya1pudding@...>
 

Hi Brenda,

Thank you for this Suggestion.Will try this out.

Best Regards
Soumya

On Tue, Jun 4, 2019 at 4:15 PM Brenda Bullorini <bbullorini@...> wrote:
Hi Andreas

I have running multiple brokers of multiple versions without a problem. I just change the port and put different names for the magic scripts folder:


Andreas Sedlmeier
 
Edited

Hi Brenda,

I know that it works and I do have basically the same mess on my Windows, only sometimes it doesn't. Then you have the additional options to rename the requester from mgrqispi.dll to mgrqispiUp.dll resp mgrqispiXpa.dll and also IIS isolation mode. In the past there was a setting, since some version of IIS you manage that with apoplication pools. uniPaaS and Xpa should go do different application pools and then you are (probably) fine too (https://docs.microsoft.com/en-us/iis/manage/configuring-security/ensure-security-isolation-for-web-sites)

When you do DevOps you would rather avoid that mess I believe and put IIS + Requester + Broker in a (docker) container or a VM, where you can use Vagrant to get the same comfort.

Andreas