Integrating Integrators – BizTalk, AppFabric, Workflow, Azure, and Beyond

Error in POP3 receive location

BizTalk 2006

This group is for all content related to BizTalk Server 2006. This includes a forum, samples, videos, labs, and tools. Most of the content here also applies to other versions of BizTalk beyond 2006.

Error in POP3 receive location

  • rated by 0 users
  • This post has 3 Replies |
  • 2 Followers
  • I have POP3 receive location that monitors some email mailbox.

    Sometimes im getting this error:

     

    Description:

    The adapter "POP3" raised an error message. Details "The POP3 adapter received a response line from a server that contains more than 512 characters.

     

     

    Is anybody familiar with kind of error description?

    10x!

  • Well...

    If you look at the POP3 specification (RFC 1939): 

    Responses in the POP3 consist of a status indicator and a keyword
    possibly followed by additional information.  All responses are
    terminated by a CRLF pair.  Responses may be up to 512 characters
    long, including the terminating CRLF.  There are currently two status
    indicators: positive ("+OK") and negative ("-ERR").  Servers MUST
    send the "+OK" and "-ERR" in upper case.


    POP3 communications are done by the client/server sending requests and responses to each other using plain text
    (try using Telnet one day to connect to Port 110 on a POP3 server to see this).

    Most people wouldn't ever see the textual request/response information, as your POP3 client (normally an email browser) handles all that for you.

    So it sounds like your POP3 server doesn't adhere to RFC 1939.. and is returning a line longer than 512 bytes.

    This will either be because of an error with the POP3 server, or because it adheres to a different version of POP3 than BizTalk does
    (it's also possible that your POP3 server is using Unicode, where each character can take up more than 2 bytes, but I don't think this is likely).
     

    In fact, you can see this in the BizTalk POP3 Adapter code (if you use Lutz Roeder's .NET Reflector tool to disassemble the code):

    if (num >= 0x200)
    {
        throw new POP3ProtocolViolationException((POP3ProtocolErrorCode) (-2134894205), url);
    }

    (0x200 is the Hex code for 512, and -2134894205 is the enum value for POP3ProtocolErrorCode.ResponseLineTooLong!)

    I know this doesn't help all that much, but it at least explains why you're getting the error.

    Cheers, 

    Daniel Probert BizTalk Architect http://www.bizbert.com
  • I received the same error code and analyzed the output of the mailserver with a vb6 application, but I didn't find a line not compliant with the RFC. Is there a way to get Biztalk to the point telling me the content of the line?
    Edit
  • What I usually do in cases like this is to put a protocol analyzer like Netmon, ethereal or wireshark and check exactly what the conversation between the servers is; as the exact point that's causing the problem might be very specific to the commands and messages exchanged. Using something like TcpTrace and manually putting it between biztalk and your pop3 server will work, as well.

    http://winterdom.com/

Page 1 of 1 (4 items)