locked
WCF Send/Receive Port RRS feed

  • Question

  • I have a WCF send port on which when doing some queries on DTA DB, I discovered that it receives a lot of messages. I would like to investigate where or who is processing those messages.
    It is a WCF custom send port. I wanted to know how/what it does with the returned message, I found a subscription similar to this on the send port
    Type = Activation
    Expression
    http://schemas.microsoft.com/BizTalk/2003/system-properties.SPTransportID == {03B29117-2066-48AA-B669-83BDFE7E8CE0}

    Thanks

     
    Wednesday, January 21, 2015 4:56 PM

All replies

  • When send port gets the message, this message went outside of BizTalk. Try to use the WCF logging to investigate.

    BTW It is not clear, "queries on DTA DB". It that mean this is the WCF-SQL port, which gets data from DTA DB?


    Leonid Ganeline [BizTalk MVP]

    Wednesday, January 21, 2015 6:25 PM
    Moderator
  • More clarification required :) for this still unclear about your requirement

    Thanks

    Abhishek

    Wednesday, January 21, 2015 6:39 PM
  • You can look at the Message Flow on the Send Port.

    Do you not own this app?  Something like this should not be so mysterious.  If it is, to me that indicates that it's not being used.

    Wednesday, January 21, 2015 7:51 PM
    Moderator
  • It is a 2 way net.tcp wcf that talks to Dynamics AX.
    Wednesday, January 21, 2015 7:57 PM
  • Is that not the answer?  What exactly are you looking for?
    Wednesday, January 21, 2015 8:09 PM
    Moderator
  • I think hes trying to figure out whos sending messages over Net-TCP.

    you can do one thing, turn on tracking of messages on receive and send port (might already be there) and then go to BizTalk admin console and check tracked messages there.

    Then for any instance look at the context of the message and you will find some useful information like Originator (sender) etc. Below I have posted a snapshot showing such info, since I worked recently on Net-Tcp project (mine is NamedPipe binding but very similar to net-tcp)

    Wednesday, January 21, 2015 10:53 PM
  • There is SendingOrchestrationType on your picture, seems this is the sender of this message. It is an orchestration, it's name in the SendingOrchestrationType parameter.

    Leonid Ganeline [BizTalk MVP]

    Wednesday, January 21, 2015 11:26 PM
    Moderator
  • You are almost correct, I am trying to figure out what class/object is  {03B29117-2066-48AA-B669-83BDFE7E8CE0} I see in the subscription. Unfortunately I am not the owner of the platform
    Thursday, January 22, 2015 10:20 AM
  • If you see that value for the SPTransportID, then it's a Send Port.  You can try looking at the uidGUID field of the bts_sendport table in BizTalkMgmtDb.

    It's OK to look for the value in a diagnostic scenario but you should not be doing any reporting off the Management Database.

    Thursday, January 22, 2015 12:00 PM
    Moderator
  • Thanks to all of you. I might have not clearly described the problem, I will try to make it very simple.

    I have an orchestration, receives an xml, sends a request to wcf port and gets back a response. Just after the receive shape, I have the send shape who send the requests, followed by a receive shape to receive the wcf response, that is all.

    Assuming my Receive shape name is RcvRespFromWCF, this receive shape does nothing with the response. My question is : Is it possible to see what this shape receives back from the wcf service as it is not bound to anywhere to show what it receives. Of course I am talking if I cna see those details inside the admin console or by quering the DTA or anything else.

    I hope it is more clear

    Thursday, January 22, 2015 10:47 PM
  • Yes, just enable the Message Tracking options on the Send Port.  You can track the Request, Response or both.
    Friday, January 23, 2015 3:02 AM
    Moderator
  • Tracking should help as already suggested. other options if you are ready to make changes to the code:

    1) You can  try to load the response into message of type "System.Xml.XmlDocument" and write whole message to events log using xmldoc.OuterXml

    2) Create a final send shape which will send out this response to file folder and there you can take a look at it.

    Friday, January 23, 2015 5:04 AM
  • Hi Leonid, that's my picture not of person who asked question. Thanks
    Friday, January 23, 2015 5:05 AM