Dynamic Routing using AQ Adapter
Hi
I am using AQ Adapter to configure my OSB Buisness services to enqueue/Dequeue messages to my AQ queues.
My requirement is to post messages to different Aq queues at runtime without having to reconfigure adapter everytime.
I tried the routing options,It only allows me to change the endpt url which is the Datasource name in aq adapter, but it doesnot allow me to change the queue_name at runtime.
Is there any other way of acheiving dynamic routing for AQ?
Thanks
Gayatri
Thanks for your reply, but i guess i have not been successful in explaining my requirement clearly.
I am not interested in changing the routing pattern at the AQ level using Alter propogation.
My requirement is at one step above this while posting a message to the source AQ queue.
For eg: My Multi consumer table name: Publisher_Table
queues in my Publisher_Table: 1.Pub1
2.Pub 2
3.Pub 3 and so on
I need to post messages on pub1,pub2 etc...however while configuring the AQ adapter for enqueue opertaion i had to hardcode my queue name to Pub1(One among multiple queues created).
My query is whether i can have this queuename as a variable,so that at runtime i can change the target, instead of having to configure multiple aq adapters one for each pub queue.
Thanks
Gayatri
Similar Messages
-
Dynamic Routing Using Query String (SOAP)
Hi Folks,
Does anyone have any examples on how to do a dynamic routing using a query string from a SOAP Adapter. I know how to get the query string but don't know how to map for dynamic routing.
Thanks,
AArhyn.After some further examination it seems that both calls are picked up by the same interface. In the RWB both the messages are picked up by the MIOS_GetDetails...
How can i fix this? -
BizTalk routing using SMTP Adapter
Hello, I have I an Orchestration , depending on STATUS field in Orch how can I send an email using SMTP Adapter ?
For eg : if STATUS = OK, send email saying file is OK
if STATUS = Error, send email saying file is Error
if STATUS= Pending, send email saying file is Pending
if Status =Paid, send email saying file is Paid
How can this be achieved using dynamic send Port ?
MBHHi,
Yes, you can achieve this using dynamic send ports.
In decide shape you can check the Status (It can be distinguished field or based on XPATH).
Dynamic Send Port where you set the appropriate email address on the message.
Read
this thread also about sending email dynamically.
You can also refer some good discussion
here.
Please mark as answer or vote as helpful if my reply does -
Dynamic query using DB Adapter
Experts,
I am using DB adapter to call a simple database query. I have selected the option of Execute Pure SQL and the query is -
SELECT DEPT_NAME,EMPLOYEE FROM DEPARTMENT WHERE EMP_ID IN ( SELECT EMPID FROM EMPLOYEE WHERE (DEPT_ID=#DEPTID))
When I run the query standalone on database passing the value of dept_id, it works perfect.
Additionally when I hardcode the value of #DEPTID in db adapter, it works succesfully. But if I use the above query passing DEPTID as input from my bpel process, it returns nothing.
Can anyone tell me where I am going wrong?
ThanksIt is better to have your query in stored procedure. It would help in avoiding deployments in case of a change.
Cheers! -
Wrt 160n router using N adapter
Have a 160N router that has performed fine using my G wireless adapters. Recently installed a wirless adapter with 300 mbps capability to attempt to to get the benefit of the "N" feature on the router. It works fine but it still connects at 54mbps, do i need to do somthing to get it to work at the higher speed?
What is the version number of the Router...?
Try the following settings on the router...
Under the Advance Wireless settings...Disable Frame Burst,Change N <script type="text/javascript">// // <![CDATA[ document.write("Transmission Rate") // </script> Transmission Rate to 15-130Mbps,Change Beacon Interval to 75,Change the Fragmentation Threshold to 2304,Change the RTS Threshold to 2304 and Click on Save Settings...
Power Cycle the router and check. -
Dynamic Queues using JMS Adapter - Possible?
Can anyone advise if its possible to dynamically set the JMS Queue DestinationName at runtime when using the JMS Adapter?
My guess is not, but I thought I'd ask anyway...
DennisHi Dennis,
Did u get a solution for this.
Even i have a same scenario where i have to select the destination queue dynamically.
Any help in this regards...
Regards
Ashwini -
we are trying to implement dynamic routing using xquery resource like in documentation http://edocs.bea.com/alsb/docs30/userguide/modelingmessageflow.html#wp1100135
when configuring proxy service while adding the expresssion:
<ctx: route><ctx: service isProxy=’false’>
{$routingtable/row[logical/text()=$test_ess/proxy/mes:inventory/mes:inv-id/mes:mac]/physical/text()}
</ctx: service>
</ctx: route>
get an error:
line 1, column 5: {err}XP0003: Invalid expression: unexpected token: :
Any suggestion?
TIAHello there....
For this issue.. try to stuck the sentences together like this:
<ctx:route>
<ctx:service isProxy='false'></ctx:service>
</ctx:route>
Which means without the space between "ctx:" and "route" -
Hi,
I have requirement where i need to dynamically call different WSDL with related xsd's. Currently i have two target system & i have two xsd's. But in future suppose third taregt system will come in picture than i need to change configuration & code will work without changing & deploying original code. Is this possible in BPEL? If yes, could you please provide tutorial related that.
I heard that using mediator we can achive that but i could not able to find any docs for dynamic routing using mediator.
ThanksHi,
I had dealt with dynamic routing in BPEL not sure about mediator though.
You can check the following link.
http://www.oracle.com/technology/pub/articles/bpel_cookbook/carey.html
Thanks,
Mohammad -
Task assignment adapter - dynamic route to either group or user
I have configured an approval process in design console and I want to be able to dynamically route the approval request to either the target user manager OR a group. I have written logic/code to automatically determine what group or user to route the request to and also to set the key type to either user or group depending on my logic conditions.
This code is executed in a task assignment adapter and set the values for the key type and key depending on the logic.
i.e. the key type would be "user" and key would be the user key for the target user manager, if my logic determines it should be routed to a manager
OR
the key type would be "group" and key would be the group key for the approval group, if my logic determines it should be routed to a group
HOWEVER MY PROBLEM is with assigning the adapter to a process task. I am thinking I would need to have two entries in the Assignment tab of the process task. The first entry has the default rule and I assigned the target type to "group" and include my adapter here.
How do I go about assigning the second entry for target type "user"? Since "Default" is the only rule option and I am not able to use it twice.
I tried to create a rule in the Rule Definition form and create a Task Assignment rule that might do something to check if a task is assigned to "user", so that I can have this as my second rule in the Assignment tab of the process task and if it is true, it would call my adapter that would return the key for the target user's manager.
I DO NOT KNOW what conditions to set in the Rule Element window for the Task Assignment rule. Can someone tell me what to do here OR provide me with a better alternative.Thanks for all the responses. Approvals are now being routed correctly.
I have a follow-up question though........ I created a process adapter to send notifications to either the target user manager or members of the group that is the approval is routed to.
I have a notification process task as part of my approval process and in its Integration tab, I added my process adapter that sends notifications.
The code for the adapter uses the same logic I described in my original question to determine if the approval is being routed to a user of group. If it is routed to a group, the notification adapter identifies members of the group and sends email to them, this part works fine.
However the problem is when the logic determines it should be routed to the target user's manager. One of the variables of this notification process adapter is username of the target user. Using that username, my code determines who the manager, gets the manager's email address and sends the email. Problem with this is that when mapping variables for process adapters in the Integration tab, in the Map To field, it does not give you the option of mapping to Request Target User, which would have provided me with user attributes of the target user such as the user name. It provides option for the Requester, but my reality is that the Requester is not always the Target User.
Any suggestions for fixing this would be greatly appreciated. -
Hi
I have posted this query in AQ forum,am posting this again in adapters forum hoping to get some solution for the below issue.
I am using AQ Adapter to configure my OSB Buisness services to enqueue/Dequeue messages to my AQ queues.
My requirement is to post messages to different Aq queues at runtime without having to reconfigure adapter everytime.
For eg: My Multi consumer table name: Publisher_Table
queues in my Publisher_Table: 1.Pub1
2.Pub 2
3.Pub 3 and so on
I need to post messages on pub1,pub2 etc...however while configuring the AQ adapter in jdev for enqueue opertaion i had to hardcode my queue name to Pub1(One among multiple queues created).
My query is whether i can have this queuename as a variable,so that at runtime i can change the target, instead of having to configure multiple aq adapters one for each pub queue.
Is there any other way of acheiving dynamic routing for AQ?
Thanks
GayatriHi Gayatri,
There is no option other than hard-coding the queue name but your use case can be addressed in OSB easily.
Create Business Services for each and every queue and in proxy message flow use dynamic routing action to determine at runtime that which Business Service should be invoked. To know more about dynamic routing action in OSB, please refer-
http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/userguide/modelingmessageflow.html#wp1100135
Re: OSB proxy service lookup
Regards,
Anuj -
Need Dynamic attributes for XI adapter to use in Dynamic Configuration ..!!
Hi Friends,
We are planning send message to different receivers through XI adapter by using Dynamic Configuration.
Can anyone please tell me what are the dynamic attributes used for XI adapter.
In my scenario, I want to pass the Service Number and Path prefix of XI adpater dynamically by using sender ID from Idoc payload.
I know how to use the dynamic configuration UDF in message mapping. But I don't know the dynamic attributes which we can pass to Service Number and Path prefix of XI adpater.
Kindly suggest ..
Thanks
Deepthi.Hi Sourabh,
>> You need to set these attributes explicitly in the adapter configuration..
Can you please elaborate on this like how to implement this? Do we need to use any module configuration in the adapter?
We will use XI adapter only while sending the data directly from IE without using any feautures of AE (like adapters, modules etc). It is like directly sending data from ABAP stack without using J2EE stack. That is the reason we can't use any Modules in XI adpater and it is in disabled by default.
When I checked in SXMB_MONI.. as you said details are found in
- <SAP:Attribute>
<SAP:Name>host</SAP:Name>
<SAP:Value>10.190.25.16</SAP:Value>
</SAP:Attribute>
- <SAP:Attribute>
<SAP:Name>httpDestination</SAP:Name>
<SAP:Value />
</SAP:Attribute>
- <SAP:Attribute>
<SAP:Name>path</SAP:Name>
<SAP:Value>/rcvA/receiver</SAP:Value>
</SAP:Attribute>
- <SAP:Attribute>
<SAP:Name>port</SAP:Name>
<SAP:Value>8210</SAP:Value>
</SAP:Attribute>
XI adapter uses mainly three parameters Host, Port and Path.
I want to pass any two of these values dynamically to achieve my solution. Can you please suggest your solution how we can implement it.
-Deepthi. -
How to change the JCA JNDI dynamically using FTP Adapter
We have 5 FTP Servers, each having a directory to poll. We have created 5 CCI instances for these FTP Adapters in the FTPAdapter deployment. We created a BPEL process and using FTP Adapter to connect to above mentioned servers.
Question: Customer's requirement is to use a single BPEL process to poll all these FTP Servers at a specified date and time. How can we connect dynamically to each FTP server at specified time.
(OR)
Is there any way to change the JCAJNDI dynamically in a FTP Adapter configuration ?
I have seen that FTP Adapter POLL doesnt take any JCA JNDI/hostname/un/pwd/date/time dynamically.
Regards
PavanHi Pavan,
It's possible to change the JNDI dynamically but only when you use put operation where you can control the JNDI name at the time of invoking the FTP Adapter as described in below link.
Dynamic JNDI in FTP Adapter | jca.jndi property not picked by Adapter
However, can you consider using BPEL process with SyncRead (and read files through all the JNDIs in a loop) and scheduling this BPEL process to a desired frequency?
Regards,
Neeraj Sehgal -
OSB Dynamic service call or dynamic route and transactions
Hello,
I've got the following problem in my OSB architecture for asynchronous incomming services.
OSB version is 10.3.1
ConnectionFactory is XA
Problem domain:
Dynamic service call or dynamic route within transaction boundary
Elements within transaction:
1. JMS Queue ->
2. Upper Proxy Service (De-queue) ->
3. Lower Proxy Service (Canonical Service) ->
4. Business Service (Data Service) ->
5. Database Adapter->
6. Database
Dynamic element
Upper Proxy Service (De-Queue) must be able to determine which Lower Proxy Service (Canonical Service) has to be called on the basis of the message taken from the JMS Queue without losing the transaction (this doesn’t work yet).
Already tried possible solutions:
• Make a service call dynamic by setting the $inbound name attribute. This results in a this property is read-only error.
• Use a Dynamic route instead of a service-call. This results in a loss of transaction. The message is deleted from the Queue without taking failure or success into account.
• Use a Dynamic route with a quality of service set to exactly once in the header. This seems to be ignored, results in a loss of transaction.
• Use a Dynamic route with an explicit reply with failure for errors. Results in a loss of transaction.
• Use a Dynamic Publish. This doesn’t fit the required flow because it has no response.
I hope someone can shed some light on this because I'm at a total loss. I found some references in the forum to what seems to be the same problem but without definite answers. A work-around is also a viable answer.
Regards,
Bas MulHi,
I'll try to clarify.
Upper proxy dequeues a message.
Depending on a value of a specific tag within the message a canonical proxy service (out of 5 at the moment but this numer could increase) has to be called (and be dynamic transform transformed to the format of the specific canonical).
The canonical service must then pass the message to a database adaper's business service which is responsible for the database insert/update/read.
If something in the chain from dequeue to database action goes wrong the message may not dissapear from the queue.
Somehow a dynamic route in the message flow between dequeue proxy and canonical proxy breaks the transaction.
Bas -
Cisco ASA 5505 - outside can't DHPC as router use same range
Hi
Im new to the ASA and is trying to setup at test net. The ASA is connected to my router on port zero using DHPC.
(Or i guess its not as the router use the same ip range as ASA does inside).
I tried to set a static IP in the same range (eg. 192.168.1.20) but then get the message "cannot overlap with the subnet of interface inside".
So I belive that is why it dont get a IP from my router - it does show up in the router DHPC table as 192.168.1.5 but ASDM home says outside "no IP address".
I tried to change the inside range of the ASA but if I change the inside IP i loose connection.
(Had to restore factory-default useing the console).
I guess I could setup another range using the console, but how?
How can I setup this test net?If I need to save I did not. (I have not used the console before).
Found the: "write memory" and reload command.
I cant connect to the asa using ADSM-IDM Launcher (from PC connected to the inside lan).
It seems that the asa DHPC server does not work.
And: show running-config
ciscoasa# show running-config
: Saved
ASA Version 8.2(5)
hostname ciscoasa
enable password 8Ry2YjIyt7RRXU24 encrypted
passwd 2KFQnbNIdI.2KYOU encrypted
names
interface Ethernet0/0
switchport access vlan 2
interface Ethernet0/1
interface Ethernet0/2
interface Ethernet0/3
interface Ethernet0/4
interface Ethernet0/5
interface Ethernet0/6
interface Ethernet0/7
interface Vlan1
nameif inside
security-level 100
ip address 192.168.2.1 255.255.255.0
interface Vlan2
nameif outside
security-level 0
no ip address
ftp mode passive
pager lines 24
logging asdm informational
mtu inside 1500
mtu outside 1500
icmp unreachable rate-limit 1 burst-size 1
no asdm history enable
arp timeout 14400
global (outside) 1 interface
nat (inside) 1 0.0.0.0 0.0.0.0
timeout xlate 3:00:00
timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02
timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 mgcp-pat 0:05:00
timeout sip 0:30:00 sip_media 0:02:00 sip-invite 0:03:00 sip-disconnect 0:02:00
timeout sip-provisional-media 0:02:00 uauth 0:05:00 absolute
timeout tcp-proxy-reassembly 0:01:00
timeout floating-conn 0:00:00
dynamic-access-policy-record DfltAccessPolicy
http server enable
http 192.168.1.0 255.255.255.0 inside
no snmp-server location
no snmp-server contact
snmp-server enable traps snmp authentication linkup linkdown coldstart
crypto ipsec security-association lifetime seconds 28800
crypto ipsec security-association lifetime kilobytes 4608000
telnet timeout 5
ssh timeout 5
console timeout 0
dhcp-client client-id interface outside
dhcpd auto_config outside
threat-detection basic-threat
threat-detection statistics access-list
no threat-detection statistics tcp-intercept
webvpn
class-map inspection_default
match default-inspection-traffic
policy-map type inspect dns preset_dns_map
parameters
message-length maximum client auto
message-length maximum 512
policy-map global_policy
class inspection_default
inspect dns preset_dns_map
inspect ftp
inspect h323 h225
inspect h323 ras
inspect rsh
inspect rtsp
inspect esmtp
inspect sqlnet
inspect skinny
inspect sunrpc
inspect xdmcp
inspect sip
inspect netbios
inspect tftp
inspect ip-options
service-policy global_policy global
prompt hostname context
no call-home reporting anonymous
Cryptochecksum:5085ad55b43198c7490b2edfee450906
: end -
Sending an email with text Content using SMTP Adapter.
I am trying to send an email Message with the .txt attachment using SMTP adapter. I am getting an XML input and I am mapping the input Schema to Flat File Schema. I am trying to Send this Flat File(.txt attachment) in the Email. But I am receiving it as
HTML format only.
The Expression in the Message Transform is,
SMTPUtils.Part.SetContentType(OutgoingFlatFile_Msg.BodyFlatFile,"text");
OutgoingFlatFile_Msg(SMTP.EmailBodyTextCharset)="UTF-8";
DynamicEmailPort(Microsoft.XLANGs.BaseTypes.Address) = "mailto:[email protected]";
OutgoingFlatFile_Msg(SMTP.CC) = "[email protected]";
OutgoingFlatFile_Msg(SMTP.Subject) = "TESTMAIL";
OutgoingFlatFile_Msg(SMTP.From) = "[email protected]";
OutgoingFlatFile_Msg(SMTP.SMTPHost) = "smtp.org";
OutgoingFlatFile_Msg(SMTP.SMTPAuthenticate) = 0;
The Email attachment is HTML format,
<?xml version="1.0" encoding="utf-8"?><ns0:Root xmlns:ns0="http://SampleSMTPEmail.OutgoingFlatFile"><Record><CustomerID>Cus001</CustomerID><OrderID>Ord001</OrderID></Record></ns0:Root>
How to attach the .txt file to the email.Have you tried the following steps:
Create the message (“msgEnvelope”) as a Multi-Part message, with the required message in the Message Body Part (“Attachment”)
Set the following properties of the Envelope Message:
msgEnvelope(SMTP.Subject) = <Email Subject>;
msgEnvelope(SMTP.From) = <Sender Email>;
msgEnvelope(SMTP.SMTPHost) = <Email Host name>";
// This is the default value
msgEnvelope(SMTP.SMTPAuthenticate) = 0;
// Set the message text included in the email
msgEnvelope(SMTP.EmailBodyText) = <Text in body of email>;
// Important - This is required if the EmailBodyText is set
msgEnvelope(SMTP.EmailBodyTextCharset) = "utf-8";
// A value of '1' means include Message Body Part as email attachment
msgEnvelope(SMTP.MessagePartsAttachments) = 1;
Set the following properties of the Message Body Part (“Attachment”):
// Important - Change this MIME type if not sending a Text file
msgEnvelope.Attachment(Microsoft.XLANGs.BaseTypes.ContentType) = "text/plain";
// Set the Filename of the attachment
msgEnvelope.Attachment(MIME.FileName) = <Physical name of the attachment>;
Set the following property on the Dynamic Send Port:
// We set the Email Address on the Port itself
Dynamic_Send_Port(Microsoft.XLANGs.BaseTypes.Address) = <recipient email address>;
http://biztalktalk.wordpress.com/2008/08/28/sending-attachments-through-a-dynamic-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
-
[SOLVED]ncurses applications non-English characters instead of lines
Here's a screen shot to illustrate what's happening: http://i.imgur.com/SJv0B.png It only seems to happen when I'm in X. If I'm just at the console without X, I see everything as it should be, but in X, the ncurses apps display stragely like this. I
-
Hi, I want detailed config steps for vat on sales. Please provide a detailed list of config settings. Thanks CHEERS
-
Can PrE do multiple specific frame searches?
I'm trying to find a not too expensive editing program, possibly PRE 10, that will allow me to do a search in a video for specific frame locations based on criteria within a frame. I've done exhaustive searching on web to no avail so far. I've been u
-
Daemon requires root privileges (failing to execute on startup)
Greetings, I am trying to get this daemon to run on startup. Systemd loads it successfully on startup, but when it trys to run the daemon it outputs an error and therefore it is does not run: Process: 1041 ExecStart=/usr/bin/pommed -f (code=exited, s
-
SSID broadcast vs.non-broadcast
SSID to Broadcast or not to Broadcast. I know how each option works but which option should be used in a corporate environment. I'm sure there are viable reasons to use both but i guess i'm looking for best/standards practices. Thanks, Tim