Tengo un problema que me persigue desde hace más de un mes. Tengo un Web Service que he desarrollado usando nusoap y ahora he agregado una nueva función. Esta nueva función le tengo puesto que recibe una estructura donde algunos campos de esta son arrays de estructuras:
Código:
Al hacer pruebas con SOAPUI y con la aplicación que consume del web service (esa aplicación la hace otra persona en Java) tengo un problema. Si paso varios tipoIncidencia y varios estadoIncidencia no tengo problemas, me reconoce todos los elementos. Pero si paso un solo elemento de alguno de ellos, en vez de un array con un elemento me aparece un array con dos elementos, id y descripción. <xsd:complexType name="getIncidenciasUsuarioRequest"> <xsd:sequence> <xsd:element name="userLdap" type="xsd:string"/> <xsd:element name="finicio" type="xsd:dateTime"/> <xsd:element name="ffin" type="xsd:dateTime" nillable="true"/> <xsd:element name="tipoIncidencia" type="tns:TipoIncidencia" minOccurs="1" maxOccurs="unbounded"/> <xsd:element name="estadoIncidencia" type="tns:EstadoIncidencias" minOccurs="1" maxOccurs="unbounded"/> <xsd:element name="elementosPorPagina" type="xsd:int"/> <xsd:element name="numeroPagina" type="xsd:int"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="TipoIncidencia"> <xsd:sequence> <xsd:element name="id" type="xsd:int"/> <xsd:element name="descripcion" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="EstadoIncidencias"> <xsd:sequence> <xsd:element name="id" type="xsd:int"/> <xsd:element name="descripcion" type="xsd:string"/> </xsd:sequence> </xsd:complexType>
Esto es lo que pido en SOAPUI con más de un elemento:
Código:
Y esto recibo en la función que procesa la entrada y contruye la respuesta:<!--1 or more repetitions:--> <estadoIncidencia> <id>1</id> <descripcion>Abierta</descripcion> </estadoIncidencia> <estadoIncidencia> <id>2</id> <descripcion>Cerrada</descripcion> </estadoIncidencia>
Código:
Pero cuando envío un solo elemento:[estadoIncidencia] => Array ( [0] => Array ( [id] => 1 [descripcion] => Abierta ) [1] => Array ( [id] => 2 [descripcion] => Cerrada ) )
Código:
Esto recibo en el php:<!--1 or more repetitions:--> <estadoIncidencia> <id>1</id> <descripcion>Abierta</descripcion> </estadoIncidencia>
Código:
Como he dicho, llevo más de un mes dandole vueltas, ¿Alquien puede echarme una mano?[estadoIncidencia] => Array ( [id] => 45816661 [descripcion] => Aceptada )
Gracias