CFWriteStream without timeout
CFWriteStream without timeout
- Subject: CFWriteStream without timeout
- From: Richard Collyer <email@hidden>
- Date: Mon, 15 Nov 2004 16:30:24 -0800
I am working with a CFWriteStream which is created via
CFStreamCreatePairWithSocketToHost. I use the stream to send a packet
of SOAP information, but the server I am streaming to needs to have the
timeout property of the communication set to no ever timeout. I have
not been able to find anything in the CFSream documentation which says
that this is supported. Am I missing something, or is there a way to
keep the server from timing out on me.
The actual error message I get back from the server is:
2004-11-15 10:12:37.680 testapp[556] CFStream result: HTTP/1.1 500
Internal Server Error
Server: gSOAP/2.7
Content-Type: text/xml; charset=utf-8
Content-Length: 529
Connection: close
<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/1999/XMLSchema"><SOAP-ENV:Body><SOAP-ENV:
Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Timeout</
faultstring><detail>TCP accept failed in
soap_accept()</detail></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:
Envelope>
I have also tried to use the Web Services Foundation, where there is a
timeout property. However the result is similar:
in _parseFault
2004-11-15 10:15:48.643 testapp[559] The resulting dictionary is:
<CFDictionary 0x3a4f90 [0xa01900e0]>{type = immutable, count = 4,
capacity = 4, pairs = (
0 : <CFString 0xa4060804 [0xa01900e0]>{contents =
"/kWSHTTPResponseMessage"} = <CFHTTPMessage 0x384e80>{url =
http://153.32.72.95:18383; status = HTTP/1.1 500 Internal Server Error}
1 : <CFString 0xa4060854 [0xa01900e0]>{contents = "/FaultString"} =
<CFString 0x391a70 [0xa01900e0]>{contents = "Timeout"}
3 : <CFString 0xa40613b0 [0xa01900e0]>{contents = "/kWSResultIsFault"}
= <CFBoolean 0xa0190b90 [0xa01900e0]>{value = true}
4 : <CFString 0xa4060864 [0xa01900e0]>{contents = "/FaultCode"} =
<CFNumber 0x3811f0 [0xa01900e0]>{value = -1, type =
kCFNumberSInt32Type}
)}
With Web Services, the setting of the timeout property seems to be
ignored. I have tried several different values (-1, 0, 1000,
100000000, etc...) but I always get the same result.
NSNumber *timeout = [NSNumber numberWithLong:100000000];
WSMethodInvocationSetProperty(WSMIR,
kWSMethodInvocationTimeoutValue, timeout);
Any thoughts our hints would be greatly appreciated.
++++++++++++++++++++++++++++++++++++++++++++
Rich Collyer
441 Arlington Way
Menlo Park, CA 94025
(650) 327-2806
++++++++++++++++++++++++++++++++++++++++++++
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Macnetworkprog mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden