PHP-SOAP/5.4.21 SoapClient terminating POST without waiting for reply, but still complaining "error fetching http headers". [message #185788] |
Fri, 09 May 2014 14:24  |
ghpille
Messages: 7 Registered: May 2014
Karma: 0
|
Junior Member |
|
|
We have a problem with a specific soap request to one of our webservices, and my impression is that PHP is misbehaving on the TCP level. I'll show you a tcpdump of such session. Can anyone tell me what could be the reason for PHP to behave in this way, unless we've stumbled on a bug?
Mark the FIN flag in the third packet, to which our HAProxy server reacts with three ReSeTs. The post never reaches the destination, which is understandable.
17:42:00.405859 IP we?????.?????.be.60083 > rmgdmzhaproxyip173.dmz.local.http: Flags [.], seq 1804:9044, ack 21378, win 454, options [nop,nop,TS val 1818030407 ecr 2095496264], length 7240
E..|n.@.@.Ro...R.......P...I..](....y......
l\.G|..HPOST /amehoela-jobcv-dao/serviceTeamFacade HTTP/1.1
Host: we?????.?????.be
Connection: Keep-Alive
User-Agent: PHP-SOAP/5.4.21
Content-Type: text/xml; charset=utf-8
SOAPAction: ""
Content-Length: 8300
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://facade.dao.??????.??????.be/"><SOAP-ENV:Body><ns1:saveJob ><arg0><path>/regio/jobs</path><application>JOBCV</application><userIdentifier >14069</userIdentifier><impersonatorIdentifier/><language>nl</language ><site>JOBVLAN</site></arg0><arg1><totalCount>true</totalCount><applications >false</applications><basics>true</basics><company>false</company><contact >false</contact>
snip loads of XML
snip loads of XML
snip loads of XML
<descriptions><name>remunerationDescription</name><value>test</value> </descriptions><educations><educationCode>F</educationCode></educations ><experience>N</experience><externalJobCode>test</externalJobCode><functionCategories ><functionCategory>0100</functionCategory></functionCategories><functionTy
17:42:00.405883 IP we???????.??????.be.60083 > rmgdmzhaproxyip173.dmz.local..http: Flags [P.], seq 9044:9996, ack 21378, win 454, options [nop,nop,TS val 1818030407 ecr 2095496264], length 952
E...n.@.@.j....R.......P......](....`......
l\.G|..Hpe>x:SE</functionType><jobDescriptionText>test</jobDescriptionText ><jobSchedule>x:FULL</jobSchedule><jobTitle>test</jobTitle><jobType>x:TEMP </jobType><language>nl</language><location><address><city>Gemeentenaam </city><countryCode>BE</countryCode><department>West-Vlaanderen</department ><postalCode>8800BE</postalCode><region>VLAAMS GEWEST</region></address><cityCode>8800BE</cityCode><departmentCode>BE25 </departmentCode><districtCode></districtCode><regionCode>BE2</regionCode ></location><remunerationDescription>test</remunerationDescription><requiredQualifications >test</requiredQualifications><roulartaJobCode></roulartaJobCode><sector >1700</sector></jobDescriptions><logo><detail><language>nl</language ><name>job--nl</name><path> /2014/05/07/6e204c2badbb0cbce7b887b8f813f353/eee99b2a98dfda49aa7e98be97f311 0c.gif </path></detail><details><language>nl</language><name>job--nl</name ><path>/2014/05/07/6e204c2badbb0cbce7b887b8f813f353/eee99b2a98d
17:42:00.405895 IP we??????.??????.be.60083 > rmgdmzhaproxyip173.dmz.local.http: Flags [FP.], seq 9996:10320, ack 21378, win 454, options [nop,nop,TS val 1818030407 ecr 2095496264], length 324
E..xn.@.@.mm...R.......P...I..](....^......
l\.G|..Hfda49aa7e98be97f3110c.gif</path></details></logo><numberToFill>0 </numberToFill><ownerSite>JOBVLAN</ownerSite><packageProduct><packageCode ></packageCode><productCode></productCode></packageProduct><shielded>false </shielded><status>PENDING</status><version>6</version></arg2></ns1:saveJob ></SOAP-ENV:Body></SOAP-ENV:Envelope>
17:42:00.406120 IP rmgdmzhaproxyip173.dmz.local.http > we??????.??????.be.60083: Flags [R], seq 2711706920, win 0, length 0
E..(..@.@..........R.P....](....P...h.........
17:42:00.406135 IP rmgdmzhaproxyip173.dmz.local.http > we??????.??????.be.60083: Flags [R], seq 2711706920, win 0, length 0
E..(..@.@..........R.P....](....P...h.........
17:42:00.406179 IP rmgdmzhaproxyip173.dmz.local.http > we??????.??????.be.60083: Flags [R], seq 2711706920, win 0, length 0
E..(..@.@..........R.P....](....P...h.........
php-soap.x86_64 5.4.21-2.el6.remi @remi
|
|
|
|
|
|
|
|
|
|
|
|
Re: PHP-SOAP/5.4.21 SoapClient terminating POST without waiting for reply, but still complaining "error fetching http headers". [message #185906 is a reply to message #185788] |
Wed, 14 May 2014 09:27   |
ghpille
Messages: 7 Registered: May 2014
Karma: 0
|
Junior Member |
|
|
Op vrijdag 9 mei 2014 16:24:32 UTC+2 schreef ghp...@gmail.com:
> We have a problem with a specific soap request to one of our webservices, and my impression is that PHP is misbehaving on the TCP level. I'll show you a tcpdump of such session. Can anyone tell me what could be the reason for PHP to behave in this way, unless we've stumbled on a bug?
>
>
>
> Mark the FIN flag in the third packet, to which our HAProxy server reacts with three ReSeTs. The post never reaches the destination, which is understandable.
It turns out that the SoapClient is sending data on a half-closed connection. The server had earlier sent a FIN packet, that had been ACKnowledged by the client.
Now, from a TCP point of view, it is permissible to send data with of before your own FINish.
But POSTing something to which you're expecting a reply, on a half-closed connection?
|
|
|
|