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 #185819 is a reply to message #185789] |
Sat, 10 May 2014 18:16 |
ghpille
Messages: 7 Registered: May 2014
Karma: 0
|
Junior Member |
|
|
Op vrijdag 9 mei 2014 16:27:22 UTC+2 schreef Salvatore:
> On 2014-05-09, ghp....@gmail.com <ghp....@gmail.com> wrote:
>
>> 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?
>
>> [snip]
>
>
>
> The PHP binary doesn't assemble TCP packets itself. I think it's a
>
> problem with either the host machine's TCP stack or some firewall
>
> between you and the SOAP server.
>
>
>
There's nothing in between those two machines, but I'll doublecheck. I hope you're right, it gives me somewhere else to check for known bugs, I couldn't find any like this in connection with php-soap.
|
|
|
Re: PHP-SOAP/5.4.21 SoapClient terminating POST without waiting for reply, but still complaining "error fetching http headers". [message #185820 is a reply to message #185819] |
Sat, 10 May 2014 20:14 |
Jerry Stuckle
Messages: 2598 Registered: September 2010
Karma: 0
|
Senior Member |
|
|
On 5/10/2014 2:16 PM, ghpille(at)gmail(dot)com wrote:
> Op vrijdag 9 mei 2014 16:27:22 UTC+2 schreef Salvatore:
>> On 2014-05-09, ghp....@gmail.com <ghp....@gmail.com> wrote:
>>
>>> 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?
>>
>>> [snip]
>>
>>
>>
>> The PHP binary doesn't assemble TCP packets itself. I think it's a
>>
>> problem with either the host machine's TCP stack or some firewall
>>
>> between you and the SOAP server.
>>
>>
>>
>
> There's nothing in between those two machines, but I'll doublecheck. I hope you're right, it gives me somewhere else to check for known bugs, I couldn't find any like this in connection with php-soap.
>
There is a LOT between the client and the server scripts. PHP is only a
small part of it.
Salvatore is correct - PHP has nothing to do with the PHP packets
itself. And I would be willing to bet the problem is NOT in your TCP/IP
stack - such a problem wouldn't show up only on your machine with this
particular SOAP request.
My bet is you're assembling the SOAP requests incorrectly. Another
option would be your SOAP client isn't decoding them properly.
--
==================
Remove the "x" from my email address
Jerry Stuckle
jstucklex(at)attglobal(dot)net
==================
|
|
|
Re: PHP-SOAP/5.4.21 SoapClient terminating POST without waiting for reply, but still complaining "error fetching http headers". [message #185821 is a reply to message #185820] |
Sun, 11 May 2014 11:20 |
ghpille
Messages: 7 Registered: May 2014
Karma: 0
|
Junior Member |
|
|
>
> There is a LOT between the client and the server scripts. PHP is only a
>
> small part of it.
>
>
>
> Salvatore is correct - PHP has nothing to do with the PHP packets
>
> itself. And I would be willing to bet the problem is NOT in your TCP/IP
>
> stack - such a problem wouldn't show up only on your machine with this
>
> particular SOAP request.
>
>
>
> My bet is you're assembling the SOAP requests incorrectly. Another
>
> option would be your SOAP client isn't decoding them properly.
>
>
>
> --
The soap request is "assembled" by Symfony2, if I'm not mistaken.
Suppose something is wrong with the soap-envelope. How could that make TCP misbehave?
I ran tcpdump on the soap-client-machine. It is on that machine that the fin flag in the third packet was set.
I'll concentrate on the TCP stack. Where do I start? vmxnet3?
|
|
|
|
Re: PHP-SOAP/5.4.21 SoapClient terminating POST without waiting for reply, but still complaining "error fetching http headers". [message #185826 is a reply to message #185821] |
Sun, 11 May 2014 12:22 |
Jerry Stuckle
Messages: 2598 Registered: September 2010
Karma: 0
|
Senior Member |
|
|
On 5/11/2014 7:20 AM, ghpille(at)gmail(dot)com wrote:
>
>>
>> There is a LOT between the client and the server scripts. PHP is only a
>>
>> small part of it.
>>
>>
>>
>> Salvatore is correct - PHP has nothing to do with the PHP packets
>>
>> itself. And I would be willing to bet the problem is NOT in your TCP/IP
>>
>> stack - such a problem wouldn't show up only on your machine with this
>>
>> particular SOAP request.
>>
>>
>>
>> My bet is you're assembling the SOAP requests incorrectly. Another
>>
>> option would be your SOAP client isn't decoding them properly.
>>
>>
>>
>> --
>
> The soap request is "assembled" by Symfony2, if I'm not mistaken.
>
> Suppose something is wrong with the soap-envelope. How could that make TCP misbehave?
>
> I ran tcpdump on the soap-client-machine. It is on that machine that the fin flag in the third packet was set.
>
> I'll concentrate on the TCP stack. Where do I start? vmxnet3?
>
Start by debugging your problem and determining the failing component.
PHP has NOTHING to do with the format of a TCP/IP packet.
Once you've determined the failing component, ask in a forum or
newsgroup appropriate to the failure.
If you are unable to do that, I would suggest hiring a consultant to
assist you (and no, I am not available).
--
==================
Remove the "x" from my email address
Jerry Stuckle
jstucklex(at)attglobal(dot)net
==================
|
|
|
|
|
|
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?
|
|
|
|