Question

I have a problem with reading return values from the BDC response. I have a Web-service that returns a requisites of a bank account and some of the data comes as attributes in the SOAP response. For example, BIC value in the example below

 <getPaymentRequisitesResponse xmlns="http://tempuri.org/">
     <getPaymentRequisitesResult>
        <PaymentRequisites_t BIC="044583378">
           <VendorID>XXXX</VendorID>
           <IBAN/>
           <SWIFT/>
           <BankAddressLine1>Index, City, Streat</BankAddressLine1>
           <AccCurr>RUR</AccCurr>
           ....
           ....

The BDC schema works fine and does not throw any exceptions during request and response processes. The main part of parameters in the schema:

        <Parameter Direction="In" Name="accountNumber">
          <TypeDescriptor TypeName="System.String" AssociatedFilter="Account" Name="accountNumber" DefaultDisplayName="Account" />
        </Parameter>
        <Parameter Direction="Return" Name="Return">
          <TypeDescriptor TypeName="BDC.PaymentRequisites_t,ProvisionerAccounts" Name="Return">
            <TypeDescriptors>
              <TypeDescriptor TypeName="System.String" Name="VendorID" />
              <TypeDescriptor TypeName="System.String" Name="VendorSrcID" />
              <TypeDescriptor TypeName="System.String" Name="VendorName" DefaultDisplayName="Vendor">
                <Properties>
                  <Property Name="ShowInPicker" Type="System.Boolean">true</Property>
                </Properties>
              </TypeDescriptor>
              <TypeDescriptor TypeName="System.String" Name="BIC">
                <Properties>
                  <Property Name="ShowInPicker" Type="System.Boolean">true</Property>
                </Properties>
              </TypeDescriptor>
              <TypeDescriptor TypeName="System.String" Name="IBAN">
                <Properties>
                  <Property Name="ShowInPicker" Type="System.Boolean">true</Property>
                </Properties>
              </TypeDescriptor>
              <TypeDescriptor TypeName="System.String" Name="AccCurr">
                <Properties>
                  <Property Name="ShowInPicker" Type="System.Boolean">true</Property>
                </Properties>
              </TypeDescriptor>
              .....

When I tried to find any of the requisites, the BIC value in dialog is always empty. BIC field is always empty, but it is filled in the response

If I made BIC value as an element in the WSDL-schema then it worked fine.

    <getPaymentRequisitesResult>
        <PaymentRequisites_t>
           <VendorID>XXXXXX</VendorID>
           <BIC>044583378</BIC>
           <IBAN/>
           <SWIFT/>
           <BankAddressLine1>Index, City, Streat</BankAddressLine1>
           ....

BIC value is not empty

The main goal is to make it work with attributes but I did not find any solution and additional properties for TypeDescriptor in MSDN resources.

Was it helpful?

Solution

Unfortunately, it was my mistake. The Business Data Catalog works fine with both types, with an element and with an attribute. However, when the wsdl was changed from the one type to another I had to republish BDC schema into the SharedSerfices.

Licensed under: CC-BY-SA with attribution
Not affiliated with sharepoint.stackexchange
scroll top