Hi Kieran,

Sorry for not replying sooner.  That's great news that you have
approval to work on this.

I'm a little concerned about having a soap header method on the
component because this will appear on any generated service interface
(e.g. .wsdl, .smd, etc), but should not be expliclity called by
clients.  I guess we could exclude this in some way, but if there's a
way to separate it out, it might be better.  I'll have a think about
this tomorrow and be sure to respond (even if I don't have any better
ideas).

FYI: the SCA_SDO project has an associated Contributors License
Agreement (CLA) (similar to that of Apache and the Zend Framework).
If you are willing to contribute the header support, it would need to
be done under this CLA.  The CLA text file is in the PECL repository
and packaged in each release.  I've noticed the CLA still refers to
the old project name (SDO) and will check whether or not this needs to
be fixed.  If you have any questions about the CLA, please let me
know.

Regards,  Graham.

On 5 Mar, 22:09, "Kieran James" <[EMAIL PROTECTED]> wrote:
> If there are no objections, I'll start work on it.
>
> Regards,
>
> Kieran
>
> On 3/4/07, Kieran James <[EMAIL PROTECTED]> wrote:
>
> > Rob,
>
> > Thanks for your input!
> > I've only had brief exposure to PHP's SOAP (I'm from the Java camp) and I
> > didn't find the documentation very clear (and for that matter, the book I
> > bought on "Pro PHP XML and Web Services" doesn't cover Headers except from
> > the consumers point of view). I'm amazed at the simplicity of it.
>
> > Everyone,
>
> > My manager has approved me to work on SCA - specifically the
> > implementation of header support.
>
> > I suggest we work on the semantics of how this should work.
>
> > I think we should have an annotation above the class that defines which
> > function is going to process the header from the client, and annotations
> > above that function which defines the datatypes and such, for example:
>
> > /**
> >  * @service
> >  * @binding.ws
> >  * @header authinfo
> >  */
> > class service {
>
> >     /**
> >      * @param username $usernamehttp://accounts/Account
> >      * @return statushttp://accounts/Account
> >      */
> >      function authinfo($username) {
>
> >      }
>
> > }
>
> > If you have any thoughts, please let me know as I'd like to start work on
> > this as soon as possible.
>
> > Regards,
>
> > Kieran
>
> > On 3/2/07, Rob <[EMAIL PROTECTED]> wrote:
>
> > > On 1 Mar, 21:31, "Kieran James" <[EMAIL PROTECTED]> wrote:
> > > > I've only had a small amount of time to review the PHP SOAP extension.
> > > To
> > > > summarize from my brief exposure to it, I think that SoapHeader
> > > consumption
> > > > on the server side wouldn't be difficult to implement. I am still
> > > > investigating this, though time is scarce for me.
>
> > > > If I've not been clear enough on anything, please let me know.
>
> > > I am not sure if I'm missing something or not, but a SoapServer does
> > > process the headers as long as they are defined in the WSDL.
> > > It also will fault if header set to mustUnderstand and the function
> > > not implemented or not defined in WSDL.
> > > The only times the raw XML needs to be processed to access the headers
> > > is in the case of it not defined.
>
> > > <?php
> > > $xmlinput = <<<EOXML
> > > <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/
> > > envelope/" xmlns:ns1="urn::robTest">
> > >   <SOAP-ENV:Header>
> > >     <ns1:AuthenticationInfo>
> > >       <username>MYLOGINID</username>
> > >       <password>MYPASSWORD</password>
> > >     </ns1:AuthenticationInfo>
> > >   </SOAP-ENV:Header>
> > >   <SOAP-ENV:Body>
> > >     <ns1:GetTestList>false</ns1:GetTestList>
> > >   </SOAP-ENV:Body>
> > > </SOAP-ENV:Envelope>
> > > EOXML;
>
> > > function AuthenticationInfo($authinfo)
> > > {
> > >         if ($authinfo->username != "MYLOGINID") {
> > >                 return new SoapFault("F998", "Invalid USername");
> > >         } else if ($authinfo->password != "MYPASSWORD") {
> > >                 return new SoapFault("F999", "Invalid Password");
> > >         }
> > > /* Return value here would be used to add header to response */
> > > }
>
> > > function GetTestList($getAll) {
> > >    return $getAll;
> > > }
>
> > > $server = new 
> > > SoapServer('http://www.cdatazone.org/files/rob.WSDL'<http://www.cdatazone.org/files/rob.WSDL%27>
> > > );
> > > $server->addFunction("GetTestList");
> > > $server->addFunction("AuthenticationInfo");
> > > $server->handle($xmlinput);
> > > ?>
>
> > > Rob


--~--~---------~--~----~------------~-------~--~----~
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