none
WCF-Http Error RRS feed

  • Question

  • Hi All,

    Following is the message when my WCF-Http send port is trying to invoke WCF service.
    The adapter failed to transmit message going to send port "" with URL "". It will be retransmitted after the retry interval specified for this Send Port. Details:"System.Xml.XmlException: Root element is missing.
       at System.Xml.XmlTextReaderImpl.Throw(Exception e)
       at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
       at System.Xml.XmlReader.MoveToContent()
       at Microsoft.BizTalk.Adapter.Wcf.Runtime.BizTalkBodyWriter.ValidateStreamContainsXml(Stream stream)
       at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfMarshaller.CreateWcfMessage(CreateWcfMessageSettings settings)
       at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient`2.SendRequestMessage(IBaseMessage bizTalkMessage, IRequestChannel channel)
       at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient`2.SendMessage(IBaseMessage bizTalkMessage)".

    Please let me know your suggestions.
    Thanks
    Murari

    Tuesday, February 23, 2010 1:12 PM

Answers

All replies



  •  Check your message sent to WCF Service. It might be a namespace issue.

     Thanks,
     SHR
    Tuesday, February 23, 2010 2:44 PM
  • To me it looks like a problem with the encoding of the file. If that is the case, you will see some junk characters in the beginning of the message - when you inspect it in the BizTalk Management console.

    Change the file's encoding to Unicode and see if it helps

    Thanks
    Jeevitha
    • Proposed as answer by Dwight Goins (RD)MVP Tuesday, February 23, 2010 3:07 PM
    • Unproposed as answer by MurariBTS Tuesday, February 23, 2010 3:17 PM
    Tuesday, February 23, 2010 2:51 PM
  • Thanks for your responses,

    I amunable to catch the msg sent to wcf service.

    I tried Unicode option, but no luck.

    I am not even getting any erros in the eventviwer or in my exception handling of orchestration.
    Only I can find the error in admin console --> message flow.

    Thanks
    Murari
    Tuesday, February 23, 2010 3:13 PM
  • Also make sure there is actually Xml in the message. Open up the BizTalk admin console, find the suspended message and look in the body to see if it has the payload you are expecting.

    Thanks,


    If this answers your question, please use the "Answer" button to say so | Ben Cline
    • Marked as answer by MurariBTS Tuesday, February 23, 2010 3:17 PM
    • Unmarked as answer by MurariBTS Tuesday, February 23, 2010 3:17 PM
    Tuesday, February 23, 2010 3:13 PM
    Moderator
  • Thanks,

    But their is no suspended message in admin console.

    Thanks in advance
    Murari

    Tuesday, February 23, 2010 3:18 PM
  • The message would have been dehydrated. It will be suspended after it exceeds the retry count.

    Tuesday, February 23, 2010 3:36 PM
  • Thanks for your responses,

    When I have checked the message in dehydrated state, the payload in text tab is empty and payload in Binary tab are some junk charachters.

    When I check the Suspended message, the the payload in text tab is empty and payload in Binary tab are some junk charachters.

    Please let me know your thoughts.

    Thanks
    Murari
    Wednesday, February 24, 2010 3:49 PM
  • Hi,

    Maybe you could use something like Fiddler to monitor message you sent WCF-Service and you could check out this post: http://west-wind.com/weblog/posts/596348.aspx?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+RickStrahl+(Rick+Strahl's+WebLog) and/or get fiddler yourself: http://www.fiddler2.com/fiddler2/. Another useful tool is WireShark: http://www.wireshark.org/. There is also a Service Trace Viewer: http://msdn.microsoft.com/en-us/library/ms732023.aspx worthwhile checking out.

    Regards,

    Steef-Jan Wiggers
    MCTS BizTalk Server
    http://soa-thoughts.blogspot.com/
    If this answers your question please mark it accordingly


    BizTalk Server
    Wednesday, February 24, 2010 7:21 PM
    Moderator
  • If the payload is empty, then it is actually looking for the root element and not finding it. What are you using to pass the message to the send port - check this because it is not passing the expected data.

    Thanks,
    If this answers your question, please use the "Answer" button to say so | Ben Cline
    Wednesday, February 24, 2010 9:19 PM
    Moderator
  • Hi All,
    Now I can pass the data to send port and send port is unable to execute.
    Details:"System.ServiceModel.CommunicationException: The server did not provide a meaningful reply; this might be caused by a contract mismatch, a premature session shutdown or an internal server error.
    When I open the data in suspended/dehydrated message I can see the data(which is in the WCF schema format).

    Please let me know your suggestions.

    Thanks
    Murari

    • Edited by MurariBTS Thursday, February 25, 2010 10:28 AM updated
    Thursday, February 25, 2010 10:28 AM
  • Hi,

    Regarding the error you might review this thread: http://social.msdn.microsoft.com/forums/en-US/wcf/thread/3895b2eb-de4d-452b-984b-33a5e66d9109/ (i.e. review binding http://technet.microsoft.com/en-us/library/bb226467(BTS.10).aspx look for MaxReceivedMessageSize ). Another solution could be that you need to update contract on server so that it is in sync with the client, which could also explain why you are getting this error.

    Regards,

    Steef-Jan Wiggers
    MCTS BizTalk Server
    http://soa-thoughts.blogspot.com/
    If this answers your question please mark it accordingly


    BizTalk Server
    Thursday, February 25, 2010 11:08 AM
    Moderator