[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Socket Reset



Looks like some debug is needed in the bowels of the service program as I would think the error 30 should have bubbled up and stopped any further activity. Maybe Scott could hop in here and offer some explanation.

But you did get more activity...The debug is showing a 0 length message sent at least twice. So, from that standpoint, the web service acted accordingly. Part of the question becomes why did the program send 0 length messages twice (the first one ending in a timeout). Is this a multiple request program and steps 2 and 3 ran even though 1 didn't?

Is step 2/3 using something that step 1 is supposed to build? Maybe  a if xmldata<> '' is needed to prevent 2 and 3 from running?


 

-----Original Message-----
From: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx [mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Kevin Wengert
Sent: Tuesday, June 2, 2015 5:29 PM
To: 'HTTPAPI and FTPAPI Projects'
Subject: RE: Socket Reset

Hi Mike,

It didn't try to parse the result, but it did receive the response.  My program got an error, so it did nothing with the information it received.

Here is my code trying to get the delivery receipt:

rc = http_url_post(%Trim(URL)       
                  : pXmlBuffer + 2  
                  : DataSize        
                  : wResponse);     
                                    
Right now, I'm only processing if rc = 1.  Would rc = 30 when I get the handshake error?  If so, I could create a loop to retry until rc <> 30?  I think that would fix half my issue.

I've also attached the entire debug log, except the portions that are sensitive.


Thanks,

Kevin

-----Original Message-----
From: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
[mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Mike Krebs
Sent: Tuesday, June 2, 2015 2:34 PM
To: HTTPAPI and FTPAPI Projects
Subject: RE: Socket Reset

The HTTPAPI procedure didn't return an error after getting the 30 error code?

It doesn't make sense that it just continued on and tried to parse the result. In fact, I am surprised it went on to receive any data. 

The error says it happened during the handshake - the sending server should not have seen the request unless they count the initial contact as a request. It is isn't a very secure connection if the request is sent before the handshake is completed.  Seems kind of weird.

-----Original Message-----
From: ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx
[mailto:ftpapi-bounces@xxxxxxxxxxxxxxxxxxxxxx] On Behalf Of Kevin Wengert
Sent: Tuesday, June 2, 2015 12:24 PM
To: ftpapi@xxxxxxxxxxxxxxxxxxxxxx
Subject: Socket Reset

Good Morning,

 

I've got a problem that I haven't seen before that is causing me fits.  I'm sending a vendor information about deliveries via HTTP.  Using the same port, I can request copies of the delivery receipts that I then email to customers.  It's important to note that on the same port, if I send an empty request, if their webservice has an xml document describing an order delivery, called an orderSummaryEvent, it will send that document as a response.

 

Now, the problem.  For each orderSummaryEvent, a unique id is included that I use to get the copy of the delivery receipt.  My customer reported that one of these delivery receipts was missing, and I checked the debug log, which contained this error:

 

(GSKit) I/O: A connection with a remote socket was reset by that socket.


ssl_error(406): (GSKit) I/O: A connection with a remote socket was reset by
that socket.       

SetError() #30: SSL Handshake: (GSKit) I/O: A connection with a remote socket was reset by that

 

At that point, it looks like my xml that requested the delivery receipt was compromised.  Normally, I can see the request in the debug log, but now it doesn't show with the "senddoc(): entered" line in the debug line.  Instead, there is no data there, so the web service thinks I'm looking for an orderSummaryEvent, and happily sends me one.  This procedure has no idea what to do with it and it gets lost.

 

I'd like to trap the remote socket reset error and retry the request again.
Any ideas how to go about doing that?

 

Thanks,

 

Kevin Wengert

 

 

 
<http://t.signauxsix.com/e1t/o/5/f18dQhb0S7ks8dDMPbW2n0x6l2B9gXrN7sKj6v5dlPl
N7fRYjzd7ldzW4X9Hrn1pctGFW4mgbKq1k1H6H0?si=5663939049816064&pi=6550b2cd-43c3
-4845-9c81-42099cac9078> 
-----------------------------------------------------------------------
This is the FTPAPI mailing list.  To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------
-----------------------------------------------------------------------
This is the FTPAPI mailing list.  To unsubscribe, please go to:
http://www.scottklement.com/mailman/listinfo/ftpapi
-----------------------------------------------------------------------