wsdl2php 0.2.1 released
With this release wsdl2php now support enumeration and classmap (automatic mapping between XSD complexType’s and PHP classes). Also notice that wsdl2php now make use of the new __soapCall() method instead of the deprecated __call() method and the output is now in one single file.
With this release I have also automated the release process with Phing and started interoperability testing using PHPUnit.
A special thank goes to John Lindal at Yahoo for a lot of useful inputs and patches.
2 Comments
shahmirn on August 28th, 2009
Hey,
Thanks for this great script, it’s a life-saver. I’m so happy I didn’t have to write the 1000 lines of code myself!







Chuck Benedict on August 31st, 2007
Thanks for your great work. I have a few suggestions after running wsdl2php against my Salesforce.com enterprise wsdl, I encounted the following issues that I corrected manually:
1) Salesforce has an object called Case, which is a php reserved word. I renamed it and changed the classmap accordingly, but you might check for that or provide a way to override certain names at code generation time.
2) Certain constants contained colons in their definitions. I changed them to underscores. For example:
class soapType {
const tns_ID = ‘tns:ID’;
const xsd_base64Binary = ‘xsd:base64Binary’;
const xsd_boolean = ‘xsd:boolean’;
const xsd_double = ‘xsd:double’;
const xsd_int = ‘xsd:int’;
const xsd_string = ‘xsd:string’;
const xsd_date = ‘xsd:date’;
const xsd_dateTime = ‘xsd:dateTime’;
const xsd_anyType = ‘xsd:anyType’;
}
3) There was a duplicate class definition, which I suppose is valid from a wsdl perspective, but php did not like it. In this case:
class DescribeLayout {
vs.
class describeLayout {
I changed DescribeLayout to DescribeLayout_1 and changed the classmap.