Take the 2-minute tour ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

I am trying to upload a file to an FTP site from a custom SharePoint workflow. When I enable all incoming TCP traffic on all ports from any program, the file uploads just fine (or if I disable Windows Firewall) but that is a little too broad and I would like to know the specific service or assembly that handles incoming TCP traffic to SharePoint.

Anyone have any ideas?

share|improve this question
    
You mean outgoing traffic from SharePoint, if you're FTP'ing out elsewhere? –  James Love Jul 22 '11 at 22:50
    
That's what I originally thought, but I believe Windows Firewall is stopping incoming traffic. I believe its incoming traffic because when I created the custom rule to allow all incoming TCP traffic from any program on any port from any IP address, it worked. –  Meyer Denney Jul 22 '11 at 22:57

2 Answers 2

up vote 4 down vote accepted

I think there is a misconception here that there is something called SharePoint "running" and responding to requests. What you have running is IIS which is handling incoming requests. SharePoint handlers are installed in the ASP.NET pipeline to process the requests but it is the w3wp IIS worker process that is listening for them.

While that is the answer to your question, I am afraid I don't think it helps you solve the problem you described.

share|improve this answer

FTP by default utilizes active-mode, which can cause issues because of the way FTP works. The problem is generally with the client. When the first request is sent to the server, the client sends information containing the port that it wishes to use to receive the file from the server. This is done on port 21. The server responds back to the client over the port the client specified (not 21). The client firewall will see this as unsolicited and drop the connection.

Because of this, I'm assuming the FTP service you are connecting to resides on the same server.

Regardless, you have a few things you can do.

  1. enable firewall logging, you should be able to see the attempted connections being blocked and you could modify your rules accordingly.

If you cant get enough information from the logs:

  1. Use a tool to watch the traffic (Fiddler, NetMon, WireShark). Since you can recreate the situation, you can see what a good connection will look like, and what the bad ones look like. From here you can see where the issue is occurring ( request or response side). These captures will also assist in configuring your firewall.
share|improve this answer
    
Thank you for your response. I disabled passive mode in code. I've been using WireShark to get some more info and it appears that it is a client side issue. –  Meyer Denney Jul 25 '11 at 16:10

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.