||WSDL To PHP
Generate classes to send SOAP requests from a WSDL
||By MikaŽl DELSOL
||[UPDATE] minor fix and improvements
Fix generic WsdlClass::__set_state() method in order to instantiate dynamically the object wihout any parmaters
Improve "from schema" meta storage by providing the constant WsdlTophpModel::META_FROM_SCHEMA and two methods WsdlTophpModel::setFromSchema() and WsdlTophpModel::getFromSchema(). These two methods are then used within WsdlToPhpGenerator methods to store this information.
[UPDATE] adding __set_state() method and enhancements
Add generic WsdlClass::__set_state() method in order to allow var_export() result to be used. This method is also added to each generated Struct class.
Ensure that PHP reserved methods are not overridden in WsdlToPhpModel
[UPDATE] bug fix and improvements
Fix generated setSoapHeader method in service classes
Improve WsdlToPhpModel class in order to ensure that none of the WsdlClass methods is overriden by a WSDL operation
[UPDATE] SoapHeader setters and "from schema" meta
SoapHeader setters are now generated first so the sample file will call them first as it should be done if you need to set SoapHeaders. They are also more efficient on namespace definition and on parameters naming.
The meta information "from schema" is introduced in each generated Struct and Enum class in order to identify the origin of the class. It's pretty useful when WSDL includes/imports numerous schemas.
[UPDATE] new features and php doc improvement
WsdlClass__construct method allows to reset or not the SoapClient if its not needed.
New methods are generated within the Services classes in order to set the SoapHeaders after instancitating the service class. For each required SoapHeader, a method is available and makes easy to set the SoapHeader.
Improvement in WsdlToPhpModel::getValueWithinItsType() in order to allow to indicate in wich type the value should be returned
Update Structs __construct() method when WsdlClass is not generated in order to call its setters
[UPDATE] behaviour and php doc enhancements
Update WsdlToPhpGenerator::manageWsdlNodeDocumentation() method in order to improve, again, documentation tags detection. Update WsdlToPhpGenerator php doc comment.
Update WsdlToPhpModel::getCleanName() method behaviour in order to allow to keep muliple consecutive undescores in the generated name. So the struct attributes are detected as having a clean name even if they contain multiple consecutive underscores. Update WsdlToPhpModel::cleanString() method in order to take account of this new parameter. By default, multiple consecutive underscores are kept. Update WsdlToPhpModel php doc comments.
Update WsdlToPhpStruct::getAttributes() calls in WsdlToPhpFunction::getComment() and WsdlToPhpFunction::getBody() methods in order to take advantage of the new WsdlToPhpStruct::getAttributes() method behaviour.
Update WsdlToPhpStruct::getAttributes() behaviour by adding a second parameter allowing to get attributes ordered as required attributes are positionned as first attributes. So, the generated class __construct() method will be easier to call as the required parameters are placed as first parameters. Improve WsdlToPhpStruct::isArray() method in order to take account the number of attributes the struct owns by calling new WsdlToPhpStruct::countOwnAttributes() method. Improve generated array containing parameters passed to the parent class in order to take account of the parameter type when parameter is a generated array type class. Update WsdlToPhpStruct php doc comment.
Update WsdlToPhpStructAttribute::getSetterDeclaration() method in order to generate better php doc comment for the current attribute setter method when struct is an array type class. Update WsdlToPhpStructAttribute php doc comment.
Update WsdlToPhpStructValue::getCleanName() method according to the new behaviour of WsdlToPhpModel::getCleanName() method. Update WsdlToPhpStructValue::getDeclaration() to remove useless parameters passed to the WsdlToPhpStructValue::getCleanName() method call. Update WsdlToPhpStructValue php doc comment.
Update WsdlToPhpService php doc comment.