Discussion:
WMI to create FTP Receive Location
(too old to reply)
Dan Cagney
2005-11-09 19:21:51 UTC
Permalink
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 inReceivePortName As String, ByVal inHostName As String, ByVal
inServer As String, ByVal inPort 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("ReceivePortName") = inReceivePortName
objReceiveLocation("AdapterName") = "FTP"
objReceiveLocation("HostName") = inHostName
objReceiveLocation("InboundTransportURL") = "ftp://" & inServer
& ":" & inPort & "/" & 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 & ":" & inPort & "/" & inFolder & "/" & inFileMask &
"</uri><serverAddress>" & inServer & "</serverAddress><serverPort>" & inPort
& "</serverPort><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><firewallPort>21</firewallPort><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
KOrnel
2005-11-12 10:52:12 UTC
Permalink
You should export all the settings of the manually created FTP Receive
Location. Check all the values and create the receive location based on the
exported values.

KOrnel
Dan Cagney
2005-11-14 16:06:05 UTC
Permalink
I have done this, and I still get the same result. The receive location is
created successfully, but it just doesn't pick up files. Any other
suggestions? I really don't want to have to open another MS support ticket
about weird BizTalk issues.

Thanks,
Dan
Post by KOrnel
You should export all the settings of the manually created FTP Receive
Location. Check all the values and create the receive location based on the
exported values.
KOrnel
Loading...