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
-UjjwalWhere 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 BizTalkWorshipThe 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
mikeHi 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
CharlesSo, 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 1Hi 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) +107Hi,
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, -
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 ).
ThanksYes, 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,
priyankaCan 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 MauryaHi 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 ?
PrakashHi 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
-
Application store not working. I phone 4
Application store is not working, gives a blank white screen
-
Is apple going to refund my craigslist app purchase?
I purchased the craigslist app to review the personals section..... They have now blocked the personals in all craigs list apps..am i going to get a refund of my purchase price...whats next blocking safari from visiting inappropriate websites. Boo ap
-
Can we increase the size of column alias which is limited to 30
In simple words select ename as "alias having more than 30 characters here" from emp; CAn it be executed correctly somehow?
-
BADI name for filling search result CRMST_HEADER_OBJECT_BUIL
HI , I need to enhance search result for any component "BP_ACC_SEARCH_E" . I have identified view as BuPaSR and context node SEARCHTABLE . I have also identified the corresponding structure(CRMST_HEADER_OBJECT_BUIL) and even appended this structure
-
I have just started storing some files in iCloud. I want to make an alias for that file in iCloud and put it into my dock. When the file is on my computer, I can just drag and drop the file onto the dock and the alias is added. I tried that with i