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.

Similar Messages

  • WCF-WebHttp dynamic URL and Dynamic Header/Behavior configuration.

    HI,
    I have an requirement to integrate with the REST Services in BizTalk Server 2013 R2, And This REST Service URL and HTTP Headers will differs per message. So I had created an Orchestration with the Dynamic Request-Response port and assign the properties in
    Message Assignment Shape. However while testing HTTP Headers were not added to service request message.
    I had tried with create Custom endpoint behaviour and assigned this behaviour to service request in Orchestration, however this property also not assigned from the Orchestration.
    Is this a bug for WCF-WebHttp Adapter? Is any other options to achieve my requirement?
    Thanks,
    Raj
    Praveen

    Hi Praveen,
    Its a known bug already
    reported to Microsoft. 
    BizTalk 2013 servers that have been upgraded from BizTalk 2010 are missing
    some of the new global properties including HttpHeaders properties because
    of this even in orchestration we cannot change the HttpHeaders on messages.
    As a workaround WCF behavior extension
    can be used to solve this problem.
    Which can be downloaded from here.
    For the detailed explanation, I would adivce you to follow the below link on how to dynamically change
    the WCF-HttpHeaders for WCF-WebHTTP adapter.
    Dynamic
    WCF-HttpHeaders for WCF WebHttp adapter
    There is already a discussion going on around this on another post. Ashwin has also recommend to use custom pipeline component as a work around .
    Refer: BizTalk WCF-WebHttp Custom Headers per message
    Rachit
    Please mark as answer or vote as helpful if my reply does

  • 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

  • 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

  • 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 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)?

  • Can Wcf-Custom Adapter implement Wcf-WebHttp Functionality?

    Can the Wcf-Custom adapter implement the same functionality as the Wcf-WebHttp adapter in BizTalk 2013? In particular, can it provide the same functionality as the operation map and the variable map? If not, is there any other way to provide Wcf-WebHttp
    functionality without hosting an adapter in IIS with an isolated host?
    Thanks!

    Yes, but...
    You can set the mappings on outgoing messages with some new Context Properties.  This describes how to do it on a Dynamic Port, but it should work the same on a static port. 
    http://masteringbiztalkserver.wordpress.com/2013/11/11/calling-restful-service-using-dynamic-send-ports-biztalk-2013/
    The receive side is a bit different since I'm 97% sure all the mapping happens in the BizTalk Adapter (WS-WebHttp) not any of the binding elements.
    However, you can essentially replicate that functionality with a Custom Pipeline Component.  In that case you would use the WCF-Custom Adapter with the webHttpBinding.

  • Only one round trip to database from BizTalk per message irrespective of number of records in message per table.

    I am creating biztalk application to store the data into sql server.
    and my client says this line what i am not understood .
    "Only one round trip to database from BizTalk per message irrespective of number of records in message per table."
    Any one can help me to understand this line.!
    Thanks,

    One more option is -
    Create a stored procedure to perform batch insert, you can insert into any number of tables you want.
    --sample SP code...just added the steps you need to know to extract XML and perform insert
    CREATE PROCEDURE <SPName>
    @YourXML XML
    AS
    BEGIN
    EXEC sp_xml_preparedocument @idoc OUTPUT, @youXML
    SET @j = 1
                WHILE @j <= @recordCount
                BEGIN
                     SET @xpath = '//ns1:RootNode/Record[' + CAST(@j AS VARCHAR(11)) + ']'
                     ;WITH XMLNAMESPACES('record namespace' as ns0, 'rootnode namespace' as ns1)
         INSERT INTO YourTable
                      (field1, field2....field20)             
                      SELECT                                 
                            field1, field2....field20
                      FROM OPENXML(@idoc, @xpath, 2)
                            WITH(field1 varchar(2), field2 varchar(20)........field20 varchar(100))                        
                      SET @j = @j + 1
                END    
    END
    On BizTalk side its quite simple...generate schema for your stored procedure...and in your map transform your XML to StoredProcedure schema using CDATA.
    Hope it helps!!

  • 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.

  • Handling the exception in BizTalk WCF-SQL Receive Adapter

    As per Application, BizTalk connecting to SQL Server and executing the SP for polling the data. Occasionally  we are getting Timeout SQL exception in event log.
    Customer is asking why not BizTalk handling this kind of error messages.
    Please let me know how to handle exceptions in WCF Receive location.already i set the properties like Suspend request
    message on failur and  Include exception details in faults
    But the error message is returning in Eventlog and not reaching to biztalk
    one of the error message is
    Another one is :
    DB locks happening in SQL Server

    Yes definitely, you can "Enable routing for failed messages" and subscribed to the failed message.
    Later you can create a send port or orchestration with below filter conditions-
    "ErrorReport.ErrorType == Failed Message" .
    BizTalk demotes all the properties of this message to avoid unwanted subscription and promotes only below mentioned properties under ErrorReport namespace.
    Description
    ErrorType
    FailureCategory
    FailureCode
    InboundTransportLocation
    MessageType
    OutboundTransportLocation
    ReceivePortName
    RoutingFailureReportID
    SendPortName
    Check the below articles which provide good sample for the same.
    error-message-routing-pattern-demo-in-biztalk
    http://mscerts.programming4.us/application_server/biztalk%202009%20%20%20handling%20failed%20messages%20and%20errors.aspx
    Using Failed Message Routing
    You can also setup Backup transport feature, which will only get activated in case of failure.
    You can configure it to send emails as well.
    How to Configure Backup Transport Options for a Send Port
    Which one to choose between the two-
    Using the backup transport for SMTP would allow you to send an email, but that’s normally not a good solution because you’ll just get that message, with no context, and not really know what to do with it.  Failed message routing will let you setup filters
    based on the failures (types, descriptions, etc) and this way you can organize how you handle failures.  If a pipeline validation fails you can send the message to one place to be repaired where as if a transport fails (or something else) it can be handled
    in a different way. 
    https://social.msdn.microsoft.com/Forums/en-US/09256232-d92a-448b-9c8d-db6144afee84/enable-routing-for-failed-messages-versus-backup-transport?forum=biztalkgeneral
    Thanks,
    Prashant
    Please mark this post accordingly if it answers your query or is helpful.

  • How can I get this (non-BizTalk) WCF customBinding configuration into BizTalk? (see sample in post)

    I have a BizTalk app up and running that is currently using the WCF-BasicHttp Adapter. It's currently using only Message security using the UserName credential type and that is all working fine.
    Things have since changed, we are now required to accept Client Certificates at the Transport (IIS) level for authorization of the service and still continue to use Message security for authentication into the service.
    After much pain and searching, I was able to get this to work in a NON-BizTalk WCF environment basing my config of bits of this
    this post and ended up with the following customBinding configuration:
          <customBinding>
            <binding name="CustomCDARequestEndpointBinding">                    
              <textMessageEncoding messageVersion="Soap11" />
              <security authenticationMode="UserNameOverTransport" />
              <httpsTransport requireClientCertificate="true" />
            </binding>
          </customBinding>
    This resulted in a WCF client customBinding as such:
    <customBinding>
    <binding name="CDARequestEndpoint">
    <security defaultAlgorithmSuite="Default" authenticationMode="UserNameOverTransport"
    requireDerivedKeys="true" includeTimestamp="true" messageSecurityVersion="WSSecurity11WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10">
    <localClientSettings detectReplays="false" />
    <localServiceSettings detectReplays="false" />
    </security>
    <textMessageEncoding messageVersion="Soap11" />
    <httpsTransport requireClientCertificate="true" />
    </binding>
    </customBinding>
    </bindings>
    <behaviors>
    <endpointBehaviors>
    <behavior name="ohBehave">
    <clientCredentials useIdentityConfiguration="false">
    <clientCertificate findValue="6D0DBF387484B25A16D0E3E53DBB178A366DA954" storeLocation="CurrentUser"
    x509FindType="FindByThumbprint" />
    </clientCredentials>
    </behavior>
    </endpointBehaviors>
    </behaviors>
    This works perfectly fine in a NON-BizTalk environment and it seems to be the critical piece of configuration is the 
    <httpsTransport requireClientCertificate="true" />
    element. 
    The problem is, no matter what I try, I cannot find a similar setting in the BizTalk WCF-Custom/customBinding configuration anywhere.
    Does anyone know what my options are here?
    Can I edit the web.config directly?
    Is there another extension I can add to achieve the same effect in the BizTalk GUI?
    Can I code something in the orchestration to manually setup this receive location the why I'm proposing?
    I'm hoping someone out there knows more about this.

    Because the WCF-BasicHttp Adapter only surfaces certain properties, you can't use it for your purpose.
    Instead:
    Start with the WCF-Custom Adapter
    BindingType = customBinding
    Delete httpTransport
    Add httpsTransport (you will then see requireClientCertificate)
    Add the clientCredentials Behavior and set your options and credentials in the Credentials tab.

  • WCF-WebHttp REST configuration

    I'm trying to configure the WCF-WebHttp adapter to retreive data from a REST endpoint, specifically a contact in CRM.  I need to include a filter to return only the contact that I want.  When I include a hardcoded value in the Uri it works fine:
    <BtsHttpUrlMapping>
      <Operation Name="Query" Method="GET" Url="?$filter=bsg_ProLicenseNumber eq '74309'" />
    </BtsHttpUrlMapping>
    However, I need to use a parameter here.  I have configured a parameter in the variable mapping section called PCCNUM.  When I include that in my Uri I get an error:
    <BtsHttpUrlMapping>
      <Operation Name="Query" Method="GET" Url="?$filter=bsg_ProLicenseNumber eq {PCCNUM}" />
    </BtsHttpUrlMapping>
    Error:  The Uri Template '?$filter=bsg_ProLicenseNumber eq {PCCNUM}' is not valid; each portion of the query string must be of the form 'name=value', when value cannot be a compound segment. 
    I have tried several ways of formatting {PCCNUM}, (single quotes, double quotes, parenthesis, encoding, etc.) but no luck.  Any ideas?
    Thanks,
    Frank

    Hi,
    The Variable Mapping options in the Send Port are limited. Another option is to use an Dynamic Send Port. In that case you have full control over the URI in the Orchestration.
    How to Configure a WCF-WebHttp Send Port
    http://msdn.microsoft.com/en-us/library/jj572853(v=bts.80).aspx
    Calling Restful Service using Dynamic Send Ports – BizTalk 2013
    http://masteringbiztalkserver.wordpress.com/2013/11/11/calling-restful-service-using-dynamic-send-ports-biztalk-2013/ 
    Kind regards,
    Tomasso Groenendijk
    Blog 
    |  Twitter
    MCTS BizTalk Server 2006, 2010
    If this answers your question please mark it accordingly

  • Recordset per message in Sender File Adapter

    Hi Friends
    I have configured a sender file adapter to pick up *.txt files from a specific path, Since the file is having thousands of records it is failing to process the file at  PI level . In order to avoid the problem I have kept Recordset Set Per Message as 10 , but still PI is processing all the records into a single message. Please help me in troubleshooting it.
    Regards
    Suman.

    Hi Suman,
      Go thru these threads for troubleshooting...
    Massive file
    Processing huge file loads through XI
    Processing of huge no of Inbound xml files
    Bottleneck in Large file processing
    How to process large data files in XI  ?  100 MB files ?
    Regds,
    Pinangshuk.

  • Creation of Custom IDoc with Message control for sales Order

    Hi all,
    I am trying to create custom Outbound IDoc with message control.
    I wrote the code in a function module and i want to register that function module. (as in inbound registration of function module as in BD51).I am not knowing if that registration is necessary for outbound Idoc, if so in which transacition?
    Please list me the steps to create a custom IDoc for Message control.
    Thanks in advance,
    Regards,
    John.

    Hi,
    You need to use FM : MASTER_IDOC_DISTRIBUTE to create outbound idoc.fill the data in the tables EDIDC,EDIDD and generate the IDOC.
    check this link:
    Re: Master_IDoc_Distribute
    and use transaction : WEDI for IDOC configurations.
    here you will have all the transactions(step by step) to set the outbound IDOC configurations.
    Regards
    Appana

Maybe you are looking for

  • AIO no longer compatible with windows 8.1

    I have an HP AIO 8500 that I used to love.  After a recent windows update, I get the following I have completed ALL steps at LEAST 4 times, to no avail. I am ready to chuck this thing out the window. Any other suggestions?

  • Exporting .dv takes a long time

    Does anyone know why it takes so long to export a .dv file? I used to do it in FCP3 and it took about 1/3 real-time. Now, with FCP5 & QT7 it takes about 4x real-time. Thanks, g G5 dual 2gig   Mac OS X (10.3.9)  

  • Run Same Statement On Multiple Views

    I have about 2000 views that I need to run a select statement on.  I 1st need to run a query that will check if state = 'AR' and if it does, I need it to return either yes or the view name.  So for example, how could I run this one statement on all t

  • Recording sound with Siemens API

    Hello, there is only com.siemens.mp.media package instead of javax.microedition.media on my Siemens C55. It containes most of classes from MMAPI but class RecordControl is missing:( Is there some other approach how to record sound in java on this tel

  • XQuery Namespace Problem !

    Hello everyone... I'm trying to generate a Xdiff document using XQuery. First, i have tried to generate a static XDiff document using Xquery. I'm getting a problem with namespace. The XQuery I have written is select xmlroot(XMLQuery(' declare namespa