locked
Expose Schemas as WCF Service RRS feed

  • Question

  • Hi iam exposing the schemas as wcf service.While selecting the schemas dll,i used to select the physical path of dl(iam not able to select the gac dll,may be iam not going in correct way to select from gac)l.If the structure of schema has changed ,again do i need to expose it back from begining.

    and also if i want move from devlopment to sit,again in sit also do i need to publish ? anyotherway to take the services from devolopment to gac without exposing manually

     

     

    Saturday, October 29, 2011 7:14 AM

Answers

  • Like Bali wrote, if you change your schema you will need to run the Service Wizard again. Also remember that if the DLL is GAC'ed, the new schema also needs to be GAC'ed, but I assume that this is already the case, since you have deployed the new schema (from VS?).

    Also if you make an MSI package and change your schema, you need to both run the Wizard and re-generate the MSI afterwards.

     

    Morten la Cour

    Sunday, October 30, 2011 5:39 AM

All replies

  • You need to deploy the Schema to a BizTalk application before using WCF Service Publishing wizard. Refer the MSDN Walkthrough.
    Don't forget to mark the post as answer or vote as helpful if it does, Regards - Sathish Krishnan
    Saturday, October 29, 2011 7:39 AM
  • -You will usually point to a DLL that resides in a "normal" file folder and not the GAC (even though it is possible to choose DLL's from the GAC folders (c:\windows\assembly....) or (c:\windows\Microsoft.NET\assembly..)).
    - If the DLL that holds the schema you want to expose as WCF Service is present in the GAC and you point to another DLL in a folder that holds the same name, version and public key token, the wizard will actually load the GAC'ed version and not the version you pointed at. This has to do with the way the .NET loads assemblies.
    - If you want to deploy the web application generated by the wizard to different environments, exporting an MSI file of the BizTalk application will automatically generate a System.BizTalk:WebDirectory resource, which means that if you install the MSI on a different environment the web application/virtual directory will automatically be created on the local IIS. Also when you install the MSI all required DLL's will be GAC'ed.
     
    Morten la Cour
    Saturday, October 29, 2011 8:38 AM
  • Hi,

    Check this blog post, it has some screen shots too and would help. If your schema changes you will have to republish the new schema to keep the web service in line with the schema changes. As for the moving from one environment to another you can create a MSI file from the dev and then install this MSI file in the other environment. You will not require to publish using the wizard to subsequent environments.


    Regards,
    Bali
    MCTS: BizTalk Server 2010,BizTalk Server 2006 and WCF
    My Blog:dpsbali-biztalkweblog
    -----------------------------------------------------
    Mark As Answer or Vote As Helpful if this helps.
    Saturday, October 29, 2011 9:20 AM
  • i have exposed schema as service,later i changed the  request schema structure and deployed,and reset iis.my changes have not been appeared in the

    request of the service 

    Saturday, October 29, 2011 7:25 PM
  • Like Bali wrote, if you change your schema you will need to run the Service Wizard again. Also remember that if the DLL is GAC'ed, the new schema also needs to be GAC'ed, but I assume that this is already the case, since you have deployed the new schema (from VS?).

    Also if you make an MSI package and change your schema, you need to both run the Wizard and re-generate the MSI afterwards.

     

    Morten la Cour

    Sunday, October 30, 2011 5:39 AM
  • You may as well check the TEMP location since the assemblies usually get cached there and that poses problems sometimes when we do any modification in the assembly as the BizTalk continues the older cached version.

     

    Just check for the presence of any folder at " C:\Windows\assembly\temp " (from RUN command) and browse inside the folder to view the cached assembly.

     

    You may delete the cached version only after stopping the BizTalk Service and then re-deploy the new assembly and re-start the services.


    In case my post helped you , please do indicate that :-) Amit Shukla http://blogs.msdn.com/b/bizintegration1/
    Sunday, October 30, 2011 12:21 PM