Issues

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

Issue Type: Improvement Created: 2009-06-01T08:19:43.000+0000 Last Updated: 2010-09-13T05:58:08.000+0000 Status: Resolved Fix version(s): Reporter: Renan de Lima (renanbr) Assignee: Renan de Lima (renanbr) Tags: - Zend_Soap_Server

  • Zend_Soap_Wsdl

Related issues: - ZF-6742

Attachments:

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

<pre class="highlight">
<?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:

<pre class="highlight">

WSDL must contain in "types" part:

<pre class="highlight">

h2. second usage

<pre class="highlight">
<?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:

<pre class="highlight">

WSDL must contain in "types" part:

<pre class="highlight">

h2. third usage

<pre class="highlight">
<?php

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

WSDL must contain in "message" part:

<pre class="highlight">

WSDL must contain in "types" part:

<pre class="highlight">

        ...

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

Posted by Kevin Nuut (kevinnuut) on 2009-06-19T07:53:35.000+0000

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

Posted by Ramon Henrique Ornelas (ramon) on 2010-09-13T05:58:01.000+0000

fixed with r16935 ZF-6742

Have you found an issue?

See the Overview section for more details.

Copyright

© 2006-2016 by Zend, a Rogue Wave Company. Made with by awesome contributors.

This website is built using zend-expressive and it runs on PHP 7.

Contacts