Separate WCF adapter per each 'Request-Response' port.

I am consuming a WCF service in Biztalk application. So it generates a BindingInfo.xml file and xsd file. In BindingInfo it creates a send port with WCF-BasicHttp adapter.

However in my Orchestration I have two 'Request-Response' ports for which I would like to have two send ports (in admin console) and each should be attached to a WCF-BasicHttp adapter.

The reason to have separate send port is, in each port Inbound and outbound mapper property, different mapper would be attached.

SO can I modify BindingInfo.xml to have two send ports and each would be attached to a WCF-BasicHttp ada

July 10th, 2013 5:22am

Yes, you can update the BindingInfo.xml for your need. When you import the generated binding file, it populates the WCF adapter configurations like WCF.Action. So when you update the BindingInfo.xml file make sure you copy all the binding properties of the port to the new port youre trying to configure.

Free Windows Admin Tool Kit Click here and download it now
July 10th, 2013 5:35am

Thanks Awhinibabu,

Please let me know what are thing I need to take while copying binding properties.

July 10th, 2013 6:13am

Hi,

As Awhinibabu said, copy all the binding properties of the port, you could copy the value of the XML <binding> attributes of the Port. Please try it.

http://msdn.microsoft.com/en-us/library/system.web.services.description.port.binding(v=vs.90).aspx

Regards,

Free Windows Admin Tool Kit Click here and download it now
July 15th, 2013 10:59pm

Unless both operations are returning the same message type, you don't need two ports.

However, that message pattern is a little unusual.  If you calling from an Orchestration, why wouldn't you apply the Map there?

You can also just make a copy of the file and change the SendPort/@Name to something different.

Unless you're using the generated Orchestration, you'll have to modify the Action anyway.  Import the two binding files, correct the Action and reexport if you still need the bindings.

July 16th, 2013 9:35am

As I said earlier, 'Orchestration project' does not have reference to 'Map project'. Thats why I would not call Map from 'Orchestration project'. Maps are attached to inbound and outbound map property of send port.

As each send-response port is  attached to map, that's the reason I need two ports for two send-response ports.

Free Windows Admin Tool Kit Click here and download it now
July 17th, 2013 3:08am

So, is there a reason you can't reference the Map project from the Orchestration project?

Regardless, unless the response is the same type, you don't need two Send Ports.

July 17th, 2013 7:37am

That is a pattern used in project so that Orchestration project would not couple directly with External schemas which is refereed by Map project. There are 'send-response' logical ports are used for which separate physical bi-directional send ports are required as response types are different and Maps are directly attached in these send ports.
Free Windows Admin Tool Kit Click here and download it now
July 17th, 2013 10:12am

Ok, but keep in mind that the External schemas project is still in the dependency chain of the Orchestration project so not referencing Maps from Orchestrations isn't really getting you anything.
July 17th, 2013 11:01am

No, External schemas project does not have dependency chain of the Orchestration project.

Again I am explaining the project structure here. There are four projects.

External Schema

Internal Schema

Map

Orchestration

Map has reference with 'External Schema' and 'Internal Schema'.

Orchestration has reference with 'Internal Schema'.

Maps are used directly in outbound and inbound map properties of bi-direction send ports.

Free Windows Admin Tool Kit Click here and download it now
July 18th, 2013 1:08am

Got it.  So, your options are still the same.

Unless both operations are returning the same message type, you don't need two ports.  The Port will resolve the correct map based on the response type.

If the response type is the same, just make a copy of the file and change the SendPort/@Name to something different.

Unless you're using the generated Orchestration, you'll have to modify the Action anyway.  Import the two binding files, correct the Action and reexport if you still need the bindings.

July 18th, 2013 10:31am

I would create a new port in Admin Console then export the application in the binding file. Then copy-past the new send port section from this new binding file to your old binding file.

Then import this binding file. It will throw an error if this new port was not in your application because BizTalk want all send ports have different names. In this case manually delete this new port or move it in your application and import binding file again.

The last thing is to bind this port with your orchestration and you are done.

Free Windows Admin Tool Kit Click here and download it now
July 18th, 2013 11:56am

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics