cancel
Showing results for 
Search instead for 
Did you mean: 

user defined search for target structure XML in PO 7.4

Former Member
0 Kudos

Hi All,

i wanted to configure a user defined search based on the target structure (mapped XML) content. Is it possible? Everywhere, I've seen the XPATH is taken from the source structure of outbound service interface/message type and this requirement is to take XPATH from the inbound service interface(target structure/message type). thx

mike

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hello,

Are u facing any issues while defining UDMS rule for inbound service interface??

Mention * in the sender component name along with actual receiver component while defining udms rule for inbound SI and then check.

Thanks

Amit Srivastava

Former Member
0 Kudos

Hi Amit,

Thx for your reply. I did like you said and I am still not getting any result while test search criteria. Message does not have any payload fields that match the available search criteria is the result. I tried both message direction inbound and outbound.

am i doing something wrong. I have tried giving inbound interface reciever component and * for sender component and search criteria as inbound message type path as XPATH with name space prefix as ns0 with namespace

thx

mike

Former Member
0 Kudos

any one pls?

engswee
Active Contributor
0 Kudos

Hi Michael

Yes, configuring UDMS for receiver interface is possible. Look through my screenshots below. Few things for you first:

Did you reindex after configuring and activating your filter & criteria?

Did you try with a fresh message in the system?

Here's my receiver interface payload. I have a UDMS for the following XPath - /ns2:MT_AccountingDocumentPost/MessageHeader/Filename

Set * as Sender component and select the receiver component, interface and namespace

Enter Xpath as the search criteria

Add the namespace for prefix ns2

After reindexing, I test it on an outbound message that is already in the system

If you still have any issues, please post your payload and the screenshot for all the steps as shown above.

Rgds

Eng Swee

Former Member
0 Kudos

Hi Eng,

thanks. very helpful. I did exactly like in the screenshot before also and no result.

The interface and namespace are outbound or inbound to  be given? I tried giving both but no use.

My scenario is having a java map to read the flat file and create a target XML

would the udms work for this case also ? and there is a recipient split where one receiver is ECC and other is the sender system itself. So, am using the inbound interface message type search for the ECC inbound message type in the udms. Make sense?

engswee
Active Contributor
0 Kudos

Michael

Can you confirm on the what I asked previously?


Did you reindex after configuring and activating your filter & criteria?

Did you try with a fresh message in the system?

Rgds

Eng Swee

Former Member
0 Kudos

yes Eng. I did reindex after configuring and activating the filter and criteria.

I can't try with a fresh message in the system at present because they wanted this search criteria to work some messages yesterday. So i did indexing for yesterday. Would this work?

engswee
Active Contributor
0 Kudos

Ok, just wanted to make sure that the reindex isn't the issue as quite commonly it is!

The interface and namespace should be for the inbound message to ECC. Since you are using a Java mapping, can you confirm if your target message type is created as an ESR message type or not?

If it's possible, then it would be useful if you can post your payload (the relevant parts of it) and also your configuration. Otherwise it would be quite hard to analyse further.

Former Member
0 Kudos

yes. Target message type is created as an ESR message type

Here is the mapped XML(inbound message type) payload where i am searching from .

I am searching

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<ns0:MT_OrderUpdate xmlns:ns0="http://eureka.com/ecc/a2a/transact/otc">

<Header>

<order>1234</order>

<weight>12lb</weight>

</Header>

</ns0:MT_OrderUpdate>

I don't have to give the configuration screenshots because its exactly like yours. pls believe me in this..and also I can't post without hiding some confidential details so doesn't makes much sense to post it by hiding things in configuration

thx

mike

engswee
Active Contributor
0 Kudos

Ok, that's fine, we'll work with what we have.

My guess is that you want to have a UDMS on the order field.

The xpath would be : /ns0:MT_OrderUpdate/Header/order

And the prefix would be ns0 = http://eureka.com/ecc/a2a/transact/otc

I think it should still work for a receiver based split. Just take the message payload after the operation mapping step for the ECC receiver and used that in the Test Search Criteria.

One thing just came to mind, do you have message logging set for after the mapping - AM step?

Rgds

Eng Swee

Former Member
0 Kudos

Hi Eng,

i haven't turned on logging for AM step. Do we need to for getting udms for inbound payload?

And also would the message id different for each steps? I have only MS step and taking the message id of that for test search criteria of udms. let me know pls

thx

mike

engswee
Active Contributor
0 Kudos

Hi Mike

Since nothing else have worked and your configuration is similar to mine, then I would suggest you to turn on logging for AM step and retry with a fresh message.

If you look at the following thread which was just resolved recently, everything was fine, it just needed a new message.

The message ID is the same for all steps, logging just saves a version of the payload and other message details at the particular step of the pipeline processing.

Rgds

Eng Swee

Former Member
0 Kudos

will do Eng..thanks

Former Member
0 Kudos

hi Eng,

It's very surprising result. It is bringing back result only if logging is active. is it normal? do I need to raise an oss message? If i want to use dynamic header attirbute as search criteria, will that work without logging? and what would be the best option without logging in the case of SOAP adapter as receiver adapter if I go for dynamic header search criteria. Customer is not interested in logging AM step. any examples of dynamic header search criteria for soap adapter including the code would be helpful if it helps to bring the result without logging step AM.

thx

mike

engswee
Active Contributor
0 Kudos

Hi Mike

Good to at least know why your UDMS was not working previously.

Hope that the following explanation helps.

Your requirement is to have a UDMS on the target XML. The target XML is generated from the mapping step, and in single stack PI, it is only available if there is logging at AM step. Without logging, there is no version of the target XML in the database, therefore nothing to run the UDMS search against. It is pretty normal, and I don't think it calls for an OSS message.

You just have to state the facts to your customer - if they want UDMS on the receiver side, it can only be achieved with logging of AM step. And there is nothing harmful with logging, the old dual stack used to have it for the after mapping step by default.

You are asking a different question with the dynamic header attribute, and I'll try to answer as best as I understand it. There is no code involved for UDMS, irrespective of the adapter. Again, if the dynamic header attribute value is only available after the mapping step, you will need logging.

Simply put, if you want UDMS on source XML or source dynamic header, no AM step logging required. If you want UDMS for target XML or after mapping dynamic header values, AM step required.

Hope this will help resolve this issue of yours.

Rgds

Eng Swee

Former Member
0 Kudos

Great help Eng..Appreciate and thanks a bunch

Answers (0)