on 05-13-2008 4:08 AM
Hello,
I have following scenario.
SOAP (Request) -
> XI -
> RFC(Receiver)
SAOP (response) <----- XI <--
RFC
The above is synch. scenario.
This scenario is used by several clients. Now my question is as follows.
When a specific client request comes through, I do not want to map specific feilds in the mapping.
How would I do this?
I appreciate your help.
Thank you,
Balaji
Hi,
By using the sender function you can get the sender information.
In functions we have sender is there by adding this function to one field in the target system then automaticallu you will get the sender information.
suppose sender is add to one field suppose it is a(sender---->a) then automatically a will get the sender information.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Ramesh,
Thank you for the information. I have looked at Sender function in the constants and found out the value it gives you is the Service name (either business service or business system).
I am looking for where the messgae was sent from (request sent from). The end client who invokes the SOAP adapter could be AS400 or some standalone java application. I am looking for either ipaddress or dnsname form which the request was originated.How do I get it?
Thank you,
Balaji
>>I am looking for either ipaddress or dnsname form which the request was originated.How do I get it?
As far as i know,you can't get this information until and unless it comes in the sender payload.best option would be to use separate business service for different clients.in that way the standard function "Sender" will help you out,otherwise the sender system must send his ip or DNS.
secondly most of the companies do IP masking so you won't be able to get correct IP as well.
Thanx
Aamir
Hey,
In this case if you have client value is one of the fields then it becomes very easy for you.
you just need to compare the client field with the client number for which you want to by pass the values.
for example,
if there is say employee number, and you want to send it only for client 400, 500 and 600. then
your mapping for the field employee number will include an if condition like this.
if-->client(field) equals 400 or client(field) equals 500 or client(field) equals 600 then employee number.
use ifwithouelse function provided by XI.
in case you have many clients and graphical mapping becomes tedious you can also write a user defined function.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
there are two ways where you can handle this.
Either specify the condition in the mapping itself if the fields are few.
else have two mapping programs and specify conditions followed by client request.
If you still want to controlmore, use BPM.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
81 | |
25 | |
12 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.