Possible Codegen/Nougat bug?

Hi Alex -

Thanks for the detailed info, and this still has me confused. I see only one possible difference - my server is written in Delphi, your’s in .NET. Is there anything possibly different I need to do on the Delphi server side that I may not be doing? The exception I get is essentially 'unable to read ’ for the currency fields since they are coming across as null values.

Again, if I instantiate the NSDecimalNumber fields, my server is happy but I really shouldn’t have to modify the RO _intf file on the cocoa side.

Thoughts??

Hi Alan,

No don’t think that the cause in Delphi server. I’ll attach here sources of Delphi server that match my simple test-case. Nougat client works ok with it.
DelphiServer.zip (58.2 KB)

Can you try to simplify your test-case and send it to me? (I need to reproduce that at my side)

Thanks!

Oh, yes, they will be nil. but that’s not a problem. the RO/Cocoa streamer handles nil NSDecimals fine and streams them as zeros. We did test with them inside a struct, yes.

I’ll do some testing here myself today. we’ll figure this out.

OK, let me tell you what I was able to reproduce this morning …

  • I created a new simple service in Delphi. I created some RO Structs that contained Currency values and a simple method that sets a currency value.
  • I created a Nougat client that simply calls the method by passing in a struct as a VAR param

When I run this using SOAP, I get the same exception I was getting in my other server. Cannot convert null value to currency.

When I run this using BIN, everything works as expected with no exception.,

This appears to be a SOAP issue. My question is this - is the issue on the Cocoa side or the Delphi side? I have never seen this issue in my Delphi clients that also use this service. Only in Nougat clients.

The Nougat app I have been building uses SOAP. I can easily switch that to use BIN messaging - that’s not a problem, and it appears that will solve the issue.

Alan

Ah. We assumed you were using Bin. We never tested SOAP (right now, for this issue) sounds like an RO library bug then, we’ll have another look.

My mistake. I should have shared this in my first post.

alan

Yeah, with soap message I get FormatException. Raised an issue #65077.

and fixed. Fix will be available in next build.

Thanks!