WCF не отправляет некоторые типы данных - PullRequest
2 голосов
/ 15 марта 2012

Я звоню в веб-службу SAP PI через WCF.

Импортирую ссылку на сервис, создаю экземпляр объекта данных и задаю все данные, типы которых отображаются правильно.

Но когда я пытаюсь сгенерировать конверт SOAP в Test Client, ни одно из полей данных INT и DATE не создается, поэтому я не отправляю ни один из этих типов данных.

Вот пример WSDL, который я потребляю:

<wsdl:definitions name="itfGRHU_Dados_Candidatos_Out_Sync" targetNamespace="http://www.xxx.com/Vagas_to_SAP/Envio_Dados_Candidatos" xmlns:p1="http://www.xxx.com/Vagas_to_SAP/Envio_Dados_Candidatos" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
    <wsdl:documentation/>
    <wsdl:types>
        <xsd:complexType name="dtpGRHU_Dados_Candidatos_Campos">
            <xsd:annotation>
                <xsd:appinfo source="http://sap.com/xi/VersionID">5e84228c1f7111e1b60a0000125697d2</xsd:appinfo>
            </xsd:annotation>
            <xsd:sequence>
                <xsd:element name="IT4002_OBJID" minOccurs="0">
                    <xsd:annotation>
                        <xsd:appinfo source="http://sap.com/xi/TextID">643fdb0b1f5011e1c09c70f1a13bc69d</xsd:appinfo>
                        <xsd:documentation>Vaga</xsd:documentation>
                    </xsd:annotation>
                    <xsd:simpleType>
                        <xsd:restriction base="xsd:int">
                            <xsd:totalDigits value="8"/>
                        </xsd:restriction>
                    </xsd:simpleType>
                </xsd:element>
                <xsd:element name="IT0002_GBDAT" type="xsd:date" minOccurs="0">
                    <xsd:annotation>
                        <xsd:appinfo source="http://sap.com/xi/TextID">64402abe1f5011e1acf970f1a13bc69d</xsd:appinfo>
                        <xsd:documentation>Data de Nascimento</xsd:documentation>
                    </xsd:annotation>
                </xsd:element>
            </xsd:sequence>
        </xsd:complexType>
    </wsdl:types>
</wsdl:definitions>

Спасибо.

1 Ответ

0 голосов
/ 22 марта 2012

Изменение количества элементов (minOccurs = "0") в импортированном WSDL, как предложено @robertslaney, решило эту проблему.

...