Biztalk 2013 WCF-WebHTTP Adapter - Outbound HTTP Headers

Hi
I have a requirement to connect to a service using the WCF-WebHTTP adapter that requires authentication to be passed in the Headers.
A usercode and password is sent in the intial header and a security token is returned in the response header.
This security token is then used in the header of each subsequent call to the service.
I could not find anything in the documentation about getting and setting the "HTTP Header" data using maps or variables or using variables in the "Outbound HTTP Headers" on the adapter transport properties.
Any help on this would be gratefully received.
Malcolm

You can set the outbound HTTP header in WCF-WebHTTP adapter by 2 ways
1) At adapter level Change adapter properties
2)Changing Message context property at Orchestration or at pipeline
Its been well documented here
http://blog.codit.eu/post/2013/04/30/Using-HttpHeaders-with-WCF-WebHttp-Adapter-on-Biztalk-2013.aspx
Thanks
Abhishek

Similar Messages

  • Biztalk 2013 Wcf-webhttp adapter Issue

    Hi
    I am trying to get WCF-WebHttp adapter working but it is ending  error.
    I created a service account with Bing api (can browse this url directly by providing login credentials)
    URL:
    https://api.datamarket.azure.com/Bing/SearchWeb/Web?Query='WA'
    These are my wcf-webhttp adapter settings
    URI
    https://api.datamarket.azure.com/Bing/SearchWeb
    http Method and URL Mapping
    <BtsHttpUrlMapping>
     <Operation Method="GET" Url="/Web?Query='WA'"/>
     </BtsHttpUrlMapping>
    it seems template matching is failing in wcf adapter as a result Outbound URL property is not getting promoted resulting below error.
    Can you please advice what is the missing piece in this configuration?
    Error Message:
    The Messaging engine failed to process a message submitted by adapter:WCF-WebHttp Source
    URL:https://api.datamarket.azure.com/Bing/SearchWeb. Details:The published message could not be routed because no subscribers were found. This error occurs if the subscribing orchestration or send
    port has not been enlisted, or if some of the message properties necessary for subscription evaluation have not been promoted. Please use the Biztalk Administration console to troubleshoot this failure.

    Hi
    Moreover I observed one more thing with another API if URI is brows able directly without Key it works
    Actual URL: https://ServerName/StoreMasterServices/Markets
    URI: https://ServerName/StoreMasterServices/
    Headers Info
    <BtsHttpUrlMapping>
    <Operation Method="GET" Url="/Markets" />
    </BtsHttpUrlMapping>
    This URI: https://ServerName/StoreMasterServices/    
    is brows able even without Key  (/Markets) and it is working fine.
    So Question is, is it mandatory to have URI brows able (with credentials if it needs)?

  • Custom headers are not exported correctly in the bindings for the WCF-WebHttp adapter

    I have an annoying issue with the bindings for the WCF-WebHttp adapter.
    As you know, the "Messages" tab of the WCF-WebHttp transport properties enables a developer to configure a number of static outbound HTTP headers. When I've entered two or more headers in the textbox, the CRLF between individual headers will be
    stripped after a bindings import. This means I cannot call RESTful services that require more than one custom HTTP header in a messaging-only scenario, because BizTalk goofs up the configuration.
    For example, when I enter the following headers in the textbox:
    Then export the bindings, and immediately import the bindings again (untouched), the textbox now shows:
    I did some brief analysis, and within the binding file's XML, the HttpHeaders property (contained in the TransportTypeData element) is not encoded/escaped in any way, so therefore the significant whitespace (in this case CRLF) that needs to be preserved
    is lost in the import process.
    Can anyone reproduce this and can anyone think of a workaround (without resorting to an orchestration)?

    I did some brief analysis, and within the binding file's XML, the HttpHeaders property (contained in the TransportTypeData element) is not encoded/escaped in any way, so therefore the significant whitespace (in this case CRLF) that needs to be preserved
    is lost in the import process.
    +1

  • WCF-WebHttp Adapter issue?

    Hello guys
    I stumble on this problem while I was trying to develop a custom pipeline component that on runtime generates a GUID and affects it to the context and body of the message. That GUID is placed on Http Headers as a boundary (content type)
    and on the message body. What it happens is that, on the first message that I send, everything goes well (header GUID matches body GUID, the service response it’s not important here), after the first message all the following messages on the header will have
    the GUID from the first message that I send thought the port, although everything goes fine on the body. Like this:
    Request #1:
    Header: Content-Type: multipart/mixed; boundary=batch_bead1969-540e-4020-8b47-cf0fbcddef1c
    Body:
    bead1969-540e-4020-8b47-cf0fbcddef1ce
    Request #2:
    Header: Content-Type: multipart/mixed; boundary=batch_bead1969-540e-4020-8b47-cf0fbcddef1c
    Body:
    226dd0f5-501f-4da8-a871-b79e6ac512d0
    Request #3:
    Header: Content-Type: multipart/mixed; boundary=batch_bead1969-540e-4020-8b47-cf0fbcddef1c
    Body:
    98b7e6f9-c229-4a0b-a8f1-cd0c1f3e27e8
    As you can see in red, between multiple requests the GUID is always the same, and it shouldn’t be since on the body is changing correctly. After some analysis we realized that the problem was with the property “HttpHeaders” (WCF property
    schema), where we are writing the “content-type” in our custom pipeline component. It seems that for some reason the value of this property ain’t properly read after a first message went thought successfully.
    Why do I say successfully? Well…
    If there’s an error on send the message and the message gets dehydrated or suspended, the HttpHeaders seems to be “reseted” and read again, and everything goes as it should.
    If the message went to successfully regardless of the response, the issue that I describe will happen.
    Restarting the host instance seems to have no effect.
    Sometime after the first message went thought successfully, HttpHeaders seem to be “reseted” and read again. Although I don’t know how much time, at least something above 15min.
    Stop\Start the send seems to force an “reset” on the property.
    Just to make clear some eventual questions, HttpHeaders is correctly written into context before entering the adapter, after the message went thought the adapter, we can see on fiddler that the message isn’t as it should.
    I did some code to replicate this issue, and my Execute method on pipeline goes like this:
    public Microsoft.BizTalk.Message.Interop.IBaseMessage Execute(IPipelineContext pContext, Microsoft.BizTalk.Message.Interop.IBaseMessage pInMsg)
    Stream inMsgBodyStream = pInMsg.BodyPart.GetOriginalDataStream();
    pInMsg.Context.Write("HttpHeaders", "http://schemas.microsoft.com/BizTalk/2006/01/Adapters/WCF-properties",
    "content-type: multipart/mixed; boundary=batch_" + Guid.NewGuid().ToString());
    return pInMsg;
    I also try this behavior with the classic HTTP adapter, although another issues were raised, the fact is that Http Headers are correctly read between requests, so as far as we can tell this just happens with this adapter.
    Does anybody had similar issue? So far I haven’t found a solution.
    PS: I’m using Biztalk 2013 RTM
    Thanks

    Hey, someone else reported a similar issue with the WCF-WebHttp adapter for BizTalk 2013 - see this thread:
    http://social.msdn.microsoft.com/Forums/en-US/biztalkgeneral/thread/e477ad7a-505c-4f86-9556-8075d747e447. I will report your finding to Microsoft support.
    Thanks,
    If this answers your question, please use the "Answer" button to say so | Ben Cline

  • WCF-WebHttp Adapter Substituting Nonstandard Characters In Address URI With Web Encoded Equivalent

    I’m using the WCF-WebHttp adapter to send an HTTP Get request to a REST API. The request has to be formatted as shown…
    http://xxx.xxx.xxx.xxx/HPRMServiceAPI/Record?q=title:test*&format=json
    Essentially this is searching for any records with “test” in their title and returning a JSON formatted response containing information on any records that match the search criteria. I don’t have any flexibility in how this request is formatted. It has to
    confirm to the syntax above.
    If I hardcode the above uri in the Address URI field in the WCF-WebHttp adapter configuration and put a request through my BizTalk application, BizTalk correctly sends that request and I get my expected response.
    So far so good.
    The problem is the query portion of the request string (“?q=title:test*” in the example above) needs to be created dynamically based on what is specified in an incoming request to my BizTalk application. It may contain many search criteria and is not limited
    to just record titles as in my example.
    This, I thought would be straight forward: I construct the query portion of the request string in a custom send pipeline and insert that value into a promoted property which is then used by the URL mapping mechanic of the WCF-WebHttp adapter.
    So now the uri in the Address URI field in the WCF-WebHttp adapter configuration simply contains…
    http://xxx.xxx.xxx.xxx/HPRMServiceAPI
    And the remaining part of the request is defined using a URL mapping…
    <BtsHttpUrlMapping>
    <Operation Name="DocumentSearchRequest" Method="GET" Url="/Record{searchquery}" />
    </BtsHttpUrlMapping>
    Where the {searchquery} variable is mapped to a promoted property.
    I can see that my custom send pipeline is correctly promoting the property and that it contains the correct value (e.g “?q=title:test*&format=json”). The problem is that the WCF-WebHttp adapter is now substituting the “?” with its web encoded equivalent
    (%3F). When I view the outgoing HTTP request in Fiddler it looks like this…
    http://xxx.xxx.xxx.xxx/HPRMServiceAPI/Record%3Fq=title:test*&format=json
    I have tried numerous ways of constructing the HTTP request, including hardcoding the offending “?q=” section into the URL mapping rather than having it in the promoted property…
    <Operation Name="DocumentSearchRequest" Method="GET" Url="/Record?q={searchquery}" />
    But this results in other characters (“:”, “&”, “=”) being web encoded in the outgoing HTTP request. Fiddler shows this…
    /HPRMServiceAPI/Record/?q=title%3atest*%26format%3djson
    Similarly, hardcoding the “/Record?q=” section in the Address URI field in the WCF-WebHttp adapter configuration like this…
    http://xxx.xxx.xxx.xxx/HPRMServiceAPI/Record?q=
    …and having the URL mapping contain just…
    <Operation Name="DocumentSearchRequest" Method="GET" Url="{searchquery}" />
    …results in the following outgoing HTTP request (Fiddler shows “?q=” portion now being placed at the end of the request string)…
    http://xxx.xxx.xxx.xxx/HPRMServiceAPI/Record/title:test*&format=json?q=
    So in summary it seems the WCF-WebHttp adapter is struggling to correctly assemble the HTTP request string when a portion of it is supplied in a promoted property and used by the URL mapping mechanic. Specifically when that portion contains nonstandard characters
    (“?”, “:”, “&”, “=” etc), the WCF-WebHttp adapter substitutes them for their web encoded equivalent.
    Any suggestions?

    Thanks Ravindar,
    Unfortunately, I don’t have control of the ‘receive side’. I can’t write a custom pipeline component at the receive side as it is not a BizTalk application, it’s a 3rd party web site exposing REST-like behaviour.
    I have however made progress. It occurred to me the WCF-WebHttp adapter isn't the problem. It's doing exactly what it should by URL encoding any potentially 'unsafe' characters that have been 'injected' into the URL via a promoted property. Potentially the
    promoted property could contain malicious content, especially if that content has been sourced directly from text in an incoming message to BizTalk.
    So the WCF-WebHttp adapter is URL encoding ‘?’ to ‘%3F’ which is probably good behaviour from a security point of view.
    http://xxx.xxx.xxx.xxx/HPRMServiceAPI/Record%3Fq=title:test*&format=json is a perfectly valid address.
    So I looked again at the actual error I was receiving from the 3rd party site. It was…
    HTTP/1.1 400 Bad Request
    System.Web.HttpException: A potentially dangerous Request.Path value was detected from the client (?).
    So, after some research, I edited the web.config of the 3rd party site so it no longer excludes any specific characters from the request.
      <system.web>
        <httpRuntime requestPathInvalidCharacters="" requestValidationMode="2.0" />
      </system.web>
    The 400 Bad Request has gone away and the 3rd party site is processing my request now. Unfortunately it still seems to have an issue with ‘%3F’ being used in place of ‘?’, but I think that will have to be resolved in IIS/web config on the receive side (maybe
    by using request filtering
    http://www.iis.net/configreference/system.webserver/security/requestfiltering) or by discussing with the sites developers.
    In summary, I now believe the WCF-WebHttp adapter is behaving correctly by substituting URL encoded values in place of potentially unsafe characters.
    Thanks for your help.

  • BizTalk 2010 wcf-oracledb adapter with Oracle Database 12c

    Hi,
    My customer is currently running BizTalk 2010 adapter pack wcf-oracledb with Oracle 11g.
    They want to upgrade the oracle database to 12c.
    Is it possible to use BizTalk 2010 wcf-oracledb adapter with Oracle 12c?
    Thank you.
    br, Johan

    Hi,
    No it is not supported.
    For the Oracle Database Adapter
    Supported server versions: Oracle database version 11.1, Oracle database version 10.2, Oracle database version 10.1, Oracle database version 9.2
    Supported client versions: Oracle Data Access Components for Oracle Client 11.1.0.6 with Patch Set 11.1.0.7, Oracle Data Access Components for Oracle Client 11.1.0.7
    Refer:
    Microsoft BizTalk Adapter Pack 2010 Documentation
    Rachit
    Please mark as answer or vote as helpful if my reply does

  • Error handling HTTP 400 in WCF-WebHttp adapter BizTalk 2013

    Hi!
    Does anyone knows how to catch HTTP errors when using WCF-WebHttp REST adapter in BizTalk 2013? I've looked into the article BizTalk
    Server: REST Services Error Handling, but that is for BizTalk 2010 using the WCF-Custom adapter.
    What I want is to catch the exception in an orchestration, and do some actions dependent on which HTTP error it is, i.e. HTTP 400.
    Idar H.

    Hi Idar,
    Welcome to BizTalk forum.
    From your description above, I don't have exact same scenario like yours, this scenario exposes a BizTalk Orchestration as a RESTful webservice using WCF-WebHttp, perhaps it will be good reference for you. See:
    http://blog.tallan.com/2014/09/29/wcf-webhttp-and-custom-json-error-messages/
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • BizTalk 2009 WCF-SAP Adapter Could not load file or assembly 'Microsoft.Adapters.SAP.SAPGInvoker...' one of its dependencies error

    Hello,
    I have a BizTalk Server 2009 running on Windows Server 2003 x64. I am installing WCF-SAP adapter and have done the following for the same. However, I am getting an error as mentioned below when I click on the Configure button of WCF-SAP adapter in send
    port. I would appreciate if anyone could let me know how to fix this error and make the WCF-SAP adapter working.
    TITLE: BizTalk Server 2009 Administration Console
    Exception has been thrown by the target of an invocation. (mscorlib)
    ADDITIONAL INFORMATION:
    Exception has been thrown by the target of an invocation. (mscorlib)
    Could not load file or assembly 'Microsoft.Adapters.SAP.SAPGInvoker, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. This application has failed to start because the application configuration is incorrect. Reinstalling
    the application may fix this problem. (Exception from HRESULT: 0x800736B1) (Microsoft.Adapters.SAP)
    This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem. (Exception from HRESULT: 0x800736B1)
    I have copied the following 32 bit & 64 bit unicode DLLs in SysWOW64 and System32 folders respectively.
    icudt30.dll
    icuin30.dll
    icuuc30.dll
    librfc32u.dll
    libsapu16vc71.dll
    libsapucum.dll
    Following r3dllinst DLLs are there in System32 folder.
    mfc42.dll
    mfc42u.dll
    mfc71.dll
    mfc71u.dll
    msvcp60.dll
    msvcp71.dll
    msvcp80.dll
    msvcr71.dll
    msvcr80.dll
    Following r3dllinst DLLs are there in SysWOW64 folder.
    mfc40.dll
    mfc40u.dll
    mfc42.dll
    mfc42u.dll
    mfc71.dll
    mfc71u.dll
    mfc80.dll
    mfc80u.dll
    msvcp50.dll
    msvcp60.dll
    msvcp71.dll
    msvcp80.dll
    msvcr71.dll
    msvcr80.dll
    I have the following softwares installed on the server.
    Microsoft Visual C++ 2008 Redistributable x64
    Microsoft Visual C++ 2008 Redistributable x86
    WCF LOB Adapter SDK (64-bit)
    BizTalk Adapter Pack 2.0 (64-bit)
    BizTalk Adapter Pack 2.0 (32-bit)
    The following bindings are also present in the machine.config under Framework\v2.0.50727\CONFIG and Framework64\v2.0.50727\CONFIG
    <system.serviceModel>
    <extensions>
    <bindingElementExtensions>
    <add name="sapAdapter" type="Microsoft.Adapters.SAP.SAPAdapterExtensionElement, Microsoft.Adapters.SAP, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
    </bindingElementExtensions>
    </extensions>
    <client>
    <endpoint binding="sapBinding" contract="IMetadataExchange" name="sap" />
    </client>
    </system.serviceModel>
    Thanks,
    Tarun

    Have you tried this?
    http://geekswithblogs.net/MoonWalker/archive/2013/07/17/could-not-load-file-or-assembly-microsoft.adapters.sap.sapginvoker.dll.aspx
    Morten la Cour

  • Issues connecting BizTalk 2013 WCF to Microsoft CRM 2011 using ADFS

    I have a Microsoft CRM 2011 instance I'm trying to connect to from BizTalk 2013 using WCF. The CRM instance is using ADFS based security
    and basic "domain/user" "password" security. The OrganizationService has the following policy in the WSDL.
    <wsp:Policy wsu:Id="CustomBinding_IOrganizationService_policy">
    <wsp:ExactlyOne>
    <wsp:All>
    <ms-xrm:AuthenticationPolicy xmlns:ms-xrm="http://schemas.microsoft.com/xrm/2011/Contracts/Services">
    <ms-xrm:Authentication>Federation</ms-xrm:Authentication>
    <ms-xrm:SecureTokenService>
    <ms-xrm:Identifier>http://example.com/adfs/services/trust</ms-xrm:Identifier>
    </ms-xrm:SecureTokenService>
    </ms-xrm:AuthenticationPolicy>
    <sp:TransportBinding xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
    <wsp:Policy>
    <sp:TransportToken>
    <wsp:Policy>
    <sp:HttpsToken/>
    </wsp:Policy>
    </sp:TransportToken>
    <sp:AlgorithmSuite>
    <wsp:Policy>
    <sp:Basic256/>
    </wsp:Policy>
    </sp:AlgorithmSuite>
    <sp:Layout>
    <wsp:Policy>
    <sp:Strict/>
    </wsp:Policy>
    </sp:Layout>
    <sp:IncludeTimestamp/>
    </wsp:Policy>
    </sp:TransportBinding>
    <sp:EndorsingSupportingTokens xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
    <wsp:Policy>
    <sp:IssuedToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient">
    <Issuer xmlns="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">
    <Address xmlns="http://www.w3.org/2005/08/addressing">http://www.w3.org/2005/08/addressing/anonymous</Address>
    <Metadata xmlns="http://www.w3.org/2005/08/addressing">
    <Metadata xmlns="http://schemas.xmlsoap.org/ws/2004/09/mex" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <wsx:MetadataSection xmlns="">
    <wsx:MetadataReference>
    <Address xmlns="http://www.w3.org/2005/08/addressing">
    https://example.com/adfs/services/trust/mex
    </Address>
    </wsx:MetadataReference>
    </wsx:MetadataSection>
    </Metadata>
    </Metadata>
    </Issuer>
    <sp:RequestSecurityTokenTemplate>
    <trust:KeyType xmlns:trust="http://docs.oasis-open.org/ws-sx/ws-trust/200512">
    http://docs.oasis-open.org/ws-sx/ws-trust/200512/SymmetricKey
    </trust:KeyType>
    <trust:KeySize xmlns:trust="http://docs.oasis-open.org/ws-sx/ws-trust/200512">256</trust:KeySize>
    <trust:Claims xmlns:trust="http://docs.oasis-open.org/ws-sx/ws-trust/200512" Dialect="http://schemas.xmlsoap.org/ws/2005/05/identity">
    <wsid:ClaimType xmlns:wsid="http://schemas.xmlsoap.org/ws/2005/05/identity" Uri="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn"/>
    </trust:Claims>
    <trust:KeyWrapAlgorithm xmlns:trust="http://docs.oasis-open.org/ws-sx/ws-trust/200512">http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p</trust:KeyWrapAlgorithm>
    <trust:EncryptWith xmlns:trust="http://docs.oasis-open.org/ws-sx/ws-trust/200512">http://www.w3.org/2001/04/xmlenc#aes256-cbc</trust:EncryptWith>
    <trust:SignWith xmlns:trust="http://docs.oasis-open.org/ws-sx/ws-trust/200512">http://www.w3.org/2000/09/xmldsig#hmac-sha1</trust:SignWith>
    <trust:CanonicalizationAlgorithm xmlns:trust="http://docs.oasis-open.org/ws-sx/ws-trust/200512">http://www.w3.org/2001/10/xml-exc-c14n#</trust:CanonicalizationAlgorithm>
    <trust:EncryptionAlgorithm xmlns:trust="http://docs.oasis-open.org/ws-sx/ws-trust/200512">http://www.w3.org/2001/04/xmlenc#aes256-cbc</trust:EncryptionAlgorithm>
    </sp:RequestSecurityTokenTemplate>
    <wsp:Policy>
    <sp:RequireInternalReference/>
    </wsp:Policy>
    </sp:IssuedToken>
    </wsp:Policy>
    </sp:EndorsingSupportingTokens>
    </wsp:All>
    </wsp:ExactlyOne>
    </wsp:Policy>
    I've set up the following client configuration:
    <binding name="ws2007FederationHttpBinding">
    <security mode="TransportWithMessageCredential">
    <message>
    <issuer address="https://adfs20.example.com/adfs/services/trust/2005/usernamemixed"
    binding="wsHttpBinding"
    bindingConfiguration="stsBinding" />
    <issuerMetadata address="https://adfs20.example.com/adfs/services/trust/mex" />
    </message>
    </security>
    </binding
    And referencing this for adfs specific communication
    <wsHttpBinding>
    <clear />
    <binding name="stsBinding">
    <security mode="TransportWithMessageCredential">
    <transport clientCredentialType="None"/>
    <message clientCredentialType="UserName" establishSecurityContext="false"/>
    </security>
    </binding>
    </wsHttpBinding>
    As I try using it I get the receive the following error message
    A message sent to adapter "WCF-Custom" on send port "SendPort6" with URI "https://crm-test.example.com/XRMServices/2011/Organization.svc" is suspended.
    Error details: System.ServiceModel.FaultException: MSIS3127: The specified request failed.
    Server stack trace:
    at System.ServiceModel.Security.IssuanceTokenProviderBase`1.DoNegotiation(TimeSpan timeout)
    at System.ServiceModel.Security.IssuanceTokenProviderBase`1.GetTokenCore(TimeSpan timeout)
    at System.IdentityModel.Selectors.SecurityTokenProvider.GetToken(TimeSpan timeout)
    at System.ServiceModel.Security.Tokens.IssuedSecurityTokenProvider.GetTokenCore(TimeSpan timeout)
    at System.IdentityModel.Selectors.SecurityTokenProvider.GetToken(TimeSpan timeout)
    at System.ServiceModel.Security.SecurityProtocol.TryGetSupportingTokens(SecurityProtocolFactory factory, EndpointAddress target, Uri via, Message message, TimeSpan timeout, Boolean isBlockingCall, IList`1& supportingTokens)
    at System.ServiceModel.Security.TransportSecurityProtocol.SecureOutgoingMessageAtInitiator(Message& message, String actor, TimeSpan timeout)
    at System.ServiceModel.Security.TransportSecurityProtocol.SecureOutgoingMessage(Message& message, TimeSpan timeout)
    at System.ServiceModel.Security.SecurityProtocol.SecureOutgoingMessage(Message& message, TimeSpan timeout, SecurityProtocolCorrelationState correlationState)
    at System.ServiceModel.Channels.SecurityChannelFactory`1.SecurityRequestChannel.Request(Message message, TimeSpan timeout)
    at System.ServiceModel.Security.SecuritySessionSecurityTokenProvider.DoOperation(SecuritySessionOperation operation, EndpointAddress target, Uri via, SecurityToken currentToken, TimeSpan timeout)
    at System.ServiceModel.Security.SecuritySessionSecurityTokenProvider.GetTokenCore(TimeSpan timeout)
    at System.IdentityModel.Selectors.SecurityTokenProvider.GetToken(TimeSpan timeout)
    at System.ServiceModel.Security.SecuritySessionClientSettings`1.ClientSecuritySessionChannel.OnOpen(TimeSpan timeout)
    at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
    at System.ServiceModel.Channels.ServiceChannel.OnOpen(TimeSpan timeout)
    at System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout)
    at System.ServiceModel.Channels.CommunicationObject.Open()
    Exception rethrown at [0]:
    at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
    at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
    at System.ServiceModel.ICommunicationObject.Open()
    at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient`2.GetChannel[TChannel](IBaseMessage bizTalkMessage, ChannelFactory`1& cachedFactory)
    at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient`2.SendMessage(IBaseMessage bizTalkMessage)
    MessageId: {0A8D8BB1-0838-43AF-B3A1-D63D432C22AA}
    InstanceID: {B57B4979-2187-4CF7-8115-4D65B3952982}
    What am I missing ..?
    http://www.richardhallgren.com

    Hi Angie and Richard
    Currently I am also having the similar issue and I tried the settings you mentioned. But I get his error 
    The adapter failed to transmit message going to send port "WcfSendPort_OrganizationService_CustomBinding_IOrganizationService" with URL "https://examplecrm.com/XRMServices/2011/Organization.svc".
    It will be retransmitted after the retry interval specified for this Send Port. Details:"System.ServiceModel.FaultException: The message with Action 'http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/Issue' cannot be processed at the receiver, due
    to a ContractFilter mismatch at the EndpointDispatcher. This may be because of either a contract mismatch (mismatched Actions between sender and receiver) or a binding/security mismatch between the sender and the receiver.  Check that sender and receiver
    have the same contract and the same binding (including security requirements, e.g. Message, Transport, None).
    By any chance did you go through this error or do you have any suggestions?I am trying to connect from WCF-Custom adapter on BizTalk 2010 to CRM 2013 using ADFS. 
    Thanks 
    Narri

  • BizTalk 2010 - WCF-Custom Adapter with sqlbinding - rror was encountered while attempting to transmit the message

    BizTalk 2010 RTM version with SQL 2008 R2 .
    An intermittent issue with the WCF-Custom adapter with sqlbinding, calling a SQL stored proc as below
    Message gets suspended in BT Admin console  with "An internal server error was encountered while attempting to transmit the message" .
    Event log shows 
    A message sent to adapter "WCF-Custom" on send port "xxx" with URI "mssql://server/db?" is suspended.  Error details: Unknown Error Description 
    Any advice please. Thanks
    Sullu.
    http://biztalkguide.blogspot.com/ Please mark as answer if this solved the issue.Thanks

    Hi Chen
    Is there any update on this please ?
    I have applied the latest CU and have noticed the following issue.
    BizTalk 2010 Enterprise Edition with BizTalk 2010 CU6 and CU3 for BizTalk Adapter Pack works fine , no issues noticed.
    However ,
    On a DEV VM ,BizTalk 2010 Developer Edition with BizTalk 2010 CU6 and CU3 for BizTalk Adapter Pack still gives the error mentioned in this post.
    In addition Microsoft BizTalk Adapter Pack ,Microsoft BizTalk Adapter Pack(x64) & WCF LOB Adapter SDK are also installed .
    Below is the Error message.
    Message gets suspended in BT Admin console  with "An internal server error was encountered while attempting to transmit
    the message" .
    A message sent to adapter "WCF-Custom" on send port "xxx" with URI "mssql://server/db?" is
    suspended.  Error details:
    Unknown Error Description 
    Could you please check and advice what needs to be done to resolve this ? Thanks .
    Regards,
    Sullu
    http://biztalkguide.blogspot.com/ Please mark as answer if this solved the issue.Thanks

  • How to handle idoc documents by BizTalk without WCF-SAP Adapter?

    Dear All,
    our company is no customer of SAP.
    But one partner company of us uses SAP Systems to generate business transactions like "INVOICE".
    Then they send us such a idoc-file per email.
    So I can not use the SAP-WCF Adapter by BizTalk (the download of SAP RFC SDK is constrained and only for customers) to generate a schema of such a flat file automatically.
    The second problem: I believe that only the WCF Adpater can validate the structure of the infomartion in inbound idoc files.
    Is there a way to solve this problem without using the WCF-SAP Adapter?
    Thanks in advance

    Actually I only need an idoc decoder and disassembler to import the information of the idoc file.
    Is there a special pipeline component by MS?

  • Sending an XML that contains CDATA to a SOAP service using wcf-webhttp adapter

    I've run into a rather unique problem when trying to send an xml that contains the <![cdata[]]> tag to a soap service.  Without the tag the xml sends through without issue.  However, when I add the cdata tag within the xml, BizTalk immediately
    fails without even attempting to send to the service.  I receive the following error:
    "The published message could not be routed because no subscribers were found. This error occurs if the subscribing orchestration or send port has not been enlisted, or if some of the message properties necessary for subscription evaluation have not
    been promoted. Please use the Biztalk Administration console to troubleshoot this failure. "
    I have ensured that the send adapter is enlisted and started. 
    This is on a BizTalk 2013 installation.
    Any and all help is appreciated!
    Thanks

    as per my understanding, if you use the
    <![cdata[]]> tag in sending message, BizTalk is not able to send the message as it is not matching with your send message schema that is why error  'The
    published message could not be routed because no subscribers were found.....' 
    Please compare the message format or configured schema in send shape and message which suspended when
    used <![cdata[]]> tag used.
    Regards
    Suman

  • BizTalk 2013 SB-Messaging Adapter: Unable to receive messages from a Azure service bus Subscription

    Hi,
    I am trying to receive messages from a Azure service bus subscription using SB-Messaging Adapter in BizTalk Server 2013 but getting the following error.
    "The token provider was unable to provide a security token while accessing 'https://overcasb-sb.accesscontrol.windows.net/WRAPv0.9/'.
    Error Code: 407 Proxy Authentication Required. The ISA Server requires authorization to fulfill the request. Access to the Web Proxy filter is denied. (12209)
    It seems the error is related with Service Bus Authentication and Authorization with the Access Control Service. Can anybody help me out if I am missing something here? 
    Also for consuming the AWSB (namespace, topic name, subscription name, Issuer name, Issuer Key) I have referred the following link
    http://soa-thoughts.blogspot.in/2013/02/biztalk-server-2013-new-adapters-series.html
    Thanks!
    Regards,
    Gautam
    gautam

    Hi,
    When I am trying to receive the same messages from a Azure service bus subscription using .net (C#) client,
    BusSubscriberbusSubscriber =
    newBusSubscriber("TestTopic2",
    "Endpoint=sb://overcasb.servicebus.windows.net/;SharedSecretIssuer=owner;SharedSecretValue=wqYlT4yHZimeUZacH+1V1hj/ZrKu7zK9ELaaLYDxqjc=",
    "AssetMovement",
    "AssetMovement");
    I am getting the same error here also.
    "The token provider was unable to provide a security token while accessing 'https://overcasb-sb.accesscontrol.windows.net/WRAPv0.9/'.
    Error Code: 407 Proxy Authentication Required. The ISA Server requires authorization to fulfill the request. Access to the Web Proxy filter is denied. (12209)
    By setting  <defaultProxy useDefaultCredentials="true" /> in appconfig, I got rid of the above error. And now its working fine with .net(C#) client.
    <configuration>
      <system.net>
        <defaultProxy useDefaultCredentials="true" />
      </system.net>
    </configuration>
    The same setting I tried in BTSNTSvc.exe config file and ofcourse restarted the host instance but still getting the same error. Any help?
    gautam

  • Problem with WCF-Custom adapter (WS HTTP Binding with reliable messaaging) - Error event logged, even though transaction completed Sucessfully

    Hi All
    I am using WCF-Custom (WS HTTP Binding) with Message security as Windows and using Reliable messaging in the send port. Its a static Port. 
    Every thing works fine as expected for the interface. ie the transaction is success. After a min of the transaction completion. I am getting the following error
    01. I have not checked Propagate Fault message (as a solution provided in another blog)
    02. Its a static Port
    03. I am using reliable messaging
    The below error events are logged in the event viewer
    The Message Engine Encountered an error while suspending one or more Messages ( ID 5677)
    Event  ID : 5796
    The transport proxy method MoveToNextTransport() failed for adapter WCF-Custom: Reason: “Messaging engine has no record of delivering the message to the adapter. This could happen if MoveToNextTransport() is called multiple times for the same message by
    the adapter or if it is called for a message which was never delivered to the adapter by the messaging engine”. Contact the adapter vendor
    Should I have log this issue with Microsoft through Service request ? or is there any work around is there. Unfortunate is I cannot remove the reliable messaging from the service.
    Arun

    Hi,
    Is there any solution to this problem?
    I am getting the same issue "The transport proxy method MoveToNextTransport() failed for adapter WCF-NetTcp: Reason: "Messaging engine has no record of delivering the message to the adapter.
    This could happen if MoveToNextTransport() is called multiple times for the same message by the adapter or if it is called for a message which was never delivered to the adapter by the messaging engine". Contact the adapter vendor"
    I checked this link http://rajwebjunky.blogspot.be/2011/09/biztalk-dynamic-request-response-port.html, but
    in my case i am not using dynamic port.
    In my scenario, i have a number of dehydrated orchestrations that become active every Monday 6:00 AM UTC and make to calls to a WCF service, to spread out the load I have implemented a load distribution logic where orchestrations send request to service
    in every 1 minute (not at the same time). but still i get this error sometime.
    I have opened a ticket with MS support but thought that someone might have already found the root cause.
    Let me know if there is one.
    Thanks,
    Rahul
    Best Regards, Rahul Dubey MCTS BizTalk Server

  • BizTalk WCF-WebHttp Custom Headers per message

    Hi,
    I have a requirement to connect to a service using the WCF-WebHTTP adapter that requires add custom http Header "X-Auth: <Value varies for messageType>" per message.
    So am using dynamic Request-Response port to set HTTPHeaders dynamically per message. I am using following code to assign HttpHeaders in Message Assignment Shape.
    Msg_CogSrvReq(WCF.HttpHeaders)="X-Auth: "+<value that extracted from a another service>;
    However while testing these, am getting an error "X-Auth header not found in request" from the service.
    Why this HttpHeader not passing to the service while requesting? Is am missing anything?
    Thanks,
    Praveen
    Praveen

    Hi Praveen,
    I have seen this issue where when you try to set the HTTPHeader properties, the WCF-WebHTTP adapter
    ignores it and the outgoing message always goes without the custom HTTPHeader that’s been set in Orchestration.
    We had a similar situation like yours where I had to set a GUID as one of the properties in the HTTPHeader and needed to use WCF-WebHTTP
    adapter. Also if you use a static adapter and configure the properties, different GUIDs would not get generated per message instance, this is due to the way adapter initialize the message instances. So the only solution is to have dynamic GUID per message
    instance is using the dynamic port as you do.
    And for setting the dynamic HTTPHeader properties with WCF-WebHTTP adapter,
    I used a custom pipeline component with a code as below. Though you have the dynamic send port, your dynamic port need to have pipeline configured, in this case you can use a custom pipeline with a component in it will following code:
    public Microsoft.BizTalk.Message.Interop.IBaseMessage Execute(IPipelineContext pContext, Microsoft.BizTalk.Message.Interop.IBaseMessage pInMsg)
    pInMsg.Context.Write("HttpHeaders", "http://schemas.microsoft.com/BizTalk/2006/01/Adapters/WCF-properties", "X-Auth: "+<value that extracted from a another service>);
    return pInMsg;
    Check the following article in this context:
    http://www.codit.eu/blog/2013/04/30/using-httpheaders-with-wcf-webhttp-adapter-on-biztalk-2013/
    If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.

Maybe you are looking for

  • Vendor Confirmation using BAPI

    Can anyone suggest me how to do vendor confirmation using BAPI

  • Deployment Utility - log file errors/warnings not clear

    Hi, I'm doing my first deployment and have few questions: 1) I tried to deploy ONLY the TS user directories. I checked the 'Deploy Files in TestStand User Directories' option and did not check 'Install TestStand Engine' since I deploy it into a syste

  • Doubt in  Table Maintanace

    Hi,   Any one plz tell me what is the exact use of table maintenance, wht is the functionality. I am new for data dictionary

  • Questions cannot be answered

    A mixed presentation of information and quiz questions will sometimes freeze the questions saying "this question not answered fully" before the user has actually tried the question - and will at this stage not allow the questions to be answered. Once

  • PHP having a permanent status 'bar' at the top of page

    Hey all I'm doing a php project for my degree, I have to design and implement an auction site. Now, what I want is for there to be a bar (i.e. just a table row (two columns)) going across the top of the screen. One table cell holds my website logo, s