NetSuite Web Services freeze / timeout from .NET 64-bit application

We noticed that with 2012 NetSuite Web services (and possibly all other versions), when we make a call from a 64-bit .NET 2.0 application, if the answer does not return quickly, then with interruptions our application will however be in the NetSuite application logs a SOAP request appears. After 5 minutes (!) It hangs because NetSuite (or something) keeps the socket open, it just stops sending packets.

We launched Network Trace and noticed that the packages failed because they were dropped, inexplicable duplicates of acks - etc. This is essentially "freaks out". Microsoft technicians have never seen anything like it - at least the ones I talked about.

We launched a simple test application that does nothing more than a passport, and then run the query for accounting periods. This is a search method that hangs while parsing a SOAP response - it always gets about 10 seconds.

As soon as we aim at a 32-bit environment, everything works like a charm, although the 32-bit binary works on a 64-bit OS. Obviously, working as a 64-bit application establishes some configuration of the network protocol, which NetSuite really does not like.

We tested Azure, Amazon, and the local (in our corporate network) 64-bit Windows 2008 R2 SP1 servers - physical and virtual machines.

We do not have strong evidence of why this is happening, but after a month, when we pull out our hair (now we are all bald), we think that we stumbled upon a problem. However, this is strange, but I do not want to go out and claim that this is still not what we are doing. So, if you do not believe:

  • Open Visual Studio 2010 and create a .NET 2.0 console application targeting "Any processor."
  • Make "Add Web Link ..." and add the WSDL NetSuite.
  • Create a simple password to log into the system and do a search that returns something with some volume.
  • Run the EXE on a 64-bit OS several times (this error is intermittent) during peak business hours (i.e., it appears around 7 AM - 2 PM PST).

    That is what we did. If you come back and create a new x86 target and rebuild the project, it works great.

+4
source share

Source: https://habr.com/ru/post/1492409/


All Articles