on 09-21-2015 9:37 PM
Dear guys
at the moment I am working on several interfaces where ONE source message have to be mapped to SEVERAL SINGLE target message, which differ in some sub-parts but also have common (equal) parts.
I am thinking of ways to reuse this mapping logic of this parts without replicating the mapping logic in each message mapping which leads to increased effort during modification of this common parts e.g. bug fixing.
sample
source message type: source_common is mapped to target message target_A as well as to target_B
target_A and target_B do have some equal parts which should be mapped equally.
I know the option to add all target message to one single message mapping using occurrency 0..1 but I prefer to use separate message mappings for each target message.
At the moment I think of a hybrd approach using mulit mapping
these two source messages are mapped to the final target message target_A
Testing these approache by manually test the two message mappings works fine the message envelope <ns0:Messages> ... is created. But I am not able to setup an operation mapping for this mutli mapping scenario.
Whiling spefifying one source (input MAPPING 1) and one target message (output MAPPING 2) I am facing following error message
Mapping program Message Mapping XXX does not match the operation mapping: Number or occurrence of message mapping source or target messages does not match number or occurrence of source or target interfaces.
Obviously the signature of the operation mapping is not fine. I tried to add the additional service interfaces/operations (target as well as source) but was not able to run the scenario successfully.
When I remove one mapping step and adjust the service interfaces/operations the test of the operation mapping is fine, but so far I could not find a service interfaces/operations setup to include both mapping steps and test the operation mapping.
For sure there is the possibility to define my own compositeMessage which includes both messages. Unfortunately the source message is defined as message type while the target message is an external definition (XSD) for my understanding this approach will not work out of the box and I have either include the source message as XSD as well or other way around.
Does anyone already face this issue or are there any further approaches to be able to use multi mapping in 1 to 1 scenario with buffering several messages.
Any help appreciated.
best regards
Jochen
Message was edited by: Jochen Gugel
Hi Jochen,
The best approach is to export source message type XSD and include in the target XSD and import as external definition.
The other option to return the common message part as XML (use the option return as XML in the message mapping). but then this part will be come to single node as XML. The problem will arrive when you need to map this part to target in next mapping. that you need figure out.
regards,
Harish
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Harish
thanks for your input.
as the message type is extended and the external definition is build up by several sub XSD files this is not an easy task.
Furthermore the XSD are normally placed in other SWCV and for my understanding referencing only works if XSD are in the same SWCV and namespace. So I have to replicate the XSD definitions.
Please correct me if I am wrong.
output als XML for sure is an option but it would be tricky to use it in the second mapping step and will lead to huge mapping effort.
for me the best solution would be to get the multi mapping error within operation mapping solved.
But I suggest that is not designed for this approach.
Do you have idea regarding the multi mapping approach?
best regards
Jochen
User | Count |
---|---|
87 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.