BizTalk Server Orchestration - Consuming an orchestration exposed as a web service + BAS?

This is Interesting: Free IT Magazines  
Home > Archive > BizTalk Server Orchestration > May 2004 > Consuming an orchestration exposed as a web service + BAS?





You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

Author Consuming an orchestration exposed as a web service + BAS?
driven crazy by biztalk

2004-05-19, 5:50 pm

Hey all,

Question 1) First of all, I'm still confused about what BAS is actually supposed to be...I get the theory, but is it a Windows component when BizTalk refers to a 'BAS installation'?

Question 2) If BizTalk Server 2004 was installed on Windows server 2003, does BAS get installed by default? If not, how can I check if it was installed or not?

Question 3) Is it possible to add BAS after BizTalk server has be installed and configured? How do I do this?

Question 4) Do I really really need BizTalk BAS Web Services group to publish an orchestration as a web service in order for it to be consumed painlessly by clients? Does BAS installation automatically create that group? Is it possible to have that group
without having BAS installed?

Question 5) Can someone please shed some light on the following error for me? I get it when I try to consume the orchestration published as web service (note: There is no 'BizTalk BAS Web Services' group existing yet). Also note, the unfound file name cha
nges everytime the client tries to consume that service.

========================================
=================================

An unhandled exception of type 'System.Web.Services.Protocols.SoapException' occurred in system.web.services.dll

Additional information: System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.IO.FileNotFoundException: File or assembly name zefqqmko.dll, or one of its dependencies, was not found.
File name: "zefqqmko.dll"
at System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase, Boolean isStringized, Evidence assemblySecurity, Boolean throwOnFileNotFound, Assembly locationHint, StackCrawlMark& stackMark)
at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Boolean stringized, Evidence assemblySecurity, StackCrawlMark& stackMark)
at System.Reflection.Assembly.Load(AssemblyName assemblyRef, Evidence assemblySecurity)
at System.CodeDom.Compiler.CompilerResults.get_CompiledAssembly()
at System.CodeDom.Compiler.CompilerResults.get_CompiledAssembly()
at System.Xml.Serialization.Compiler.Compile()
at System.Xml.Serialization.TempAssembly..ctor(XmlMapping[] xmlMappings)
at System.Xml.Serialization.XmlSerializer.FromMappings(XmlMapping[] mappings)
at System.Web.Services.Protocols.SoapServerType..ctor(Type type, ProtocolsEnum versionsSupported)
at System.Web.Services.Protocols.SoapServerProtocol.Initialize()
at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing)

=== Pre-bind state information ===
LOG: Where-ref bind. Location = D:\WINDOWS\TEMP\zefqqmko.dll
LOG: Appbase = file:///d:/inetpub/wwwroot/BizOrchestrationWS
LOG: Initial PrivatePath = bin
Calling assembly : (Unknown).
===

LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
LOG: Attempting download of new URL file:///D:/WINDOWS/TEMP/zefqqmko.dll.

--- End of inner exception stack trace ---
Gilles [MSFT]

2004-05-19, 5:50 pm

Hello




>Question 1) First of all, I'm still confused about what BAS is actually supposed to be...I get the theory, but is it a Windows component when BizTalk
>refers to a 'BAS installation'?



BAS (Business Activity Services) has two parts: a Windows Sharepoint Service site definition (also called the "BAS Site") which serves
as an entry point for Trading partner Management and a set of Web Services designed to easy trading partner management when developping
new applications. BAS is not a Windows component. It is a feature of BizTalk 2004. A "BAS Installation" refers to a installation of BizTalk with the
"Business Activity Services" feature selected.

>Question 2) If BizTalk Server 2004 was installed on Windows server 2003, does BAS get installed by default? If not, how can I check if it was
>installed or not?



I will assume you have the Enterprise version of BizTalk 2004. Setting up BAS requires the machine to have a valid Windows Sharepoint Services
installation. If this condition is not met, BizTalk's setup won't allow you to setup BAS on this machine. If you have Windows Sharepoint Services,
then a "complete" installation will install BAS. A "Custom" installation will allow you to select the conponents and by default, everything is selected.

To check out if you have BAS, you can go to "Add/Remove Programs" in the control panel, select "Change" on the BizTalk 1004 installation
and select the "Modify" option. You can see the list of features currently installed. If you installed (and successfully configured) your server
you should be able to navigate to http://<server>/sites/BASSite and see your BAS Site in Sharepoint. This is the default location and implies that
you did not change it at configuration time.

>Question 3) Is it possible to add BAS after BizTalk server has be installed and configured? How do I do this?



Yes. There are two ways but they all start by adding the required bits. In "Add/Remove programs", select BizTalk 1004 and "Modify". Add "BAS".
When this is done, you can either unconfigure your whole BizTalk installation and loose all your settings (confgiwizard /u) and re-configure with
BAS or run config wizard and tell it to connect to an existing BizTalk config Db.

>Question 4) Do I really really need BizTalk BAS Web Services group to publish an orchestration as a web service in order for it to be consumed
>painlessly by clients? Does BAS installation automatically create that group? Is it possible to have that group without having BAS installed?



The BizTalk BAS Web Services Group is usefull for BAS and BAS only. If you do not have BAS, this group will not exist. It has nothing to do with
publishing an orchestration as a web service. This group is used to described the set of users/groups allowed to conncet to two BAS web
internal web services. This group (and a few others) are created by the confgiration wizard which is often run after the actual setup.
Note that if you installed BAS, configured it and uncofigured/removed it, the group will still exist. So it is technically possible to have the group
when BAS is not installed, but this is not the common scenarion, after a fresh install.

>Question 5) Can someone please shed some light on the following error for me? I get it when I try to consume the orchestration published as web
>service (note: There is no 'BizTalk BAS Web Services' group existing yet). Also note, the unfound file name changes everytime the client tries to
>consume that service.



Publishing an orchestration as a web service requires BizTalk to create various web services artifcats (a WSDL document being one of them).
BizTalk maps operations of the orchestration you are publishing to Web Service methods. Shortly said, handling the SOAP protocol for your
newly created web service is done by generating a class at runtime in source code form, compiling it on the fly and loading/running it.
A temporary name is given to the DLL that is the result of this compilation process.

This is done the first time you access the web service. However in your case, this step fails so everytime you access it, you see a different
temporary file name being created. You can see that there is a code compilation going on:

[..]
at System.CodeDom.Compiler.CompilerResults.get_CompiledAssembly()

at System.CodeDom.Compiler.CompilerResults.get_CompiledAssembly()

at System.Xml.Serialization.Compiler.Compile()
[..]

And you can see that this compilation was somehow not successfull since the DLL it is supposed to produce
is not available:

System.IO.FileNotFoundException: File or assembly name zefqqmko.dll, or one of its dependencies, was not found.

File name: "zefqqmko.dll"

So now, there are multiple reasons why this might fail. I'll just take a stab at one of them and it may or may not be the reason.
Your web service is running under some user. Does that user have the rights to read/write to D:\WINDOWS\TEMP\?
If not, the compilation will fail to save the DLL (access denied) and you will fail loading the class.

Hope that helps.

Thanks.
-Gilles.

driven crazy by biztalk

2004-05-19, 11:43 pm

Thanks a ton Gilles for your responses. I'll take a look at the permissions for the temp directory and see if that was the problem.
Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com