¿En qué lenguaje de programación lo estás haciendo? Porque yo utilizando Delphi XE8, y modificando el WSDL me siguen viniendo a nil. En cambio, ja_73 que lo está haciendo en .NET, modificando el WSDL sí que le ha funcionado.
Básicamente del WSDL hay que cambiar esta parte:
Código Delphi
[-]
message name="Salida">
art type="Ie215V1SalType" name="Ie215V1Sal"/>
message>
Por esta otra:
Código Delphi
[-]
message name="Salida">
art name="Ie215V1Sal1" element="Sal201:Ie201" />
art name="Ie215V1Sal2" element="Sal204:Ie204" />
message>
Y luego a la hora de consumir el Webservice debería ser algo así:
Código Delphi
[-]
var
XML: Ie215V11.Ie215;
XMLRespuestaIe201: Ie215V11.Ie201;
XMLRespuestaIe204: Ie215V11.Ie204;
begin
XML:=Ie215V11.Ie215.Create;
XML.Id:='201905150001'; XML.NifDeclarante:='XXXXXXXXX';
XML.NombreDeclarante:='XXXXXXXXXX';
Ie215V11.GetIe215V1(True,'',HTTPRIO1).Ie215V1(XML,XMLRespuestaIe201,XMLRespuestaIe204);
Y en teoría una de las dos respuestas XMLRespuestaIe201 (mensaje aceptado) o XMLRespuestaIe204 (mensaje rechazado) debería tener valor. Pero a mí me vienen las dos a nil.