Messaging only: WCF-BasicHTTP adapter Request-Response correlation

Hi,
we have a solution where we make a soap web service call to a third party.
we do not want to use orchestrations.
we are in need to pass a value to the third party service and we would
like to have that value passed back to us in the response.
However, the third party is not guaranteeing this.
as an alternative, i tried promoting  a property into the context
before the outbound call and check if this is still available in the context when the response come thru.. but no luck here.
IS there any other way to achieve this?
regards,
MS

Hi MS,
What is your question? When you use Request-Response (Receive) port and solicit-Response (send) port, the correlation would happen out-ob-box with the help of EpmRRCorrelationToken, CorrelationToken and RouteDirectToTP
properties.
Are your not using the solicit-Response (send) which would take care of the correlation to  Request-Response (Receive) port. Ensure you're using the XML-Transit (on send) and XML-Receive (on receive) pipelines on these two way ports (in both Request-Response
(Receive) port and solicit-Response (send) port)
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

  • Error while posting to Webservice using WCF-BasicHttp adapter

    Hi,
    I am getting the below exception when i am posting a request to a .asmx webservice using the Wcf-BasicHttp adapter.
    I am able to call the same service with the SOAP adapter successfully. Could you please let me know any resolutions for the same.
    The adapter failed to transmit message going to send port "MySendPort" with URL "http://myservice.com/Web.Services/service1.asmx". It will be retransmitted after the retry interval specified for this Send Port. Details:"System.ServiceModel.ProtocolException:
    The content type text/html; charset=utf-8 of the response message does not match the content type of the binding (text/xml; charset=utf-8). If using a custom encoder, be sure that the IsContentTypeSupported method is implemented properly. The first 1024 bytes
    of the response were: '
    <html>
        <head><link rel="alternate" type="text/xml" href="/Web.Services/Service1.asmx?disco" />
        <style type="text/css">
            BODY { color: #000000; background-color: white; font-family: Verdana; margin-left: 0px; margin-top: 0px; }
            #content { margin-left: 30px; font-size: .70em; padding-bottom: 2em; }
            A:link { color: #336699; font-weight: bold; text-decoration: underline; }
            A:visited { color: #6699cc; font-weight: bold; text-decoration: underline; }
            A:active { color: #336699; font-weight: bold; text-decoration: underline; }
            A:hover { color: cc3300; font-weight: bold; text-decoration: underline; }
            P { color: #000000; margin-top: 0px; margin-bottom: 12px; font-family: Verdana; }
            pre { background-color: #e5e5cc; padding: 5px; font-family: Courier New; font-size: x-small; margin-top: -5px; border: 1px #f0f0e0 solid; }
            td { color: #000000; font-family: Verdana; font-size: .7em; }
            h2 { font-size: 1.5em; font-weight: bold; margin-top: 25px; margin-bottom: 10px; border-to'.
    Server stack trace:
       at System.Runtime.AsyncResult.End[TAsyncResult](IAsyncResult result)
       at System.ServiceModel.Channels.ServiceChannel.SendAsyncResult.End(SendAsyncResult result)
       at System.ServiceModel.Channels.ServiceChannel.EndCall(String action, Object[] outs, IAsyncResult result)
       at System.ServiceModel.Channels.ServiceChannel.EndRequest(IAsyncResult result)
    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.Channels.IRequestChannel.EndRequest(IAsyncResult result)
       at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient`2.RequestCallback(IAsyncResult result)".
    Regards,
    Ujjwal
    -Ujjwal

    Where does the HTML indicate that the Service is not running??
    The error message " The content type text/html; charset=utf-8 of the response message does not match
    the content type of the binding (text/xml; charset=utf-8)" points to a bug in the WCF-BasicHttp described here:
    http://social.msdn.microsoft.com/Forums/en-US/11796bf5-ba6a-4878-977e-5c854642f67c/the-content-type-textxml-charsetiso88591-of-the-response-message-does-not-match-the-content?forum=biztalkgeneral
    Although not 100% the same, the conclusion here was to still use the old Adapter :-(
    Morten la Cour

  • Moving from SOAP Adapter to WCF-basichttp adapter

    we are migrating the BizTalk server 2009 application into  BTS 2013.In The BTS 2009 application ,some of ports are configured with SOAP and SQL Adapters.
    So I recommended to customer that move from SOAP Adapter to WCF-BasicHttp and SQL to WCF-SQL.
    But customer asked me is that the best practice MS recommended for moving from SOAP to WCF-BasicHttp?
    Customer is asking let me explain few points why i have to move from SOAP to WCF-Http?
    Could you please help me how to convince him?
    Regards BizTalkWorship

    The SOAP adapter is deprecated in BizTalk Server 2010. You should use the WCF-BasicHttp to communicate with Web services and clients that conform to the WS-I Basic Profile 1.1. To communicate with Web services and clients that conform to
    WS-*, use the WCF-WSHttp adapter.
    Key benefits of WCF Framework
    Because WCF can communicate using Web services, interoperability with other platforms that also support SOAP, such as the leading J2EE-based application servers, is straightforward.
    . You can also configure and extend WCF to communicate with Web services using messages not based on SOAP, for example, simple XML formats like RSS.
    . Performance is of paramount concern for most businesses. WCF is developed with the goal of being one of the fastest distributed application platform developed by Microsoft.
    . To allow optimal performance when both parties in a communication are built on WCF, the wire encoding used in this case is an optimized binary version of an XML Information Set. Messages still conform to the data structure of a SOAP message, but their
    encoding uses a binary representation of that data structure rather than the standard angle-brackets-and-text format of the XML 1.0 text encoding. Using this option makes sense for communicating with the call center client application, because it is also built
    on WCF, and performance is an important concern.
    . Managing object lifetimes, defining distributed transactions, and other aspects of Enterprise Services are now provided by WCF. They are available to any WCF-based application, which means that the rental car reservation application can use them with any
    of the other applications it communicates with.
    . Because it supports a large set of the WS-* specifications, WCF helps provide reliability, security, and transactions when communicating with any platform that also supports these specifications.
    . The WCF option for queued messaging, built on Message Queuing, allows applications to use persistent queuing without using another set of application programming interfaces.
    Thanks
    Abhishek

  • Sender adapter request response bean not working for calling a webservice

    Hi All,
    In PI 7.31, My scenario :  SOAP sender Asynch-> PI -> HTTP Receiver Sync ->take response to call another webservice  (SOAP)
    I have configured request response bean and response one way bean in the sender adapter to make this work.
    Attached the screenshot of the module config in  the sender soap adapter. The final response from HTTP has to be used to call another webservice (not sender webservice)
    This giving an error "couldn't retrieve binding values for sender to receiver etc etc ----------"
    Has anyone configured response one way bean to call a webservice to submit? If so, please share the configuration details. And let me know if I am doing anything wrong
    thx
    mike

    Hi Michael,
    I think the adapter type is for the receiver channel looking at the documentation SAP Library - SAP Exchange Infrastructure
    Have you checked your receiver channel doesn't belong to a party?
    I havent tried this bridge with the http_aae but looks to be problematic according with Michal comment here http://scn.sap.com/community/pi-and-soa-middleware/blog/2014/01/28/generic-pi-async-sync-bridge-configuration-for-any-adapters#comment-454463
    Regards.

  • UsnernameToken authentication failed using WCF-BasicHttp adapter

    I have read the other topic that is identical to this, but there is no detail as to what was actually changed to allow Kerrey to override the default 256 character limit. So I figured I would start a new thread and see if someone can show me what my binding
    file should include to override this setting.
    thanks,
    Chuck
    Charles

    So, the problem is that somewhere in the BizTalk/WCF bridge layer, a password is cut off at 256.  The WCF-Custom Adapter has the same issue.
    You have two options.
    Biding File:
    Export a binding file.
    Trim all but the one Send Port where you need the long password.
    Fine the Password element in the TransportTypeData blob.  Yes, it's escaped Xml so edit carefully.
    Enter you long password, save.
    Import Binding file, then delete (so you don't have the clear test password anymore).
    SSO:  (This is the 'better' option)
    Create an SSO Affiliate Application
    Set the Service Credentials.  SSO will accept the long password.
    Set Use Single SignON and your Affiliate application in the Client Credentials dialog on the Security Tab.
    Somewhere prior to the Adapter (Orchestration, Send Pipeline) set the BTS.SSOTicket Context Property
    I've never tried the binding file option but SSO works great and is designed for such scenarios (storing passwords).

  • JMS Request - Response Correlation Not Working

    Hello Experts -
    I am new to OAG and hence seek your expert advice. Following is our use-case scenario:
    1. OAG needs to push a sample XML Message to Weblogic Request JMS Queue. In the Request tab of "Routing to Messaging System filter" I set the CorrelationId
    2. In the response tab wait for a timeout (I set to 600000 secs)
    3. Retrieve Response from the Weblogic Response Queue
    4. Send the Response back to the client
    When i invoke the OAG policy, I am able to post the message to the Request Queue. For my testing purpose, I manually get the correlation id from the request message in the request queue and then populate the same in the response message correlation id field and post the same to the response queue.
    Unfortunately I am not able to see the response back. Below is the log.
    Any help is greatly appreciated.
    Thanks!
    Dibya
    DEBUG   29/Jan/2015:23:38:55.677 [3220]     handle type text/plain with factory class com.vordel.mime.Body$1
    DEBUG   29/Jan/2015:23:38:55.677 [3220]     Added converted message is added to the whiteboard
    DEBUG   29/Jan/2015:23:38:55.677 [3220] } = 1, filter [Request Message on Queue(Set Message)]
    DEBUG   29/Jan/2015:23:38:55.678 [3220] Filter [Request Message on Queue(Set Message)] completes in 1 milliseconds.
    DATA    29/Jan/2015:23:38:55.678 [3220] LogManager logging {
    DATA    29/Jan/2015:23:38:55.678 [3220]     Logging at Success
    DATA    29/Jan/2015:23:38:55.678 [3220]     Calling write log on class com.vordel.log.trace.TraceLogger
    DATA    29/Jan/2015:23:38:55.679 [3220] }
    DEBUG   29/Jan/2015:23:38:55.679 [3220] run filter [Place Message on Weblogic Queue (Messaging system)] {
    DEBUG   29/Jan/2015:23:38:55.893 [2300] start thread 10706770 in set "netsvc threadpool": count=11, busy=10, idle target=4, max=512
    DEBUG   29/Jan/2015:23:38:56.388 [3220]     Set Reply to on a named queue: TokenJMSModule!SMAIPO.ActiveSubscriptionResponse
    DEBUG   29/Jan/2015:23:38:56.389 [3220]     creating consumer from QueueSession
    DEBUG   29/Jan/2015:23:38:56.758 [3220]     cache com.vordel.circuit.jms.JMSProcessor$PoolContextCache@19c45da grows to 3
    DEBUG   29/Jan/2015:23:38:56.759 [3220]     JMSProcessor message ID is: Id-ef18cb542c01000000000000bcac40f9
    DEBUG   29/Jan/2015:23:38:56.760 [3220]     Creating JMS byte message using automime
    DEBUG   29/Jan/2015:23:38:56.760 [3220]     new buffered content factory 10674640
    DEBUG   29/Jan/2015:23:38:56.760 [3220]     buffered content 10674640, size=0/8
    DEBUG   29/Jan/2015:23:38:56.761 [3220]     [10674640] new chunk 10541538 from 10606CC8 to 10606DFE (310)
    DATA    29/Jan/2015:23:38:56.761 [3220]     new content stack 105488F8
    DATA    29/Jan/2015:23:38:56.761 [3220]     push source buffered onto 105488F8
    DEBUG   29/Jan/2015:23:38:56.761 [3220]     Setting reply to named queue
    DEBUG   29/Jan/2015:23:38:56.761 [3220]     setJMSMessageID: Id-ef18cb542c01000000000000bcac40f9
    DEBUG   29/Jan/2015:23:38:56.761 [3220]     setJMSCorrelationID: Id-ef18cb542c01000000000000bcac40f9
    DEBUG   29/Jan/2015:23:38:56.762 [3220]     Calling post JMS creation hook
    DEBUG   29/Jan/2015:23:38:56.762 [3220]     Post JMS creation hook completed
    DEBUG   29/Jan/2015:23:38:56.762 [3220]     Sending JMS message to TokenJMSModule!SMAIPO.ActiveSubscriptionRequest
    DATA    29/Jan/2015:23:38:57.120 [3220]     trace transaction
    DEBUG   29/Jan/2015:23:38:57.121 [3220]     Wait for repsonse ? true
    DEBUG   29/Jan/2015:23:38:57.819 [2300] incoming call on interface localhost:8085 from ::1:63317
    DEBUG   29/Jan/2015:23:38:57.820 [2300] new connection 02F0FB08,  settings source incoming interface (allow 1.1=no, idleTimeout=60000, activeTimeout=60000, contentLength: req=no, res=no)
    DEBUG   29/Jan/2015:23:38:57.820 [2300] push SSL protocol on to connection
    DATA    29/Jan/2015:23:38:57.820 [2300] [SSL_accept, 00006000] before/accept initialization.
    DEBUG   29/Jan/2015:23:38:57.821 [2300] No SSL host name provided, defaulting to certificate: { subject: /CN=instance-1 }.
    DATA    29/Jan/2015:23:38:57.821 [2300] [SSL_accept, 00002110] SSLv3 read client hello A.
    DATA    29/Jan/2015:23:38:57.821 [2300] [SSL_accept, 00002130] SSLv3 write server hello A.
    DATA    29/Jan/2015:23:38:57.823 [2300] [SSL_accept, 000021D0] SSLv3 write change cipher spec A.
    DATA    29/Jan/2015:23:38:57.823 [2300] [SSL_accept, 000021E0] SSLv3 write finished A.
    DATA    29/Jan/2015:23:38:57.823 [2300] [SSL_accept, 00002100] SSLv3 flush data.
    DATA    29/Jan/2015:23:38:57.824 [2300] [SSL_accept, 000021C0] SSLv3 read finished A.
    DEBUG   29/Jan/2015:23:38:57.825 [2300] negotiated SSL cipher "DHE-RSA-AES256-SHA", session 00000000 (reused) peer cert /CN=nodemanager-1
    DATA    29/Jan/2015:23:38:57.825 [2300] client certificate: { subject: /CN=nodemanager-1 }
    DEBUG   29/Jan/2015:23:38:57.826 [30a4] incoming call on interface localhost:8085 from 127.0.0.1:63320
    DATA    29/Jan/2015:23:38:57.826 [2300] rcv 979 from max of 2048: <GET /api/monitoring/metrics/summary?timeline=10m&metricGroupType=Service HTTP/1.1
    Host: localhost:8085
    Accept: application/json
    Accept-Language: en-US,en;q=0.8
    authentication.subject.id: admin
    authentication.subject.role: API Server Operator:API Service Developer:Policy Developer:API Service Administrator:API Server Administrator:Deployer:KPS Administrator
    Authorization: Basic YWRtaW46Y2hhbmdlbWU=
    Cookie: avlastvisit=1411930906; avlastactivity=0; __utma=125953885.1884274842.1414410173.1414410173.1417627152.2; __utmz=125953885.1417627152.2.2.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=(not%20provided); utag_main=_st:1417668298258$ses_id:1417666771075%3Bexp-session; WT_FPC=id=cfc9b752-08a3-4756-8d26-c4ca2d77219f:lv=1417670100029:ss=1417670100029
    Host: localhost:8085
    Referer: https://xx1211000592.global.avaya.com:8090/
    User-Agent: Gateway
    X-Requested-With: XMLHttpRequest
    Connection: close
    X-CorrelationID: Id-f118cb54e204000000000000373fba90 1

    Hi Michael,
    I think the adapter type is for the receiver channel looking at the documentation SAP Library - SAP Exchange Infrastructure
    Have you checked your receiver channel doesn't belong to a party?
    I havent tried this bridge with the http_aae but looks to be problematic according with Michal comment here http://scn.sap.com/community/pi-and-soa-middleware/blog/2014/01/28/generic-pi-async-sync-bridge-configuration-for-any-adapters#comment-454463
    Regards.

  • HTTP adapter vs WCF-based adapter

    i have a requirement working with third party CRM system . Right now they are offering SOAP web service and saying HTTP adapter works, but I want to go for advanced technology like WCF based adapters. Which option is better? HTTP or WCF-based?? if it is
    WCF , what is the right WCF adapter to use. NOte: they are offering only SOAP.

    Hi,
    Off-course the WCF based option is better. And for your requirement you have to use WCF-BasicHttp adapter which is meant for ASMX-based
    Web services and clients that conform to the WS-I Basic Profile 1.1.
    SOAP VS WCF-BasicHttp Adapter points from MSDN article:
    WCF adapters documents per second rate is general be better than SOAP adapter. 
    SOAP adapter has the disadvantage of serializing and deserializing messages between .NET types and raw XML data which in some cases could result in unwanted data modification. WCF adapters take the approach of preserving the data stream. 
    WCF adapters publish what is essentially the same schema as will be used in the BizTalk runtime. In contrast, SOAP adapter returns metadata generated by reflecting on the .NET classes generated to represent the schemas. Since .NET does not preserve
    all the nuances of XSD schemas, the exposed WSDL may not accurately reflect the schemas used by the BizTalk runtime. 
    It is easier to migrate from WCF-BasicHttp to WCF-WSHttp if needed.
    Maheshkumar S Tiwari|User Page|Blog|BizTalk
    Server : How Map Works on Port Level

  • The Messaging Engine failed to register the adapter for "WCF-BasicHttp" for the receive location

    Could anyone please help in resolving the following
    error:
    Server Error in '/BizTalkXXXMyAppWcfService' Application.
    The Messaging Engine failed to register the adapter for "WCF-BasicHttp" for the receive location "/BizTalkXXXMyAppWcfService/XXXMyApp.svc".
    Please verify that the receive location exists.
    It does exist: When I go to All Artifacts >> Receive Locations I can see: WcfService_BizTalkXXXMyAppWcfService/XXXMyApp
    Also it is Enabled, green, up and running.
     …and that the isolated adapter runs under an account that has access to the BizTalk databases. – Checked, the BizTalkUser has all the permissions to access BizTalk databases.
    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
    Exception Details: System.Runtime.InteropServices.COMException: The Messaging Engine failed to register the adapter for "WCF-BasicHttp" for the receive location "/BizTalkXXXMyAppWcfService/XXXMyApp.svc". Please verify that the receive
    location exists, and that the isolated adapter runs under an account that has access to the BizTalk databases.
    Source Error:
    An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. 
    Stack Trace:
    [COMException (0xc0c01666): The Messaging Engine failed to register the adapter for "WCF-BasicHttp" for the receive location "/BizTalkXXXMyAppWcfService/XXXMyApp.svc". Please verify that the receive location exists, and that the isolated
    adapter runs under an account that has access to the BizTalk databases. ]
       Microsoft.BizTalk.TransportProxy.Interop.IBTTransportProxy.RegisterIsolatedReceiver(String url, IBTTransportConfig callback) +0
       Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfIsolatedReceiver`2.RegisterIsolatedReceiver(Uri uri) +318
    [AdapterException: Failed to register isolated receiver for address "/BizTalkXXXMyAppWcfService/XXXMyApp.svc"; receive location does not exist or is disabled.]
       Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfIsolatedReceiver`2.RegisterIsolatedReceiver(Uri uri) +875
       Microsoft.BizTalk.Adapter.Wcf.Runtime.WebServiceHostFactory`3.CreateServiceHost(String constructorString, Uri[] baseAddresses) +363
       System.ServiceModel.HostingManager.CreateService(String normalizedVirtualPath) +1423
       System.ServiceModel.HostingManager.ActivateService(String normalizedVirtualPath) +50
       System.ServiceModel.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath) +1132
    [ServiceActivationException: The service '/BizTalkXXXMyAppWcfService/XXXMyApp.svc' cannot be activated due to an exception during compilation.  The exception message is: Failed to register isolated receiver for address "/BizTalkXXXMyAppWcfService/XXXMyApp.svc";
    receive location does not exist or is disabled..]
       System.Runtime.AsyncResult.End(IAsyncResult result) +890624
       System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End(IAsyncResult result) +180062
       System.Web.AsyncEventExecutionStep.OnAsyncEventCompletion(IAsyncResult ar) +107

    Hi,
    This seems  to be a permission issue.
    Makesure account used in the application pool is a member of the BizTalk Isolated Host Users group.
    Also its working considering either make the ASPNET user account a member of your BizTalk Isolated Host Users group to make sure it has access to the biztalk databases (or change the asp.net services to run under a different account, which would need
    to be done from the framework's core .config files)
    Regards
    If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful.

  • The Messaging Engine failed to register the adapter for "WCF-BasicHttp"

    Hi,
    I have a strange problem with BizTalk 2013 on Windows 2012.
    It is with exposing an orchestration or schema as a web service, I always get the error "The Messaging Engine failed to register the adapter for 'WCF-BasicHttp' "
    This happens also am sure I did the followings:
    -Enabled the receive location
    -Have separate pool for each web service
    -The pool user is part of the Isolated Group & IIS_Users group
    -The user has access to BizTalk databases
    I tried the procedure on different environment, and it works just fine, what is causing this on this environment really I don't know!!
    Is there something I should do on the IIS?

    I just resolved it, the issue was with the server name exceeding 15 characters; which resulted in mismatch in credentials, since Windows will only take the first 15 characters.
    So, I shortened the server name to 15 characters, and everything now works fine.
    Thanks again,

  • EDI over WCF request-response port - how to catch failed messages and send response over a 2 way port

    I'm using BizTalk 2009.  I've written an orchestration for accepting 270's and returning 271's, and another for 276's and 277's.  The incoming and outgoing EDI stream is wrapped in XML.  I've published the schema using the WCF publishing wizard,
    and I am using the WCF-WSHttp adapter.  I have custom pipeline components to unwrap and wrap the XML, and to handle the NACK generated by the adapter.  Everything works fine if valid EDI is received. 
    However, I'm challenged with handling failures from the EDI disassambler.  The specification I've been given is to return a 271 or 277 in all cases (or as many as possible).  What I would like to do is catch the failed message, generate a (271
    or 277) response, and return that response over the 2-way port.  I know how to enable failed message routing and how to subscribe to the message if it were to come in over a one-way port.  It seems that this cannot be done when the message comes
    in over a 2-way port. 
    Any suggestions on how this can be done?

    I should have mentioned that turning off as much EDI validation as I can in the pipeline is already part of my approach.  However, to my knowledge, there are some validations (such as incorrect segment count in the SE) that cannot be disabled. 
    Regarding the TA1/997/999 - because this is a real time transaction, I'm not generating any.  Still, to take your suggest, I decided to generate a 997, thinking I could at least subscribe to it and if the 997 indicated a failure, to
    generate the response (in the form of a 271 or 277) that my trading partner is expecting.  What I found was that the 997 was being returned through the send pipeline of the 2 way port, EVEN WHEN I set RouteAckOn2WayPort to False on the receive pipeline! 
    This produces even more work for me, because now I have to "eat" the acknowledgement so that the 271 or 277 can get through.

  • Publish/subscribe in a request/response manner with WCF?

    Is it possible to make WCF service work in request/response manner using WCF duplex channels?
    Or is there any kind of automatic correlation between the messages when using WCF?
    I want to be able to attach WCF service to a topic, and when a request comes, the service to return result, that will be transformed to brokered message and returned over the bus to the caller.
    Thanks in advance!

    It could help, If there is a way to bind a relay endpoint to a topic...
    The scenario in details: I have a service that extracts an object from a database by given identifier. I want to be able to activate that service with a message over a topic. That part is OK, I've did it. But I want the service to return the extracted
    value over the topic (or another topic) but I do not want to change the service contract to be OneWay - for interoperability, I need the method in question to take one argument and return object.
    So that's why I am searching for a way to bind one message to call the service's method and when it is ready to transform the result in another message and publish it back on the bus.

  • Expose an orchestration as WCF service with a Request-Response port set to Direct Binding

    Hello , 
      I'm trying to expose an orchestration as a WCF service (while the Request-Response port is set to Direct binding) . Is this possible ? (the issue will be correlating back the response to the synchronous WCF request after the response is posted back
    to the Message Box by the Direct Send logical port).
    I have no problem in exposing the orchestration while I'm setting the Binding port to 'Specify Later' (What I'm trying to do actually is to expose a orchestration using different adapters (like Http and Wcf ) in the same time ).
    Thanks

    Yes, you can publish an orchestration as WCF/Web service which has direct bound request-response port.
    Subscription works based on “EpmRRCorrelationToken”
    and “RouteDirectToTP”. When you enlist the orchestration which
    has the direct bound request-response port (also published as service), its subscription are based on above two context properties and they take care of correction.
    And also the response matches to the request part of the port due to the nature of two-way communication protocol.
    Create an Orchestration with direct-bound request-response port and publish it as service. This will work. Give it a try
    Regards,
    M.R.Ashwin Prabhu
    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.

  • Using Request Response Bean Module in FILE Adapter

    Hi Experts,
    Can we use Request Response Bean Module in FILE Adapter in reverse way. That is can we configure thses adapter modules in Reciever file channel and call a sender file channel in it?
    My case is RFC to File synchronous case? How do we do this?
    Thanks & Regards,
    priyanka

    Can we use Request Response Bean Module in FILE Adapter in reverse way. That is can we configure thses adapter
    modules in Reciever file channel and call a sender file channel in it?
    My case is RFC to File synchronous case? How do we do this?
    The above is not possible....Bean works only for Sender channel and not for Receiver.....requirement not possible using even a BPM as FILE does not support SYNC communication in receiver end......max you can do is split the scenario into SYNC-ASYNC bridge.
    Regards,
    Abhishek.

  • Request Response Bean for SOAP Sender Adapter

    Hi Friends,
    Is it possible to use  Request Response Bean Module described (FIle to RFC to File here) for SOAP(sender) and JDBC(receiver) adapter?
    I want to configure SOAP to JDBC to JDBC scenario.
    http://wiki.sdn.sap.com/wiki/display/HOME/UsingRequestResponseBeanModuleinFILE+Adapter
    Scenario:
    I will do SOAP adapter call Asynchronously and JDBC receiver adapter will select data from database. This response will go back to SOAP adapter and then SOAP will divert this response to another JDBC adapter. This JDBC adapter will insert data into another database.
    I do not want to use ccBPM. Is there any design approach to implement this scenario?
    Thanks,
    Sandeep Maurya

    Hi Sandeep,
    SAP says SOAP sender adapter does not support Modules. You can serch Help.sap (for SOAP sender channel) to find the same.
    I would suggest to use AXIS adapter (provides all the functionality of SOAP) and supports the Modules as well.
    I have used the Module beans that you mentioned in the past... but it is not consistent with its processing.. sometimes it stucks with Message ID issue... I have seen same issue faced some other friends as well .. search on SDN you will find the issue with these modules...
    Using BPM would be another option...
    Thanks,
    Sunil Singh

  • Correlation with request response port

    I created a correlation type and correlation set on the behalf of File.ReceivedFilName context property.
    I am getting the initializing correlation set property in the send port as follows:
    But in Receive Port I am not getting the Following correlation sets property as follows:
    Why this is occuring ?
    Am I doing something wrong ?
    Is correlation supports with request response  port ?
    Prakash

    Hi Prakash,
    When you drop the Receive shape in your Orchestration, you would see both the “Initializing Correlation Set” and “Following Correlation Set” properties for the Receive Shape (same case for the Send Shape).
     When you have linked the Receive Shape to the Request-Response port in your Orchestration (Request-Response port whose Port direction of communication is set to “I’ll be sending a request and receiving a response” property), the “Following
    Correlation Set” property for the Receive Shape disappears (same case for the send shape). Because you have connected the send/Receive shape to the two send port and BizTalk can in turn handle the correlation. You don’t need to specify the correlation set
    properties explicitly. These properties need to be configured only when you configure your send/Receive shape to one-way ports where you need to instruct BizTalk on how to handle the correlation not when you configure send/Receive shape to two way send port.
    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