I'm having an issue creating an FTP Receive Location using WMI. The
location
is created successfully, and the location even polls the FTP site, but
when I
check the location's log that logs all of the FTP commands, the second to
last command is LIST *.*, which returns the files I want to retrieve, and
then a QUIT. There is never a RETR. If I create the exact same Receive
Location using the BizTalk Explorer, it works correctly. I have even
compared the CustomCfg of both to make sure they are exact. Are there
extra
properties that need to be set that I'm missing? Any help would be
appreciated. I am including the code I used to create the Receive
Location.
Thanks,
Dan
Public Function CreateFTPReceiveLocation(ByVal inReceiveLocationName
As
String, ByVal inReceive****tName As String, ByVal inHostName As String,
ByVal
inServer As String, ByVal in****t As Integer, ByVal inFolder As String,
ByVal
inFileMask As String, ByVal inRecLocStatus As ReceiveLocationStatus, ByVal
inUserName As String, ByVal inPassword As String, ByVal inMaxFileSize As
Integer) As Boolean
Try
Dim objReceiveLocationClass As New
ManagementClass("root\MicrosoftBizTalkServer", "MSBTS_ReceiveLocation",
Nothing)
Dim objReceiveLocation As ManagementObject =
objReceiveLocationClass.CreateInstance()
objReceiveLocation("Name") = inReceiveLocationName
objReceiveLocation("Receive****tName") = inReceive****tName
objReceiveLocation("AdapterName") = "FTP"
objReceiveLocation("HostName") = inHostName
objReceiveLocation("InboundTrans****tURL") = "ftp://" &
inServer
& ":" & in****t & "/" & inFolder & "/" & inFileMask
'objReceiveLocation("CustomCfg") =
"<CustomProps><AdapterConfig
vt=""8""><Config xmlns:xsd=""http://www.w3.org/2001/XMLSchema""
xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance""><uri>"
& "ftp://"
&
inServer & ":" & in****t & "/" & inFolder & "/" & inFileMask &
"</uri><serverAddress>" & inServer & "</serverAddress><server****t>" &
in****t
& "</server****t><userName>" & inUserName & "</userName><password>" &
inPassword & "</password><fileMask>" & inFileMask &
"</fileMask><targetFolder>" & inFolder &
"</targetFolder><representationType>binary</representationType><maximumBatchSize>0</maximumBatchSize><maximumNumberOfFiles>0</maximumNumberOfFiles><passiveMode>False</passiveMode><firewallType>NoFirewall</firewallType><firewall****t>21</firewall****t><pollingUnitOfMeasure>Seconds</pollingUnitOfMeasure><pollingInterval>60</pollingInterval><errorThreshold>10</errorThreshold><maxFileSize>0</maxFileSize></Config></AdapterConfig></CustomProps>"
objReceiveLocation("PipelineName") =
ConfigurationSettings.AppSettings("PipelineName")
Dim options As New PutOptions
options.Type = PutType.CreateOnly
objReceiveLocation.Put(options)
ReceiveLocationEnable(inReceiveLocationName, inRecLocStatus)
System.Console.WriteLine("ReceiveLocation - " +
inReceiveLocationName + " - has been created successfully")
Return True
Catch excep As Exception
Throw New Exception("CreateFTPReceiveLocation - " +
inReceiveLocationName + " - failed: " + excep.Message)
System.Console.WriteLine("CreateFTPReceiveLocation - " +
inReceiveLocationName + " - failed: " + excep.Message)
End Try


|