Issues

ZF-6875: "ArrayOfArrayOf..." to Zend_Soap_AutoDiscover / Zend_Soap_Wsdl

Description

Adding complex array structure to WSDL generated by Zend_Soap_Wsdl and Zend_Soap_AutoDiscover.

Some people use WSDL as the webservice API documentation. WSDL that shows just "array" as input or output request doesn't help the client side team. This issue may provide additional information to WSDL when server side wants to work with array. The major goal is to answer the commom question: what does this array contain? an integer? a string? an object?

h2. first usage


<?php

class MyService
{
    /**
     * @param integer[]
     * @return void
     */ 
    public function xxx(array $number){} 

    /**
     * @param array of integer
     * @return void
     */ 
    public function xxx(array $number){} 
}

WSDL must contain in "message" part:


WSDL must contain in "types" part:


h2. second usage


<?php

class MyService2
{
    /**
     * @param integer[][]
     * @return void
     */ 
    public function xxx(array $number){} 

    /**
     * @param array of array of integer
     * @return void
     */ 
    public function xxx(array $number){} 
}

WSDL must contain in "message" part:


WSDL must contain in "types" part:


h2. third usage


<?php

class MyService3
{
    /**
     * @param MyClass[][]
     * @return void
     */ 
    public function xxx(array $number){} 
}

WSDL must contain in "message" part:


WSDL must contain in "types" part:



        ...
    

h2. reference

*  <a rel="nofollow" href="http://www.w3.org/2002/ws/databinding/edcopy/advanced/advanced.html#pattern-SOAPEncodedArray">http://w3.org/2002/ws/&hellip;</a>
* <a rel="nofollow" href="http://www.w3.org/2002/ws/databinding/examples/6/09/SOAPEncodedArray/">http://w3.org/2002/ws/&hellip;</a>
* <a rel="nofollow" href="http://www.w3.org/TR/wsdl#_types">http://www.w3.org/TR/wsdl#_types</a>

Comments

This would create WS-I non-compliant array blocks. Per WS-I, soap-enc:Array is no longer valid. Support for multidimensional arrays can be added by patching ArrayOfTypeSequence with issue ZF-6742. However, there is the issue of array currently being mapped to soap-enc:Array which needs to be changed to the WS-I compliant version of arrays.

http://framework.zend.com/issues/browse/ZF-6742

fixed with r16935 ZF-6742