Ver Mensaje Individual
  #8  
Antiguo 08-05-2019
APO APO is offline
Miembro
 
Registrado: feb 2008
Posts: 121
Reputación: 17
APO Va por buen camino
Cita:
Empezado por ja_73 Ver Mensaje
hola kino_ct
yo estoy haciendo la implementacion en .Net con c# también.
tengo el mismo problema, la respuesta siempre es null.
analizando con wireshark, compruebo que si tengo respuesta, por lo que el problema es que no se puede parsear a objeto.
encontré una página web, donde se puede validar el esquema wsdl

wsdl-analyzer(punto)com

fuí subiendo el equema, y me dice que hay el siguiente error (por si puede servirle a alguien)
Ie215V1SoapBinding
The part of the message 'Salida' references a schema type instead of a schema element.

revisando el archivo Reference.cs del servicio veo lo siguiente en la clase salida

public partial class Salida {

[System.ServiceModel.MessageBodyMemberAttribute(Namespace="", Order=0)]
public WasAvituallamientos.Ie215V1Service.Ie215V1SalType Ie215V1Sal;

public Salida() {
}

public Salida(WasAvituallamientos.Ie215V1Service.Ie215V1SalType Ie215V1Sal) {
this.Ie215V1Sal = Ie215V1Sal;
}
}

el Namespace está vacío, en todas los demás tipos, hay un xsd, pero en este no.
creo que el problema viene por aqui, la duda es que asignamos en el namespace para que pueda parsearlo.
a alguien se le ocurre algo?
saludos.

Hola,
En mi caso estoy implementándolo en Delphi XE8 y en la unidad que me genera el WSDL de importación me pone estos namespace en el esquema de salida Ie215V1SalType:
Código Delphi [-]
  
RemClassRegistry.RegisterExternalPropName(TypeInfo(Ie215V1SalType), 'Ie201', '[Namespace="https://www3.agenciatributaria.gob.es/static_files/common/internet/dep/aduanas/es/aeat/adia/avit/ws/Ie201V1Sal.xsd"]');
RemClassRegistry.RegisterExternalPropName(TypeInfo(Ie215V1SalType), 'Ie204', '[Namespace="https://www3.agenciatributaria.gob.es/static_files/common/internet/dep/aduanas/es/aeat/adia/avit/ws/Ie204V1Sal.xsd"]');

Código Delphi [-]
  // ************************************************************************ //
  // XML       : Ie215V1SalType, global, 
  // Namespace : https://www3.agenciatributaria.gob.e...s/Ie215V1.wsdl
  // Serializtn: [xoLiteralParam]
  // Info      : Wrapper
  // ************************************************************************ //

Y algo curioso, es que en la función para consumir el WebService me pone 'Cannot unwrap'. ¿Será por esto que no puede parsearlo correctamente?:

Código Delphi [-]
  Ie215V1 = interface(IInvokable)
  ['{AC981E05-A0BD-5252-1FB3-FB4E248F1318}']

    // Cannot unwrap: 
    //     - Output part does not refer to an element
    //     - Input element wrapper name does not match operation's name
    function  Ie215V1(const Ie215V1Ent: Ie215): Ie215V1SalType; stdcall;
  end;

function GetIe215V1(UseWSDL: Boolean=System.False; Addr: string=''; HTTPRIO: THTTPRIO = nil): Ie215V1;

Revisando la documentación hay dos esquemas de salida, uno para cuando el mensaje es aceptado y otro para cuando es rechazado. Son estos:

El diseño del esquema de salida correcta:
https://www3.agenciatributaria.gob.e...Ie201V1Sal.xsd

El diseño del esquema de salida para los albaranes incorrectos:
https://www3.agenciatributaria.gob.e...Ie204V1Sal.xsd

A ver si entre todos podemos conseguirlo. Gracias!!
Responder Con Cita