WSF/PHP Code First Approach: Returning an Array of String

Here is a problem that many people have asked me how to do it. “Returning an array of string” with the code first approach. The API or WSDL generation annotation guide, contain all the things required in details. Here is an example of a service that return an array of string.


/** splitMe function
 * @param string $string_to_split string to split
 * (maps to the xs:string XML schema type )
 * @return array of string $result split to array
 *(maps to the xs:double XML schema type )
function splitMe($string_to_split)
    return array("result" => split(":", $string_to_split));


$operations = array("splitMe"=>"splitMe");
$opParams = array("splitMe"=>"MIXED");

$svr = new WSService(array("operations"=>$operations,


Note that the annotation corresponding to the return value.

 * @return array of spring $result split to array

This will generate an schema with an element of maxOccurs=’unbounded’. Note that you can get the wsdl from the ‘serviceurl?wsdl’.

<xsd:element name="splitMeResponse">
            <xsd:element name="result" maxOccurs="unbounded" type="xsd:string"/>

Now just generate a client for this service using wsdl2php and try invoke it. You will get an array of string as the response.

    $input = new splitMe();
    $input->string_to_split = "a:b:c:d";

    // call the operation
    $response = $proxy->splitMe($input);
This entry was posted in php, SOA, Tutorial/Guide, WSDL, wsf/php, wso2, xml, xml schema and tagged , , , . Bookmark the permalink.

2 Responses to WSF/PHP Code First Approach: Returning an Array of String

  1. sudo says:

    Warning: XSLTProcessor::importStylesheet() [xsltprocessor.importstylesheet]: Invalid expression in /usr/lib/php5/20060613+lfs/wsf_c/scripts/dynamic_invocation/wsf_wsdl_util.php on line 166
    NO idea why get lots of error like XSLTProcessor::importStylesheet()….
    Any idea?

  2. dimuthu says:

    Just checking, Does this happen for the samples shipped with the wsf/php?. In that case can you check whether the php xsl extension is uptodate?

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>