OE10.2B appserver & c# error (7243) (7241)

paledecay

New Member
I'm currently attempting to read and modify data through our appserver using standard 4GL code that I have compiled into DLL's using the ProxyGen.
I'm not sure if the problem lies within my appserver settings, or something I'm doing in my code.
I can retrieve data just perfectly, however when I attempt to do any sort of update/insert, I receive the following errors:

Program Exception:
4GL STOP condition: The Server application has returned an error. (7243) (7241)
Broker Log:
[12/02/09@11:44:51.204-0500] P-006540 T-C-0001 2 UB Basic ConnectionID= 192.168.1.18::asbroker1::2901::64bfcb70599b1504:-240a771f:13562d2ce90:-7fea. (8096)
[12/02/09@11:44:51.204-0500] P-006540 T-C-0001 2 UB Basic Client connected : . (8533)
[12/02/09@11:44:51.220-0500] P-006540 T-C-0001 2 UB Basic The client requested ASK version= 1.0 capabilities= allowServerASK,denyClientASK. (13769)
[12/02/09@11:44:51.220-0500] P-006540 T-C-0001 2 UB Basic The negotiated ASK version= 1.0 capabilities= denyServerASK,denyClientASK. ASK protocol is disabled for this connection. (15256)
[12/02/09@11:44:51.220-0500] P-006540 T-C-0001 2 UB Basic Client disconnected : . (8534)
[12/02/09@11:44:52.767-0500] P-006540 T-C-0001 2 UB Basic ConnectionID= 192.168.1.18::asbroker1::2901::64bfcb70599b1504:-240a771f:13562d2ce90:-7fe9. (8096)
[12/02/09@11:44:52.767-0500] P-006540 T-C-0001 2 UB Basic Client connected : . (8533)
[12/02/09@11:44:52.798-0500] P-006540 T-C-0001 2 UB Basic The client requested ASK version= 1.0 capabilities= allowServerASK,denyClientASK. (13769)
[12/02/09@11:44:52.798-0500] P-006540 T-C-0001 2 UB Basic The negotiated ASK version= 1.0 capabilities= denyServerASK,denyClientASK. ASK protocol is disabled for this connection. (15256)
[12/02/09@11:44:52.798-0500] P-006540 T-C-0001 2 UB Basic Client disconnected : . (8534)

Server Log:
[12/02/09@11:44:52.829-0500] P-007272 T-005864 1 AS -- (Procedure: 'set_tag_nbr inv_loc_adju.w ' Line:1659) ** "inv/inv_loc_adj.p" was not found. (293)
[12/02/09@11:45:00.673-0500] P-007272 T-005864 1 AS -- Connection failure for host 192.168.1.40 port 53186 transport TCP. (9407)


And here is my quick C# test code that I'm using:

Code:
private void button2_Click(object sender, EventArgs e)
  {
   string err;
   Axiom_INVADJ.StrongTypesNS.pt_labelsDataTable lbl_tbl = new Axiom_INVADJ.StrongTypesNS.pt_labelsDataTable();
   try
   {
    using (Connection conn = new Connection("AppServerDC://[servername]:2901", "", "", ""))
    {
     Axiom_INVADJ.inv_adj inv = new Axiom_INVADJ.inv_adj(conn);
     Axiom_INVADJ.inv_loc_adju invloc = new Axiom_INVADJ.inv_loc_adju(inv);
     invloc.set_tag_nbr("01", "051832-002", "H", "cwile", "FNPD", "T", "42", out lbl_tbl, out err);
     textBox1.Text = err;
     inv.Dispose();
     invloc.Dispose();
    }
   }
   catch (Exception ex)
   {
    textBox1.Text = ex.Message;
   }
  }

Thanks for any insight.
 
Server Log:
[12/02/09@11:44:52.829-0500] P-007272 T-005864 1 AS -- (Procedure: 'set_tag_nbr inv_loc_adju.w ' Line:1659) ** "inv/inv_loc_adj.p" was not found. (293)

I'm guessing the PROPATH of your AppServer is set incorrectly (or has been modified later on while running code). The .w is succesfully called, so the proxygen part worked and got your request to the right AppServer and procedure. This .w is however then trying to run inv/inv_loc_adj.p which it cannot find on its PROPATH.
 
Just to add to the last post: you could add a 'MESSAGE PROPATH' statement to your Activate procedure. This will tell you (via the same log file as you snipped above) where it is looking for code, at the start of every call. The Activate procedure is a normal .p that can contain just those two tokens. You have to define it in ubroker.properties to run on every call.

SEARCH(file_name) is also useful sometimes, if you know that file A *is* running but file B is not, you can eg. do SEARCH("file A") to find out where it is coming from exactly.
 
Thanks for replies. I got it working by moving the code to the working directory of the appserver and adding an "inv" subfolder in there. I'm very new to the whole proxygen thing, but I'd like to only have to have one set of code... I now am keeping 3 sets just to get the appserver to work properly. One for our ERP system. One for my reads in the root working folder and one in an "inv" subfolder. I'll give the message propath a go and see if I can get everything back into its original home.

Thanks :)
 
Thanks for replies. I got it working by moving the code to the working directory of the appserver and adding an "inv" subfolder in there. I'm very new to the whole proxygen thing, but I'd like to only have to have one set of code...

Which is exactly what the propath is for. With new to proxygen you also mean new to progress?
 
Back
Top