03 June 2013 - Multiple updates on platform and WsdlToPhp project
  • Platform updates:
    • Initiating Blog: in order to share informations, advices and sample code. This Blog will be used to let you know how to use the generator on our platform. Moreover, we'll share informations about the issues we are facing.
    • Homepage design review: our platform is going to have new features in the next few months so we're upgrading slowly but surely its design and contents.
      • From now, you must provide your email address so we can contact you if we find any issue in your generated package that can't be solved by yourself.
      • Moreover, if we're asked how a WSDL has been published on our platform, we'll contact you in order to learn from you why you published the WSDL.
      • We also want to reassure you that we'll never divulgate your email address to anyone, it stays private!
    • The projects we use: this page contains credits for every project we use for our platform. As we use many open source projects, we are pretty proud to let you know that we are satisfied by their usage
    • Subscribe to our newsletter: when generating a package, you can now subscribe to our newsletter. We use MailChimp to manage our newsletter. Don't worry, you won't be spammed as nowadays we don't have prepared any newsletter, but it should come in the future.
  • WsdlToPhp Project updates:
    • We mainly added a generic way to add PHP doc block tags to every generated PHP files and classes. This enhancement has been made thanks to the initiative of Gemorroj on Github. We then use this enhancement on our platform to add the @author, @version and @date tags to the generated packages.
    • We also fixed other minor incoherences.
    • From now, we won't list each update because you can easily find them on your prefered open source sharing website that you can find on the About page.
website, project, feature, enhancements

23 April 2013 - Updates on WsdlToPhp project
project, enhancements, feature

10 April 2013 - WsdlToPhp Project fixes and improvements
  • Bug fix in setSoapHeader*() generated methods and improvements: deployed on Github, Source Forge and Google Code
    • Fix parameter name when instantiating the SoapHeader object in the setSoapHeader*() method
    • Add *WsdlClass::setLocation($_location) method in order to ease the location Web service setting
    • Ensure generated methods for each operation doesn't override an existing method in the *WsdlClass
    • Improve the WsdlToPhpModel::getValueWithinItsType() method in order to return null value when needed even if it's an integer that is expected (0 was previously returned instead of null)
project, fix, enhancements

08 April 2013 - New *WsdlClass methods
  • Two new main methods have been added to the generated WsdlClass: deployed on Github, Source Forge and Google Code
    • getLastRequest($_asDomDocument = false): this method returns the result gotten by calling the SoapClient::__getLastRequest() method but with the difference that the result is formated with indentation using the PHP native DOMDocument class. As it's using the DOMDocument class, it can return the object instead of the string if it suits you most.
    • getLastResponse($_asDomDocument = false): this method returns the result gotten by calling the SoapClient::__getLastResponse() method but with the difference that the result is formated with indentation using the PHP native DOMDocument class. As it's using the DOMDocument class, it can return the object instead of the string if it suits you most.
    • These two methods use a third method which has been named getFormatedXml($_string,$_asDomDocument = false). This method receives a string as first parameter and a boolean value as second parameter in order to know if the result has to be returned as a formated string or as a DOMDocument object. So, you can call it for any other purpose if you wish.
project, feature, enhancements

06 April 2013 - WsdlToPhp project has been updated!
  • The project has been updated on:  Github, Source Forge and Google Code.
  • The update contains:
    • A new feature: in order to ease the usage of the generated methods when SoapHeader(s) is/are required, new methods are now generated. Indeed, setting SoapHeader can be sometimes tricky or not very clear when you don't feel comfortable with the use of the generated classes. So now setSoapHeader{soap header name} methods are generated for each needed Soap header param within the Service type classes. The methods are pretty useful and easy to use as the parameters are explicits and are nearly identical to the native Soapheader::__construct method. The advantage is that most of the time, you'll only have to call the setSoapHeader{soap header name} method(s) by passing the first parameter which is the header param value because the main calls are embeded in the method.
    • "from schema" meta: this new meta information is now always included in the main class doc block for generated Enum and Struct classes. This meta information is pretty useful when the WSDL includes/imports more than one schema and you don't know which schema declares the Enum or Struct element.
    • *WsdlClass::__construct(,$_resetSoapClient = true): the generated constructor now accepts a second parameter which allows to disable the SoapClient object reset. Useful when you need to keep the SoapClient state between two distinct service calls.
    • WsdlToPhpModel::getValueWithinItsType(,$_knownType = null): the method now accepts a second parameter, a string, that informs the method of the expected value returned type. The default behaviour has been kept.
    • *Struct*::__construct(): the generated method doc block and body now takes account of the *WsdlClass generation or not. If the *WsdlClass is not generated, it now uses the class proper setters and so the doc block indicates their usage.
project, enhancements, feature

20 February 2013 - WsdlToPhp project and websites updates since the last time
  • Project updates:
  • Website updates: you can now use the new "Main Folder Categorization" type entitled "Based on the class type" in the "General Options" tab before submiting your WSDL
website, project, feature, enhancements, fix

04 February 2013 - Adding new feature "audit" and various enhancements
  • WsdlToPhp project updates: new feature (audit) and enhancements, deployed on GithubSourceForge and Google Code
    • Audit is a new feature which allows to determine what takes most of the generation time during the whole generation process. It stores informations (calls number, time spent and last call time) so that each call can be audited. Audit is filled calling WsdlToPhpGenerator::auditInit() at function start then WsdlToPhpGenerator::audit() to calculate time spent and calls number. Audit informations are stored using the WsdlToPhpGenerator global storage data. Audit can be accessed using the WsdlToPhpGenerator::getAudit() method which returns an associative array of all audited calls
    • Improve inheritance determination, operation parameter/return type determination and struct attributes type determination by browsing schemas sequentially in order to analyze several particular tags (header, list, union, attribute, input, output)
    • Improve location management system in order to allow local schemas file loading
    • Minor review of attributes declaration for WsdlToPhpModel type classes
    • Minor review of documentation management for php doc
  • All these updates are provided on the website and are accessible right now (except audit which is used on background)
enhancements, feature, project

29 January 2013 - SOAP header types catching and generated classes namming improved
  • Ensure that SOAPHeader types are well retrieved from WSDLs, deployed on GithubSourceForge and Google Code
  • Minor updates and improve classes generation in order to generate classes (structs, services, enumerations) with unique name (case sensitively), deployed on GithubSourceForge and Google Code
enhancements, project

22 January 2013 - WsdlToPhp project and website updates
  • Website updates: The website is now using the full navigator width
    • The WSDLs are gathered by their date of creation (the blue brackground line indicates the first time the WSDL has been submitted)
    • Each generation option is now displayed in a column so each generated package can be easily compared to the others
    • Generated packages are gathered by their date of creation, the same way as the WSDLs list
    • When you click on a file to see its content, the icon representing it changes to a loader icon during the loading
  • WsdlToPhp project updates:
    • Retrieve SoapHeader namespace and add it to the operation php doc, deployed on GithubSourceForge and Google Code
    • Several updates on the same time: deployed on GithubSourceForge and Google Code
      • Fix location determination from import tags when path is relative with "../"
      • Improve php doc to indicate if SOAPHeader(s) is/are required, by default SOAPHeader(s) is/are considered as required unless the "required" attribute specifies the opposite
      • Add several test cases for SOAPHeaders and others
website, project, enhancements

18 January 2013 - Generated PHP doc enhancements and new feature
  • Global php doc enhancements and new feature: deployed on GithubSourceForge and Google Code
    • Improve php doc for @uses tags when attributes are inherited (modification of WsdlToPhpStruct::getAttributes() behaviour!)
    • Minor update when generating comment for array comment type by removing space after comma
    • Improve SOAPHeader detection and type determination
    • Introduce global value dedicated to the WsdlToPhpGenerator class to store global values and unset them at once
    • Add several test cases for SOAPHeader detection
enhancements, feature, project

17 January 2013 - Miscellanous enhancements on project
enhancements, project

16 January 2013 - WsdlToPhp project new features and enhancements
  • New features and enhancements: deployed on GithubSourceForge and Google Code
    • New feature: catch header informations that have to be sent when calling an operation. So if a SOAPHeader is required, it is indicated in the operation/function php doc (SOAPHeader : required). Moreover, the names and types of the SOAPHeader(s) are extracted from the WSDL and added to the operation/function php doc (SOAPHeaderNames and SOAPHeaderTypes) separated by a comma.
    • Wsdl location loading has been optimized
    • Don't add virtual struct (aka restriction and not enumeration) to the ClassMap array
    • Ensure that meta informations are cleaned and generated correctly either if it's a string or an array
    • Adding test case samples
feature, enhancements, project

15 January 2013 - Project enhancements and bug fixes
  • Enhancements and bug fixes: deployed on GithubSourceForge and Google Code
    • Add owner feature in order to know the owner of a current struct attribute/value or the owner of a current function. The owner must be a WsdlToPhpModel object type.
    • Ensure case sensitive unique naming of methods (setters, getters and operations) by using generic WsdltoPhpModel::uniqueName() method.
    • Sort case sensitively return types in the getResult() method php doc.
    • Refactoring WsdlTophpStructValue::getCleanName() method fixes #6 Github issue concerning "PHP Warning : Strict Standards: Declaration of WsdlToPhpStructValue::getCleanName() should be compatible with WsdlToPhpModel::getCleanName() in WsdlToPhpStructValue.php on line 107"
fix, enhancements, project

14 January 2013 - Github pull requests integrated
  • Merge updates on php doc fixes from Github pull request, deployed on GithubSourceForge and Google Code
  • Minor enhancement in order to avoid generation of empty structs (no attributes) that don't inherit from another generated struct, deployed on GithubSourceForge and Google Code
Github, project

02 January 2013 - WsdlToPhp project new release
  • This release makes the WsdlToPhp class deprecated which is replaced by the WsdlToPhpGenerator class as for the samples.php file replaced by the samples-generator.php file. WsdlToPhpGenerator class uses a set of classes which inherits from the new class named WsdlToPhpModel. The classes are :
    • WsdlToPhpFunction : an operation
    • WsdlToPhpService : a set of operations represented by WsdlToPhpFunction objects
    • WsdlToPhpStructAttribute : an attribute of a struct
    • WsdlToPhpStructValue : a value of an enumeration struct
    • WsdlToPhpStruct : a struct which can be a request object, a response object, an enumeration definition or any useful object defined in the WSDL
    • WsdlToPhpModel : defines the generic methods and features of the previous classes
  • WsdlToPhpGenerator is based on the original WsdlToPhp class but full reviewed in order to use the new classes. This new set of classes make enhancements and bug fixes easier to implement.
  • Is also fixes some bugs and misunderstandings about the content of the WSDL and its structs.
  • It now adds good php doc blocks in order to generate php documentation with phpdocumentor. It introduces package, subpackage and has improved general documentation.
  • Moreover, generated classes are strictly separated by their naming :
    • {PackageName}Service : class which gathers the operations/functions (based on their name)
    • {PackageName}Struct : class which represents a struct type which can be used either for requesting or catching response
    • {PackageName}Enum* : class which represents an enumeration of values. Each value is defined with a constant
    • {PackageName}WsdlClass : mother class of all generated class if enabled. This class defines all the generic methods and the needed configurations/methods to call the SOAP WS
    • {PackageName}ClassMap : class that constains one final public static method which returns the array to map structs/enums to generated classes
  • You can see the phpdoc about this whole package here :
  • For even more informations, also read the main php doc block located in the WsdlToPhpGenerator class file to see all features and tested cases.
  • Deplopyed on GithubSourceForge and Google Code and on this website of course !
release, project

17 December 2012 - Bug fix on struct classes types
  • Bug fix when generating struct that have restrictions but that aren't enumerations. Get restrictions informations and add them to php doc comment, deployed on GithubSourceForge and Google Code
fix, project

06 December 2012 - WsdlToPhp project enhancements
  • Fix sample file for unknown parameter types which, update doc comment for service classes, update getResult method doc comment in order to have unique return type, update doc comment for autoload file, update operation methods when parameter is typed unknown, deployed on GithubSourceForge and Google Code
  • Enhancements to avoid PHP warning and better schema location determination, deployed on GithubSourceForge and Google Code
enhancements, project

01 December 2012 - Website now available in French !
  • Explicit messages have been added and will be displayed when you submit a WSDL and an error occurs
  • This website is now available on both English and French languages
translation, website

29 November 2012 - Search field added on the website
  • You can now search WSDLs and packages from the top toolbar or from the search page
search, website

14 November 2012 - Code review and improvements
  • Deep refactoring on: php doc in generated classes, struct name definition and identification, constant value type definition, php doc in WsdlToPhp class, improvements on parameters naming and presence determination, improvement deployed on GithubSourceForge and Google Code
  • Improvements on package generation and on getting WSDL content for the website
code review, enhancements

05 November 2012 - Classes inheritance improved
enhancements, project

03 November 2012 - Regeneration of all existing packages
  • Regeneration of all packages in order to take advantage of updates until today
regeneration, website

01 November 2012 - Sample file bug fix
  • Bug fix when generating samples in sample file, all "_" were stripped from the class name, bug fix deployed on Github, SourceForge and Google Code
fix, project

31 October 2012 - WsdlToPhp project bug fixes
  • Bug fixes: object variable name was "$this" instead of the actual object variable name based on the class in the generated sample file, bug fix deployed on Github, SourceForge and Google Code
    • location of schema defined by import tags is now catched in most of the case, even if the location is not contained by the correct attribute
    • class attributes can now only be defined once and not several times as before, bug fix deployed on Github, SourceForge and Google Code
    • allow structs to be type of elements contained by the current WSDL
    • bug fix when settings optionSendParametersAsArray which disabled optionSendArrayAsParameter even if optionSendArrayAsParameter was enabled, bug fix deployed on Github, SourceForge and Google Code
fix, project

30 October 2012 - WsdlToPhp project and website enhancements
  • Improvement on WsdlToPhp class in order to avoid infinite looping when lopping on inheritance definitions, bug fix deployed on Github, SourceForge and Google Code
  • Improvement takes effect on this WSDL
  • Pagination added when browsing WSDLs
  • Technical improvements
  • Now you can indicate your email address, so if there is any error during the generation or with the generated package, I'll be able to inform you of the bug fix.
enhancements, website, project

27 October 2012 - Possibility to create a package nammed differently from the same WSDL
  • Bug fix when generating multiple packages based on the same WSDL content but with different Package Name, folder was unique and so the package browser was too.
fix, website

23 October 2012 - Browse generated package with Dynatree
  • Now you can browse the package and look at the generated files, only click on the tab "Browse Package". See an exemple on the last generation from yesterday: QBWebConnectorSvc. The tree is generated thanks to Dynatree.
feature, website

23 October 2012 - WSDL errors display and import tags management
  • Adding errors catching in order to inform user of them. See an example on this generation: OrderService
  • Bug fix when submitting a WSDL from its URI: import tags failed and tutorial file contained the local generated file
enhancements, website

22 October 2012 - Website and project enhancements
  • Update form field labels and example values
  • Enhancements to avoid PHP warning and better schema location determination
enhancements, website, project