1. Christopher Craft
  2. Beta Testing
  3. Thursday, 8 October 2020 22:38 PM UTC

PB 2019 R3

We have migrated our 12.1 .Net Web Service to PB 2019 R3. When I deploy to my localhost I get my list of items showing but when I go to execute any one of them it returns the following error:

System.Web.Services.Protocols.SoapException: Could not load file or assembly 'Sybase.PowerBuilder.Interop.dll' or one of its dependencies. The specified module could not be found. ---> System.IO.FileNotFoundException: Could not load file or assembly 'Sybase.PowerBuilder.Interop.dll' or one of its dependencies. The specified module could not be found.

Do I need to run any installation to get the correct files installed so IIS can see them? I thought it would just find all the necessary files when run within the PB IDE.

Chris Craft

Accepted Answer
Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Friday, 9 October 2020 20:23 PM UTC
  2. Beta Testing
  3. # Permalink

Hi Chris;

  OK ... finally a definitive answer about your development PB PC. I used my STD Framework's WS Demo App on a brand new clean PC with only PB 2019R3 installed. My PB .Net WS's still work great on the PB IDE R3 Beta machine!

Here is what I did ....

1) Added the PB R3 run time to the System Path ... as follows:
   C:\Program Files (x86)\Appeon\PowerBuilder\Runtime 19.2.0.2556
   C:\Program Files (x86)\Appeon\PowerBuilder\Runtime 19.2.0.2556\x64

2) Opened IIS and edited the "PBDotNet4AppPool" Application Pool

    => Advanced Settings => Enable 32-bit Applications => TRUE

3) Installed the W10 SDK

4) Started the PB IDE "as Admin"

5) Deployed the .Net WS

6) Ran the WS using the .NET test harness (RHMB on PB project & select RUN).

7) WS worked 1st time.  :-)

HTH

Note: for a remote IIS PC, follow my previous post about the .NET MSI. I tried that too on another Test IIS based PC instead of Step#1 above. Then followed the same steps thereafter. Except for step #5 where I used PB's ability to build an MSI for the WS deploy. Then used the WS's MSI to install it on the remote IIS machine. After that .. success again!  :-)

Regards ... Chris

Comment
There are no comments made yet.
Christopher Craft Accepted Answer Pending Moderation
  1. Friday, 9 October 2020 15:11 PM UTC
  2. Beta Testing
  3. # 1

I went ahead and created the .Net Runtime package and executed it on my machine.  This seems to have resolved the Interop error.  I guess the question still remains though, why I would need to run this on my own PB IDE machine?

Chris

Comment
  1. Christopher Craft
  2. Friday, 9 October 2020 16:14 PM UTC
Ok. So that answers the question. 2019 R3 does not auto install these components anymore. That would have been nice to see somewhere in Help that we now need to run PBPack to get the .Net components installed. The only thing I saw was this "The Runtime Packager adds required files for both the EasySoap and .NET Web service engines when you select the SOAP Client for Web Service check box.". Does checking this box do the same thing as selecting the radio button 'PowerBuilder .Net Components'?
  1. Helpful
  1. Armeen Mazda @Appeon
  2. Friday, 9 October 2020 16:18 PM UTC
It's a beta so docs are not complete.
  1. Helpful
  1. Chris Pollach @Appeon
  2. Friday, 9 October 2020 19:28 PM UTC
Hi Guys .. that might not be the case. The .Net components could be there. However, IIS is just not getting to run them because it also needs the PB runtime - which is is no longer *automatically* added to the System Path in R3 Beta#1. However, running the PB .Net Install MSI *will* add the PBVM runtime to the System Path and thus, allow IIS to function as the .Net components also depend on the PB runtime.

So my next suggestion Chris, is to just manually add the PBVM runtime folder to your O/S's System Path and see if your development PC then works with your WS OK (before we jump to too many conclusions). ;-)

Regards ... Chris
  1. Helpful
There are no comments made yet.
Christopher Craft Accepted Answer Pending Moderation
  1. Friday, 9 October 2020 00:44 AM UTC
  2. Beta Testing
  3. # 2

Thanks Chris. I know I am missing something. I got a new computer so many years ago and probably never ran the 12.1 service after that.

I did run the PB Runtime Packger but the .Net Components is not an option anymore. Isn't that the one that would add all those files for a .Net Web Service?

Also, I am trying to run the service from my development machine (clicking Run Project after I deployed it) so that is why I thought all the files would already be there. Are you saying I still need to run an MSI (assuming I can create it with the correct files) on my machine in order for IIS to see them?

Chris

Comment
  1. Mark Lee @Appeon
  2. Friday, 9 October 2020 05:55 AM UTC
Hi Chris,

Are you following the suggestion from Chris Pollach to test it? Do you still encounter this issue?

Regards,
  1. Helpful
  1. Christopher Craft
  2. Friday, 9 October 2020 14:31 PM UTC
Chris and Mark,



Good to know I can get the setting back in the PB Packager.



I am only trying to get it to run on my PB IDE machine. Since the PB installation installs everything I need then why am I still getting this error? In a nutshell here is what I have done.

1) Installed PB 2019 R3

2) Migrated the 12.1 .Net Web Service

3) Deployed directly to IIS

4) Enabled 32-bit applications for PBDotnet4AppPool

5) Recycled the pool

6) Click 'Run Project' from PB IDE

7) Clicked on the Hyperlink to Test

8) Attempted to test one of the options and the error will occur



Why can't it find the appropriate runtime files to execute?



Chris

  1. Helpful
  1. Chris Pollach @Appeon
  2. Friday, 9 October 2020 15:16 PM UTC
Hi Chris ... PB2019R3 is only a beta. So there might be some issues trying to use that version. If you upgraded a PB2019R2 installation with R3, it might be OK. Installing a clean R3 could have an issue. Remember though, its still a beta. As as such, please *always* create a Support Ticket for these beta issues encountered.

On another thought, the PBVM runtime is now no longer part of the IDE. Thus, after the .Net installation on the IIS machine, the PB runtime may not have been added to the O/S's System Path. IIS will look for that when it tries to instantiate your WS. If the System Path is miffing the PB runtime, the error you are getting would make sense.

Regards ... Chris
  1. Helpful
There are no comments made yet.
Chris Pollach @Appeon Accepted Answer Pending Moderation
  1. Thursday, 8 October 2020 23:14 PM UTC
  2. Beta Testing
  3. # 3

Hi Chris;

  If your WS deployed & worked in PB 12.x then it should still deploy & work from a deployed PB 2017 Rx or 2019 Rx project.

   Here's what you might have forgotten to do though ...

1) Run the PB Packager and create a .Net MSI install.

2) Run the .Net MSI install on the IIS machine.

3) Make sure that you configure the WS's IIS Application Pool to allow 32bit execution.

HTH

Regards ... Chris

Comment
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.