Hi Community

I encountered a problem when working with MOSS using the profile import from
BDC functionality. The situation is as follows

• I have created two import connections AD (primary) and BDC (secondary)
• From AD, I can import various profile properties, including EmployeeId,
which is the identifying property shared by AD and BDC.
• From BDC, I’m calling web service methods GetEmployeeIds (this is the
IDEnumerator instance) and GetEmployeeProfilebyId (this is the Specificfinder
instance) to retrieve additional profile information for employees
• The GetEmployeeProfileById method will in turn talk to a Domino database
to retrieve the profile information using a 3rd party api.
• I can invoke the web methods from browser and they return properly
• However, when I do full (or incremental) import within SSP, it ends with
numerous errors of the same kind. Reading the event viewer on the index
server shows a problem that might be related to web service WSDL.

The pieces of information are attached in the mail. I really hope you can
shed some light into this. TIA!

P.S. here the metadata file

<?xml version="1.0" encoding="utf-8"?>

<LobSystem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://schemas.microsoft.com/office/2006/03/BusinessDataCatalog BDCMetadata.xsd"
Type="WebService"
Version="1.0.0.0"
Name="IMAP.WebServices.StaffDirectoryWS"

xmlns="http://schemas.microsoft.com/office/2006/03/BusinessDataCatalog">
<Properties>
<Property Name="WebServiceProxyNamespace"
Type="System.String">StaffDirectoryWSProxy</Property>
<Property Name="WildcardCharacter" Type="System.String">$</Property>
<Property Name="WsdlFetchUrl"
Type="System.String">http://s-km01d:9009/StaffDirectoryWS.asmx</Property>
</Properties>
<LobSystemInstances>
<LobSystemInstance Name="StaffDirectoryWSInstance">
<Properties>
<Property Name="WebServiceAuthenticationMode"
Type="System.String">RevertToSelf</Property>
</Properties>
</LobSystemInstance>
</LobSystemInstances>
<Entities>
<Entity EstimatedInstanceCount="2000" Name="Employee">
<Properties>
<Property Name="Title" Type="System.String">Name</Property>
</Properties>
<Identifiers>
<Identifier TypeName="System.String" Name="EmployeeId" />
</Identifiers>
<Methods>
<Method Name="GetEmployeeIds">
<Parameters>
<Parameter Direction="Return" Name="EmployeeIds">
<TypeDescriptor TypeName="System.String[]" IsCollection="true"
Name="ArrayOfString">
<TypeDescriptors>
<TypeDescriptor TypeName="System.String"
IdentifierName="EmployeeId" Name="EmployeeId" />
</TypeDescriptors>
</TypeDescriptor>
</Parameter>
</Parameters>
<MethodInstances>
<MethodInstance Type="IdEnumerator"
ReturnParameterName="EmployeeIds" ReturnTypeDescriptorName="ArrayOfString"
ReturnTypeDescriptorLevel="0" Name="GetEmployeeIdsInstance" />
</MethodInstances>
</Method>
<Method Name="GetEmployeeProfileById">
<Parameters>
<Parameter Direction="In" Name="EmployeeId">
<TypeDescriptor TypeName="System.String"
IdentifierName="EmployeeId" Name="EmployeeId" />
</Parameter>
<Parameter Direction="Return" Name="EmployeeProfile">
<TypeDescriptor
TypeName="StaffDirectoryWSProxy.EmployeeProfile,
IMAP.WebServices.StaffDirectoryWS" Name="EmployeeProfile">
<TypeDescriptors>
<TypeDescriptor TypeName="System.String"
IdentifierName="EmployeeId" Name="EmployeeId" />
<TypeDescriptor TypeName="System.String" Name="FullName" />
<TypeDescriptor TypeName="System.String" Name="Title" />
<TypeDescriptor TypeName="System.String" Name="WorkPhone" />
<TypeDescriptor TypeName="System.String" Name="Department"
/>
<TypeDescriptor TypeName="System.String" Name="Division" />
<TypeDescriptor TypeName="System.Boolean"
Name="IsOnRotation" />
<TypeDescriptor TypeName="System.Boolean"
Name="IsOverseas" />
<TypeDescriptor TypeName="System.String"
Name="OfficeLocation" />
<TypeDescriptor TypeName="System.String" Name="OfficeFax" />
</TypeDescriptors>
</TypeDescriptor>
</Parameter>
</Parameters>
<MethodInstances>
<MethodInstance Type="SpecificFinder"
ReturnParameterName="EmployeeProfile"
ReturnTypeDescriptorName="EmployeeProfile" ReturnTypeDescriptorLevel="0"
Name="FindEmployeeProfileInstance" />
</MethodInstances>
</Method>
<Method Name="GetEmployeeProfiles">
<FilterDescriptors>
<FilterDescriptor Type="Wildcard" Name="FullName" />
</FilterDescriptors>
<Parameters>
<Parameter Direction="In" Name="FullName">
<TypeDescriptor TypeName="System.String"
AssociatedFilter="FullName" Name="FullName" />
</Parameter>
<Parameter Direction="Return" Name="EmployeeProfiles">
<TypeDescriptor
TypeName="StaffDirectoryWSProxy.EmployeeProfile[],
IMAP.WebServices.StaffDirectoryWS" IsCollection="true"
Name="EmployeeProfiles">
<TypeDescriptors>
<TypeDescriptor
TypeName="StaffDirectoryWSProxy.EmployeeProfile,
IMAP.WebServices.StaffDirectoryWS" Name="EmployeeProfile">
<TypeDescriptors>
<TypeDescriptor TypeName="System.String"
IdentifierName="EmployeeId" Name="EmployeeId" />
<TypeDescriptor TypeName="System.String"
Name="FullName" />
<TypeDescriptor TypeName="System.String" Name="Title" />
<TypeDescriptor TypeName="System.String"
Name="WorkPhone" />
<TypeDescriptor TypeName="System.String"
Name="Department" />
<TypeDescriptor TypeName="System.String"
Name="Division" />
<TypeDescriptor TypeName="System.Boolean"
Name="IsOnRotation" />
<TypeDescriptor TypeName="System.Boolean"
Name="IsOverseas" />
<TypeDescriptor TypeName="System.String"
Name="OfficeLocation" />
<TypeDescriptor TypeName="System.String"
Name="OfficeFax" />
</TypeDescriptors>
</TypeDescriptor>
</TypeDescriptors>
</TypeDescriptor>
</Parameter>
</Parameters>
<MethodInstances>
<MethodInstance Type="Finder"
ReturnParameterName="EmployeeProfiles"
ReturnTypeDescriptorName="EmployeeProfiles" ReturnTypeDescriptorLevel="0"
Name="FindEmployeeProfileInstances" />
</MethodInstances>
</Method>
</Methods>
</Entity>

</Entities>
</LobSystem>