php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Request #54791 Invalid SOAPAction when connceting to .NET service
Submitted: 2011-05-17 13:58 UTC Modified: -
Votes:26
Avg. Score:4.4 ± 1.0
Reproduced:23 of 23 (100.0%)
Same Version:13 (56.5%)
Same OS:10 (43.5%)
From: juice at apelsin dot nu Assigned:
Status: Open Package: SOAP related
PHP Version: 5.3.6 OS: Ubuntu 11.04
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: juice at apelsin dot nu
New email:
PHP Version: OS:

 

 [2011-05-17 13:58 UTC] juice at apelsin dot nu
Description:
------------
When making a SOAP call in non-WSDL mode toward a .NET service, SoapClient adds 
a pound sign (#) instead of a 
slash (/) between URI and action, which makes the .NET service return: "Server 
did not recognize the value of HTTP 
Header SOAPAction: <uri>#<action>".

According to previous bug-report #30370 (which is similar), this is not a bug: 
"If you don't use WSDL then you 
should specify "soapaction" by your self". 

However, adding a soapaction definition is only possible with __call / 
__soapCall and not when calling a WSDL 
function directly. I think this is not an issue when calling a PHP SOAP server 
since it probably interprets the 
pound sign correctly. A .NET SOAP service will not, however.

To make it easier, it would be desirable to be able to define SOAPAction, or be 
able to define a .NET compability 
mode even when calling a WSDL function, since being limited to using the low-
level __soapCall requires structuring 
the call by yourself.

Test script:
---------------
$client = new SoapClient(NULL,array(
  "host"=>"http://host/action.asmx",
  "uri"=>"http://host/webservices/soaprequest"
);
$info = $client->Action($options,$ctx,$wfl);


Expected result:
----------------
Fatal error: Uncaught SoapFault exception: [soap:Client] Server did not recognize 
the value of HTTP Header SOAPAction: http://host/webservices/soaprequest#Action


Patches

Pull Requests

 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Fri Jan 03 03:01:29 2025 UTC