Why there is no selectable Receive Handler while creating a Receive Location? - biztalk

As I'm learning to use BizTalk Server 2013, I'm following this sample:
http://msdn.microsoft.com/en-us/library/dd334500%28v=bts.80%29.aspx
At step 4, it says how to create a Receive Location. While I'm creating one, the combo box for Receive handler is empty (which is said to select the BizTalkServerApplication).
Question: Why is that empty? Is that any configuration that I've missed?
FYI: I'm using BizTalk Server 2013 (Evaluation)

Most likely, because there is no Receive Handler configured for the File Adapter.
Check the Platform Settings/Adapters/FILE. You should see a Send and Receive entry. If not, right-click/New and create the ones you need.
This can happen if the BizTalk Hosts are created outside the initial Configuration. It is also possible that you did not complete all the options in BizTalk Configuration. You can check there also to make sure BizTalk Runtime is configured.

Related

Simplest possible BAM Scenario

I’m trying to set up a very simple BAM scenario within BizTalk Server 2013R2 upon which to build, involving tracking just the time of all incoming messages processed by a port.
To this end I have :
Within Excel, created an Activity Definition (called
SimpleReceiveTest) containing a single Item called ReceiveTime of
type milestone (date/time), and a View Definition (also called
SimpleReceiveTest) containing just this Activity Definition and Item.
Imported this BAM definition spreadsheet using bm.exe
Added view rights to SimpleReceiveTest again using bm.exe
Launched the Tracking Profile Editor, imported the BAM Activity
Definition, and mapped ActivityID = MessageID and ReceiveTime =
PortStartTime by drag and drop from the Messaging Property Schema, as
shown below :
Set the Port Mappings for MessageID and PortStartTime to relate to a
test Receive Port ReceivePort1 that I am using for testing. This is
using a pass-through pipeline.
Saved and applied the above Tracking Profile
It is my understanding that for any messages received on port ReceivePort1 I should now get a tracking activity created. However this is not happening – there are no records in any of the BAM tables/views and no data is available within the BAM Portal.
I have tried restarting the hosts, and have verified that the TDDS_FailedTrackingData table is empty, there is nothing relevant in the event log, a Tracking host is running and the SQL Agent Jobs are running. I have also tried running these jobs manually.
Have I missed something, and am I correct in my expectation that this simple scenario should create tracked activities for any messages passing through the Receive Port? If so what can I try to further diagnose this?
Now fixed - it's actually a bug in vanilla BizTalk 2013R2 when using a standard pipeline that has been fixed in CU2.
FIX: BAM tracking doesn’t work when you use the XMLReceive or a custom pipeline in BizTalk Server

Importing Biztalk bindings error

I am trying to deploy Biztalk project to my local Biztalk Server using Biztalk Deployment Framework and i am getting the following error:
Information: Importing bindings
"C:\Users...\PortBindings.xml"
into application "Mdm" in BizTalk configuration database
(server=".", database="BizTalkMgmtDb")... EXEC : error :
Failed to update binding information.
[C:\Users...\Deployment.btdfproj]
Cannot update receive port "ApprovedRequests". Cannot update receive
location "ApprovedRequestsDb". The following items could not be
matched up to hosts due to name and/or trust level mismatches:
Item: 'ApprovedRequestsDb' Host: 'ReceiveHost' Trust level:
'Untrusted' You must do one of the following:
1) Create hosts with
these names and trust levels and try again
2) Re-export the MSI without the binding files and have a post import script apply a
suitable binding file.
I've already had host named 'ReceiveHost', so i decided that theres something wrong with Trust level. I tried to deploy with trust level 'Trusted' and recieved the same error.
Can't figure out what is causing the problem.
Thanks.
According to the error, in your binding file, the ApprovedRequestsDb receive location is configured to use a host (receive handler) called ReceiveHost, which is untrusted, which BizTalk cannot find.
Double-check the spelling of the host on the local BizTalk server into which you are importing the binding file. Also make sure that it is untrusted.
Finally, the host must be configured as a handler for the adapter used by your receive location. So if your receive location should use the WCF-SQL adapter, then go to the adapter configuration in the BizTalk Administration Console and ensure that the ReceiveHost is configured as a receive handler for that adapter.
Check you have a host for this install, in your case called "ReceiveHost". You can create hosts and host instances in BizTalk Server Admin Console.
Check for each adapter (especially the adapter used for "ApprovedRequestsDb") that your bindings use, that "ReceiveHost" host is set up in direction Send/Receive, this will at first likely be only BizTalkServerApplication which is the default. Under Platform Settings -> Adapters look through these and make new ones where needed to use the "SQL" host.
This error will only ocur if your HostName does not exist or incorrectly spelt. Also check the Trust level is set to Untrusted. Once you have verified the following you can re-create your binding file as ther might be some typo that is causing it not to import properly.

Biztalk WCF-webhttp (WCF web publishing wizard)

[I am new in biztalk trying to publish and consume servcie using webhttp (using Biztalk 2013, VS 2012)
getting following message and don't know want to do next to solve this issue.
*you have created a service.
To test this service, you will need to create a client and use it to call the service. you can do this using the svcutil.exe tool from the command line with the following syntax:
svcutil.exe "http://[host]/expwebhttpsampledesktop/service1.svc?singlews"*dl
"svcutil.exe" command it generates .cs, .wsdl, and metadata.xml files for me.
not sure what i am doing wrong here but trying to consume the service i made. and at the end of it i am getting following error
"Error consuming WCF service metadata. Message part missing element. Correct service description ""http://tempuri.org/" message type "service1_operation1_inputmessage"" part "Part" and return the wizard."]
thank you in advance
You need to create a client that will now consume the service. A client can be anything from a simple Console app, a BizTalk Send Port, another Web-Service or a Winforms/WPF app. The client will invoke your service (possibly passing parameters), you service will do its stuff and return a response back to the client.
There are a number of ways to create a client, however you might want to start with this tutorial from MSDN: http://msdn.microsoft.com/en-us/library/ms733133.aspx.
Alternatively, you might want to search for 'Add Service Reference Visual Studio 2012'. Adding a service reference creates the necessary libraries for your client to consume the service.
UPDATE: I found some relevant screenshots, so I thought I would add them....
To add a Service Reference, right-click on your Project and select 'Add Service Reference':
within the 'Add Service Reference' dialog, enter the address of the service (in your case http://[host]/expwebhttpsampledesktop/service1.svc) and click 'Go' for the wizard to auto-discover the service methods. Finally, update the service Namespace:
You will now be able to reference your service just like any other type within C# in order to invoke it.
HTH, Nick.

Pool Multiple Messages with BizTalk 2006 SQL Adapter

I have a StoredProcedure that returns a simple table containing several records:
DECLARE #STEPS_TABLE AS TABLE (OrchestrationID uniqueidentifier, [Message] nvarchar(1000));
-- LOADING THE VALUES HERE
SELECT * FROM #STEPS_TABLE As Step FOR XML AUTO, XMLDATA, ELEMENTS
I used the SQL Transport Schema Generation Wizard to create my schema and could configure the port correctly. If I use this schema on my orchestration, it works perfectly. BizTalk starts one instance of the orchestration everytime the #STEPS_TABLE has more than 1 record.
Reading Microsoft technical documentation, they recommend to get several messages in one call and then use the XML pipeline to disassemble the multi-row BizTalk message into a single-row BizTalk message.
I haven't used the XML pipeline before, so I tried the provided steps but couldn't get it to work.
Could somebody provide me a link to a "how to" (didn't find anything until now, after several hours of searching) or give me some hints to succeed.
Thanks in advance.
... some hours later I could figure it out myself. So if anybody comes across the same issue as me, here you have some guidelines to make it work on your environment.
At the end I followed a different walkthrough from Microsoft and avoided the pipeline recommendation altogether. The documentation I found is called "Disassembling Result Sets Using the SQL Adapter" and does exactly what i was looking for. You can just follow the whole walkthrough from Microsoft but avoid the creation of the send port and make some little adjustment on the receive port.
After following the technical document you will end up with two schemas, I will call them message and envelope (contains several messages) for the sake of this excercise. In your orchestration you can create a receiving port that maps to the message and then when you configure it as a SQL Port and you link it to your stored procedure (or select statement), you only have to change the Document Root Element Name to the envelope root name; the XML Receive pipeline (provided by default in BizTalk 2006) will do the magic of disassembling the messages contained in the envelope and instantiating an orchestration for each message.
The Microsoft "Disassembling Result Sets Using the SQL Adapter" walkthrough can be found under:
http://msdn.microsoft.com/en-us/library/aa562098(v=bts.20).aspx
Mission accomplished :)

promoted properties don't show in send port filters

The problem:
Promoted properties can't be found in the property combo box in the filters tab of a send port. The properties show in the schema as being promoted.
Environment:
I'm using biztalk 2010
Is the schema and property schema in the same BizTalk application as the send port? If not you need to reference the application that contains the schema to get the property in the list.
Try this,
Make Sure the application that you deploy does have the refrence for the Schema's.
Stop the applicatuion in the Admin Console with Fll Termination Option.
Referesh the application in the Admin console and restart.
This should surly help you.

Resources