none
Static Web Reference problem while porting Biztalk Application from Dev to Production Server RRS feed

  • Question

  •  

    Hi All...

     

    I want to port application from development server to production server..but i have some problem if i have a new C# project added to biztalk project ..to call webservice ...then my query is how should i change that web reference when i am importing MSI file in production server..because that web reference is static ...

    how should i do it..

     

    Thanks

    Sandeep

    Thursday, September 18, 2008 12:44 PM

Answers

  • If the WSDL is the same across test and production, and only the address is different, then there is a very good way to move the web reference.  You just need 2 binding files, 1 for test, and 1 for prod.  For the test binding file, you can just export it straight from your test app.  For the prod binding file, you can export it from prod if the SOAP send port (a.k.a. web reference) is already set up on prod.  If you have never deployed the app to prod and the send port doesn't exist, you can temporarily change the web address on the SOAP send port in test and export the bindings.  Now, when you deploy the app to prod, you can just import the prod binding file and it will create and configure the SOAP send port for you.

    For a really clean deployment process, you can import the 2 binding files as resources to your BizTalk app before you export the MSI.  When you add them as resources you select the resource type as binding file and you specify a target environment (prod or test).  Now, when you import the MSI to prod, it will ask you what the target environment is.  Just pick prod and it will automatically import the correct binding file.  Cool, huh?
    Saturday, September 20, 2008 1:16 PM

All replies

  • Should the web reference be different in production than it is in test? Is it that the web service address is different or that there are other differences? Or is the web reference the same in production and test?

     

    If you add a web reference to the test web service and one for the production web service and the WSDL between these is different, this can cause some complications for you. You should check to see if the target namespace for the WSDL schema types is the same across WSDL files. If not, you may need to use a map on your production server to get the namespace corrected to the production one on interactions with the production web service. If the SOAP action (the web service address) in the WSDL is different then you will likely need to recreate the port in an orchestration or add extra logic if the web service call is in a .NET method. One option would be to use a decide shape to branch logic based on whether you are in test or production.

     

    Thanks,

    Thursday, September 18, 2008 4:03 PM
    Moderator
  • If the WSDL is the same across test and production, and only the address is different, then there is a very good way to move the web reference.  You just need 2 binding files, 1 for test, and 1 for prod.  For the test binding file, you can just export it straight from your test app.  For the prod binding file, you can export it from prod if the SOAP send port (a.k.a. web reference) is already set up on prod.  If you have never deployed the app to prod and the send port doesn't exist, you can temporarily change the web address on the SOAP send port in test and export the bindings.  Now, when you deploy the app to prod, you can just import the prod binding file and it will create and configure the SOAP send port for you.

    For a really clean deployment process, you can import the 2 binding files as resources to your BizTalk app before you export the MSI.  When you add them as resources you select the resource type as binding file and you specify a target environment (prod or test).  Now, when you import the MSI to prod, it will ask you what the target environment is.  Just pick prod and it will automatically import the correct binding file.  Cool, huh?
    Saturday, September 20, 2008 1:16 PM