2010年2月16日星期二

[fw-webservices] DocBlocking SOAP types.

Hi.

I want to docblock a set of properties to be xml primitive datatypes [1].

Considering that this is the correct type for the XML/SOAP/WSDL
communication, how do I "bypass" Zend_WSDL / Zend_AutoDiscovery so
that these types go through cleanly. I know that as far as PHP is
concerned, the type is loose and it will be my responsibility to
encode the values accordingly. It is in the WSDL generation, and hence
the docblocks, that I want these types to be valid.

I think I can achieve this by the following steps.

1 - Create a new concrete class from the
Zend_Soap_Wsdl_Strategy_Abstract abstract class, say
Zend_Soap_Wsdl_Strategy_W3C (as the type are defined by W3C).
2 - Implement the addComplexType() method to validate the type against
the list and return it if is OK.

What I am stuck on is how do I cascade from the new class so that I
can still drop back to the Zend_Soap_Wsdl_Strategy_ArrayOfTypeComplex.

I think the Zend_Soap_Wsdl_Strategy_Composite is of use here, but I
can't quite work out how to use it.

Any ideas would be appreciated.

Regards,

Richard Quadling.

[1] http://www.w3.org/TR/xmlschema11-2/#built-in-primitive-datatypes

--
-----
Richard Quadling
"Standing on the shoulders of some very clever giants!"
EE : http://www.experts-exchange.com/M_248814.html
EE4Free : http://www.experts-exchange.com/becomeAnExpert.jsp
Zend Certified Engineer : http://zend.com/zce.php?c=ZEND002498&r=213474731
ZOPA : http://uk.zopa.com/member/RQuadling

没有评论: