2012-03-14 16 views
2

私はWCF経由でSAP PI Webサービスを呼び出しています。WCFが一部のデータ型を送信しない

サービス参照をインポートし、データオブジェクトをインスタンス化し、タイプが正しく表示されているすべてのデータを設定します。

しかし、テストクライアントでSOAPエンベロープを生成しようとすると、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

SAPスキーマとBiztalkに大きな問題があることを覚えています。すべてのフィールドはオプションとしてマークされます(minOccurs = "0")。インポートされたWSDLのカーディナリティをIT4002_OBJIDとIT0002_GBDAT要素に対して変更して、それが違いを生むかどうかを確認してください。 –

+0

このリクエストを作成するために使用する**生成クラス**をC#(またはVB.NET)で表示できますか? –

+0

@RobertSlaneyそれは答えです!ありがとう! –

答えて

0

インポートされたWSDLのカーディナリティ(minOccurs = "0")を変更すると、@robertslaneyが示唆するように、この問題が解決されました。

関連する問題