#32410 [Opn->Ver]: Documentation unclear for SoapHeader

From: Date: Thu, 10 Sep 2009 12:47:28 +0000
Subject: #32410 [Opn->Ver]: Documentation unclear for SoapHeader
References: 1  Groups: php.doc.bugs 
Request: Send a blank email to doc-bugs+get-2759@lists.php.net to get a copy of this message
 ID:               32410
 Updated by:       sjoerd@php.net
 Reported By:      gehrig at ishd dot de
-Status:           Open
+Status:           Verified
 Bug Type:         Documentation problem
 Operating System: Irrelevant
 PHP Version:      Irrelevant
 New Comment:

The paragraph mentioned in the original bug report is already removed.

Suggestions to improve the documentation on SoapHeader:
1. Add a link to SoapServer::addSoapHeader to the "See also" section of
SoapHeader::SoapHeader.
2. In the documentation of SoapServer::addSoapHeader, describe that the
object is of type SoapHeader.
3. In the documentation of SoapClient::__setSoapHeaders, describe that
soapheaders is either a SoapHeader or an array of SoapHeaders, or make a
reference to the SoapHeader documentation.

The previous comment from bisho at onirica notes some valid points
about the calling of functions to handle Soap headers by the SoapServer.
This is poorly documented and doesn't work reliably. However, I suggest
creating a seperate bug report for that.


Previous Comments:
------------------------------------------------------------------------

[2008-01-08 15:42:38] bisho at onirica dot com

I also miss information about this in the doc:

If the header part "Example" has use="literal" the function with the
same name ("Example") will be executed on the SoapServer.

But:
a) With use="encoded" nothing gets executed. This drove me crazy and
should be mentioned on documentation.
b) The function "Example" does not receive arguments. So, how you are
supposed to process the header? I'm still trying to solve this.

------------------------------------------------------------------------

[2007-03-01 14:08:44] michiel at worthit dot nl

When using SoapServer I too was in need for returning SoapHeaders.
Confused by the documentation I started browsing the CVS and ended at
http://cvs.php.net/viewvc.cgi/php-src/ext/soap/tests/server023.phpt?view=markup&sortby=date,
where the function 'addSoapHeader' is tested.

Basically, you can define your headers like you should in your wsdl and
then do something like this.

---

function foo() {
    $server = $GLOBALS['server'];
    $server->addSoapHeader(new SoapHeader('my.wsdl', 'bar', true));

// optionally return data
}

$server = $GLOBALS['server'] = new SoapServer('my.wsdl'[, ...]);

$server->addFunction('foo');

$server->handle();

---

I hope someone found this comment to be useful ;).

------------------------------------------------------------------------

[2007-02-26 09:38:57] philip@php.net

David Mytton is documenting ref.SOAP, assigning this to him.

------------------------------------------------------------------------

[2005-12-23 08:07:07] cat_lan at 163 dot com

Sorry, my english is poor, see code below:
-------------------------
function foo()
{
return new soapHeader(...);
}

soapServer::addFunction("foo");
--------------------------

---about the function name "foo":
.wsdl----------------------->|
<header message="..." part="foo" use="literal" />
post data------------------->|
<soap:Header><foo>........</foo></soap:Header>

------------------------------------------------------------------------

[2005-07-09 20:25:17] jplush76 at gmail dot com

I agree it would be nice to have more information here. Soap headers
are a big part of web services and the manual treats them as a glace
over

------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/32410

-- 
Edit this bug report at http://bugs.php.net/?id=32410&edit=1



Thread (1 message)

  • sjoerd@php.net
  • Unknown Message
    • sjoerd@php.net
« previous php.doc.bugs (#2759) next »