Send and Receive ports problem

Home Page Forums BizTalk 2004 – BizTalk 2010 Send and Receive ports problem

Viewing 1 reply thread
  • Author
    Posts
    • #13917

      Is the receive location enabled.
      Is the Biztalk Host instance running

      Is the file being deleted from the receive location.

    • #13918

      If you configure a File receive location, the Biztalk host (specified by the receive handler property on the receive location) will monitor the configured directory for files that match the file mask property. It will read the file, pass it to the pipeline, publish the resulting message in the MessageBox and delete the original file.
      Things that can go wrong:
      1. The Biztalk Host service is not running
      2. The Receive location is not enabled
      3. The file does not match the mask (the file is sample.txt and the mask is *.xml)
      There will be no errors logged as there has been nothing to process.

      4. The Biztalk Host user does not have correct access to the directory or file (needs read/delete access) or the file is read-only.
      This error will produce an event log error and after exhausting its retries will disable the receive location.

      5. A pipeline component will throw an exception
      This error will result in a suspended message in the HAT and errors in the event log.

      6. The message published in the MessageBoxDb will have no matching subscription.
      There will be errors in the event log and a routing failure report will be found in the HAT.

      If the Biztalk Host service is running, the receive location is enabled and the file matches the configured file mask, then you need to check the application event log for any errors.

      • #13919

        This is most probably permissions on the file directory.
        You need to ensure the user account being used by the Biztalk Host service has Full Control of the receive location directory.

        Do you have an entries in the event log?

        • #13920

          If the folder is read-only then the receive location will fail and be disabled.
          You will need to turn off read-only on the folder before this will work.

          • #13921

            Have you checked the event log yet.
            What is the error message when the receive location is disabled?

            • #13922

              Which event log are you checking.
              If the receive location is being disabled then you should get an error in the application event log.

              • #13923

                Is the file being copied into the receive location folder being deleted?

                • #13924

                  The problem is in the receive side.
                  The File adapter will delete the file after it is written to the messagebox, if it cannot delete the file it will rollback the the messagebox update.

                  If this fails 3 times the receive location will be disabled.

                  Is the receive location still being disabled?

                  • #13925

                    Could you be doing a numeric compare on a string field – the old problem that 500 < 9 when comparing strings?

                    • #13926

                      I’m going to repeat my last point in a differnet way? Is the field you are filtering on defined as a number or a string in the schema? I think it will have to be a numeric field type. Otheriwse, I can’t remember if there is a convert to numeric function allowable in the filter.

                      • #13927

                        I’d still like to rule out the filter issue.

                        Try removing your filter, and try this one instead:

                        BTS.MessageType >= A

                        This should make this send port subscribe to all messages published through Biztalk (is this a flat file receive?)

                        Then run your test and see if the send port gets the message. If it doesn’t, then the problem is obviously not the filter.
                        If it does, then the problem is probably with the filter.

                        Neal

                      • #13928

                        My best guess is that it’s a security issue. The id that your Biztalk Host Service is running under doesn’t have full access to the directory – OR – if you are using a UNC name or a SAN there might be other considerations (check the sharing permissions tab and set Shared Permissions to Full Control).

                        Is your receive directory a local name?

                        Neal

                      • #13929

                        Let’s go back to basics. I don’t want to re-read all the prior messages, but these two items are important:

                        1) You should have an error in your Application EventLog
                        (on the machine that is running Biztalk Server).

                        2) Is the receive file on the same machine as Biztalk Server – maybe that’s the whole problem? If you have the same folder on two machines, Biztalk is only monitoring the folder on its machine – and thus there might be no errors. If you want Biztalk to read a file from another machine, then you need to use an UNC name in the Receive Location definition.

                        Neal

                      • #13930

                        [quote:ae6297acfb]We have biztalk server set up on one machine \”biztalkdev\”.
                        I have biztalk 2004 setup on my pc (for development) and in my biztalk admin console when I right click on \”MS BizTalk Server 2004 (local)\” and select properties, the \”biztalkdev\” server is defined as the \”Enterprise single sign on server name\”.
                        The biztalk configuration database is also on a separate server.

                        So with this setup in mind what can you suggest? I guess with the receive locations and ports etc being set in the biztalk configuration db, the addresses to the file locations need to be UNC names to the biztalk server or, if I wanted, to my local machine? [/quote:ae6297acfb]

                        You probably need to start using Remote Desktop to logon to the \”biztalkdev\” machine. You need to look at the Application Event Log on the \”biztalkdev\” machine.

                        Yes, if you are running your orchestration on \”biztalkdev\” machine, and files are not on \”biztalkdev\” machine, you need to specify UNC names (and of course set up the security).

                        But you really need to get to the Event Log to see the errors you are getting!!!

                        Also, I assume you Deployed your Orchestration to the \”biztalkdev\” machine, not to your machine.

                        Congratulations – I think this is the thread with the most posts!

                        Neal

                      • #13931

                        Okay, you are confusing me. You mentioned the \”biztalkdev\” machine, but now you say you are not using it!

                        It’s your choice where you want to develop. There are two schools of thought:
                        1) Develop on your own machine
                        2) Compile on your own machine, then deploy/test on a shared development server.

                        It depends how many Biztalk developers you have, and how complex your environment is, etc…

                        If you are new to Biztalk, you should probably just test something on your own machine first, that would be the simplest of all scenarios to learn with. If you are running on your own machine only – forget about the UNC names for now.

                        Let’s forget about the second machine, and get you working on your machine. Then if and when you are ready for the other machine, we will address those issues and questions.

                        If you drop a file, and it is not picked up by Biztalk – there are only a few possibilities – probably already mentioned in previous messages of this thread:

                        1) Biztalk gets an error and writes the error to the Application Event Log.
                        We have asked you several times to check there, but I think you said you had not messages. This is hard to believe. Biztalk can get errors if the directory specified in the Receive Port doesn’t exist or is misspelled, or Biztalk doesn’t have full security to the directory.

                        2) The other reason that Biztalk doesn’t pick up the file is that the port is not started, or Biztalk is not started.

                        3) Another possibility that would not generate an error would be that the directory where you are dropping is not the same as the directory specified in the Biztalk receive port.

                        I really cannot think of any other reasons.

                        Neal

                      • #13932

                        Hi there

                        I have set up 1 recieve port and 2 send ports. For the send ports the
                        message is sent as an file to a particular folder depending on filters.
                        For the receive port, it also accepts an xml file in a particular
                        folder. My problem is that when my xml file is added to the folder
                        specified in the receive port properties, nothing happens on the send
                        port side of things. All the ports are enlisted and started and the
                        receive port is enabled.

                        Does anyone have any initial thoughts on why the send ports are not
                        putting the files into the destination folder?

                        I have BizTalk Server 2004 and am running this from my local machine.
                        I’m basically copying an xml file to the destination folder of the
                        receive port. As a consequence of this the file should be dealt with by
                        the send ports and distributed accordingly to the correct send port
                        destination folder.

                        I am using the XMLReceive pipeline on my receive location and there is nothing wrong with the filter, it’s a basic expression testing if a particular field in the xml is <= to a particular value

                        I’m quite new to BizTalk, any help is much appreciated.

                        Cheers

                      • #13933

                        Hi there

                        The value definately an integer when it is checked.

                        I have checked the Application event viewer within the biztalk admin console and can’t find any relevant messages.

                        I have checked the HAT which contains no messages at all.

                        Maybe its a setup/configuration problem, but i’d have no idea where to start looking.

                        Any other ideas.

                        Cheers

                      • #13934

                        Hi there

                        In the schema the field is defined as type \”int\”.

                        Any other thoughts? No matter how trivial they may seem to you gurus, I’m only starting out and may have missed some basic things in the config/setup etc.

                        Cheers

                      • #13935

                        Hi

                        My receive port is being disabled when I refresh the database in the BizTalk explorer or I refresh from the BizTalk Administration Console. Although it seems a bit random. If I enable it from the console and then refresh several times from the console it stays enabled, when I refresh the database from the Biztalk Explorer in VS and then refresh from the console the receive port is disabled. This by the way is without putting anything in the receive location.

                        If I enable the port, then add my file to the receive location and then I refresh from the Biztalk explorer the port is disabled.

                        I am sooooo confused and have no idea what’s going on!!!! :”””(

                      • #13936

                        Looking at the settings, the account being used by the biztalk host service does have full control of the receive location directory (as it does over the 2 send port file locations). Although that folder has the read only checkbox ticked and cannot be turned off.

                        There are no entries in the event log.

                        But the file is being put into the receive location fine, it’s when it’s sent to the \”success\” or \”fail\” folders set in the send ports where it fails.

                        Within the biztalk administration console, hosts folder, i have the \”BizTalkServerApplication\” host which is of \”in-process\” host-type and \”running\” running status and the \”BizTalkServerIsolatedHost\” host which is of \”isolated\” host-type and \”status not available\” running status. I’m assuming that this is normal??

                      • #13937

                        So if all my file locations are read only the process will not work? I’m able to put my files into the receive location folder ok. Is it because it cannot write to the send locations? Because even though the send locations are read only (check box is ticked on properties dialog) I can still physically move files in and out of them, change folder names etc.

                      • #13938

                        I get nothing at all in the Event Log

                      • #13939

                        From the biztalk administration console (retreived from my start menu) i’m looking at the Event viewer (local).

                      • #13940

                        I tried altering my filter as suggested but still nothing, still nothing being written to the send port destination folder.

                      • #13941

                        Nope. The file i’m saving into the recieve location (an XML file using infopath) is not being deleted.

                      • #13942

                        When I save my file into the receive location, I then go to BizTalk explorer and refresh the configuration database. On expanding the receive location it has been disabled. I was definately enabled before I save the file.

                        The account being used by the BizTalk Host service has full control on the receive folder and the file.

                        I have set the shared permissions to full control. Still no joy. Receive location still disabling.

                        Could it be a permissions issue with the BizTalk configuration database, which is on a different server to where my file drop locations are (my local machine)?

                      • #13943

                        Hi

                        Thanks for your patience on this.

                        My setup is as follows.

                        We have biztalk server set up on one machine \”biztalkdev\”.
                        I have biztalk 2004 setup on my pc (for development) and in my biztalk admin console when I right click on \”MS BizTalk Server 2004 (local)\” and select properties, the \”biztalkdev\” server is defined as the \”Enterprise single sign on server name\”.
                        The biztalk configuration database is also on a separate server.

                        So with this setup in mind what can you suggest? I guess with the receive locations and ports etc being set in the biztalk configuration db, the addresses to the file locations need to be UNC names to the biztalk server or, if I wanted, to my local machine?

                        Cheers

                      • #13944

                        Hehe, the most posts on a thread … that’s something i’ve acheived then :'(

                        For a start I haven’t got any orchestrations yet, i’m just dealing with messages and ports, copying a file to the receive location and seeing a copy or transformed xml file appear in the send port location. The most basic of basic processes 🙁

                        I have not deployed anything to the \”biztalkdev\” machine (do not currently have remote desktop access), only to the GAC locally and to the BizTalk Config Database.

                        This is the whole problem I am confused as to where the assemblies should be deployed to and where the file drop points should be in relation to me developing the app on my local machine and the location of the BizTalk server and config database.

                        So, in a nutshell (please confirm):
                        1. Deploy the assemblies to the \”biztalkdev\” machine.
                        2. Have UNC names pointing to the \”biztalkdev\” machine for the send and receive ports (as the port setup is in config db on different server)
                        3. Perform file drop offs on \”biztalkdev\” machine
                        4. Watch in amazement as it all works …..

                        How do add the assemblies to the GAC on the \”biztalkdev\” machine? Remote desktop in and use the BizTalk Deployment wizard or use command line (in which case how)?

                        Cheers

                      • #13945

                        I reckon I need to compile on my machine and deploy to \”biztalkdev\”. It seems i’ve been deploying to my machine when BizTalk is running on the \”biztalkdev\”. Within my admin console properties I have \”biztalkdev\” as my \”Enterprise Single sign-on server name\”. I must only have the development install on my machine.

                        Just so you know, I didn’t install it.

                        In order to run biztalk apps on my machine I’m going to have to do a complete install, add the Engine components I believe.

                        If not I just deploy my assemblies to the \”biztalkdev\” machine. Yes?

                        Like i’ve said in previous posts, there has been nothing wrong with the folder names in the port setups. BizTalk has been running, but on the \”biztalkdev\” machine, not locally. And I’ve only been deploying my assemblies locally. I’ve been viewing the Event logs locally which explains why there’s nothing there.

                        Cheers

                      • #13946

                        And there was much rejoicing!

                        I have deployed my assemblies to the \”biztalkdev\” machine. set up my folders with the right permissions and voila, the xml file is put into the recieve port folder, is subsequently removed and a transformed xml file is deposited into the send port folder. Nice.

                        One thing of interest was the permissions. Although I had set full control on the permissions, you need to go into the advanced options of the security tab within properties and set some special permissions, namely \”List Folder / Read Data\” and \”Delete SubFolder and Files\”. I was not aware of this. The following URL has the details if anyone is interested:

                        http://geekswithblogs.net/tshaaban/archive/2004/09/12/11037.aspx

                        Thanks Neal and Greg for all your help and patience on this issue, it was much appreciated.

                        Cheers
                        John

Viewing 1 reply thread
  • The forum ‘BizTalk 2004 – BizTalk 2010’ is closed to new topics and replies.