Hi Kieran,

I wrote a response a couple of days ago, but for some reason I can't
see it here, so here goes again...

On 27 Feb, 00:45, "[EMAIL PROTECTED]"
<[EMAIL PROTECTED]> wrote:
> Thanks for your replies,
>
> I'd like the WSDL generator to define the SOAP headers. Also the
> business/application logic should be able to access any headers sent
> from a SOAP client as SDO objects. I think the best place for the
> definition of the headers would be in the annotations above each
> class.
>

I like the idea of adding support to generate Soap headers in the
WSDL.  I agree that a class level annotation makes sense as the place
to add the headers.

I think of Soap headers as things which cut across services and
ideally should not be surfaced in the business/applications logic
(e.g. security).  If the business logic needs the info, then I'd
typically consider moving into the body.

That said, there are sometimes reasons outside ones control which
might lead to the requirement to access headers from application
logic, so I wouldn't want us to proclude it, perhaps just not
recommend it ;-)


> The bug request mentioned seems to not have any real solution except
> for the fact that there's no current way to do what I want using the
> SoapServer from PHP.
>

The lack of real solution was partly why I mentioned it.  Sorry I
didn't make that clear.

> Consequently, I've posted a feature request (http://bugs.php.net/
> bug.php?id=40652) for writing SoapHeaders with SoapServer, although
> after rereading my request, I may not have been clear enough. If you
> were to post comments of support and/or clarification to the request
> it would be greatly appreciated, and might give it some more swing.
>

I've added a comment to try to make sure whatever gets implemented can
be used in SCA in an effective way.

> Regards,
>
> Kieran
>
> On 26 Feb, 16:40, "[EMAIL PROTECTED]"
>
> <[EMAIL PROTECTED]> wrote:
> > Hi,
>
> > I added the __setSoapHeader() to allow me to write a custom Binding
> > for eBay.  I needed to be able to flow an eBay CustomSecurityHeader in
> > the SoapHeader.  An extract of its use is as follows (I've modified
> > the code a little to show how you would use it directly on the proxy
> > rather than in a custom binding for clarity, but to preserve the
> > protocol/business logic separation, this is best done in a binding):
>
> >             $requester_credentials =
> >                 $proxy->createDataObject('urn:ebay:apis:eBLBaseComponents',
>
> >                                         'CustomSecurityHeaderType');
> >             $requester_credentials->eBayAuthToken = 
> > $this->config['authtoken'];
>
> >             $credentials = 
> > $requester_credentials->createDataObject('Credentials');
>
> >             $credentials->AppId    = $this->config['appid'];
> >             $credentials->DevId    = $this->config['devid'];
> >             $credentials->AuthCert = $this->config['authcert'];
> >             $proxy->__setSoapHeader($requester_credentials,
> >                                    'urn:ebay:apis:eBLBaseComponents',
> >                                    'RequesterCredentials');
> >             $response = $proxy->GetSearchResults($request);
>
> > I think it would be good to provide the equivalent on the server
> > side.  This would probably be best used by custom binding
> > implementations to keep header handling separate from business logic
> > (I'm not sure how this could be cleanly done any other way since an
> > SCA component does not know about the binding implementation, so can't
> > easily explicitly request the header).
>
> > Ideally the SoapServer would provide a hook for this to be
> > implemented, but unfortunately this is not the case 
> > (seehttp://bugs.php.net/bug.php?id=38309).  It may be possible to extend
> > the SCA_Bindings_ws_ServiceRequestHandler to parse out the header into
> > an SDO, but this will impact performance (the SoapServer has already
> > parsed the request once).
>
> > We may be able to request that the SoapServer provide the hook (or
> > offer to contribute it), if that's what we decide is the best way
> > forward.
>
> > On 26 Feb, 11:51, [EMAIL PROTECTED] wrote:
>
> > > On 26 Feb, 00:54, "[EMAIL PROTECTED]"
>
> > > <[EMAIL PROTECTED]> wrote:
> > > > Hi,
>
> > > > I'm working with a medium sized telco in Australia to reimplement
> > > > their CRM. First thing we're doing is to turn all their core services
> > > > into SOAP exposed services.
>
> > > > SOAP headers would make our life a lot easier. I've read the
> > > > documentation and had a quick look at the source code - but it seems
> > > > as though there's no way to do this.
>
> > > > Is there technical limitations as to why this isn't implemented? We
> > > > have a few developers here, and if it's not too difficult to implement
> > > > we may be ale to allocate resources to implementing it.
>
> > > > Great work, by the way.
>
> > > > Regards,
>
> > > > Kieran
>
> > > Hi Kieran and thanks:-)
>
> > > Do you mean you want to be able to set the SOAP hearders that are sent
> > > with a SOAP request?  Looking at the AVOCET branch in CVS it seems
> > > Graham Charters has had this problem as a method was added to allow
> > > SOAP headers to be set. If you look in the branch at file SCA/Bindings/
> > > ws/Proxy.php there is a new method.
>
> > > public function __setSoapHeader($header_sdo, $ns, $name) {
>
> > > I don't see any examples of how to use it though so maybe Graham will
> > > comment with some detail on the ins and outs of the change.
>
> > > If you want to read the SOAP headers in a service then I'm not sure
> > > how you go about it at present. There is no technical reason why we
> > > shouldn't allow access to the headers but we would have to add an API
> > > to retireve the information for a call.
>
> > > Thanks for the offer of help it's very welcome. Lets discuss your
> > > exact requirements here then we can work out how we implement it.
>
> > > Regards
>
> > > Simon


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"phpsoa" group.
To post to this group, send email to phpsoa@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.co.uk/group/phpsoa?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to