到目前为止,我正在使用带有 C# 的第三方 Web 服务没有问题。将 wsdl 添加到已连接的服务中,添加对以下内容的服务引用:
https://serviciosjava.afip.gob.ar/wsfecred/FECredService?wsdl
问题出现在可选参数上。例如,consultarComprobantes 操作必须有两个强制参数(authRequest 和 rolCUITRepresentada)和七个可选参数(CUITContraparte、codTipoCmp、estadoCmp、fecha、codCtaCte、estadoCtaCte 和 nroPagina)。在我导入 wsdl 后,这些可选参数未配置为可选参数,在其他情况下,我为每个可选参数获取参数名称以指定单词结尾的变量;对于这种情况将是:
CUITContraparte, codTipoCmp, estadoCmp, fecha, codCtaCte, estadoCtaCte, nroPagina
和
CUITContraparteSpecified、codTipoCmpSpecified、estadoCmpSpecified、fechaSpecified、codCtaCteSpecified、estadoCtaCteSpecified、nroPaginaSpecified。
wsdl 的相关部分是:
<xsd:complexType name="ConsultarComprobanteRequestType">
<xsd:sequence>
<xsd:element minOccurs="1" maxOccurs="1" name="authRequest" type="tns:AuthRequestType" />
<xsd:element minOccurs="1" maxOccurs="1" name="rolCUITRepresentada" type="tns:RolSimpleType" />
<xsd:element minOccurs="0" maxOccurs="1" name="CUITContraparte" type="tns:CuitSimpleType" />
<xsd:element minOccurs="0" maxOccurs="1" name="codTipoCmp" type="xsd:short" />
<xsd:element minOccurs="0" maxOccurs="1" name="estadoCmp" type="tns:EstadoCmpSimpleType" />
<xsd:element minOccurs="0" maxOccurs="1" name="fecha" type="tns:FiltroFechaType" />
<xsd:element minOccurs="0" maxOccurs="1" name="codCtaCte" type="xsd:long" />
<xsd:element minOccurs="0" maxOccurs="1" name="estadoCtaCte" type="tns:EstadoCtaCteSimpleType" />
<xsd:element minOccurs="0" maxOccurs="1" name="nroPagina" type="xsd:short" />
</xsd:sequence>
</xsd:complexType>
也许我做错了什么。在其他情况下,我也会这样做,并且可以很好地导入可选参数。
欢迎任何帮助!
谢谢!