cancel
Showing results for 
Search instead for 
Did you mean: 

SOAP Axis Receiver

Former Member
0 Kudos

Hi there experts,

I've got an interface that sends to an external webservice some infor regarding daily currency changes. The webservice is getting the right info, but I've got an issue with the response.

The webservice replies an XML message formed by a slightly different XML structure. The payload is arriving splitted in two parts, one named document-0 (which I assume is somehow the header) and the other one named document-1 (which is the payload I actually need to map and send to the abap proxy).

Is there any way or any adapter configuration that allows me to either ignore the first payload half or indicate which of the payloads (document-0 or document-1) is the right one that should be considered for the data processing??

Please find attached the payload, at the sxmb_MONI I've got no error, since it's mapping as a response the first payload.

Does anyone have any hint?

Thanks a lot in advance!!

Cheers,

Edu

Accepted Solutions (0)

Answers (1)

Answers (1)

engswee
Active Contributor
0 Kudos

Hi Edu

Did you consider using Payload Swap Bean?

Adding PayloadSwapBean in the Module Processor - Adding Modules to the Module Processor - SAP Librar...

You can add the module after the execution of the SOAP adapter module Bean to process the response message.

Your parameters would be something like below:-

swap.keyName = Payload-Name

swap.keyValue = document-1

Rgds

Eng Swee

Former Member
0 Kudos

Hi Eng Swee,

thanks for your promt reply! I've added that bean, but now I've got some doubts regarding the Module Key, should I let it as the default value or change to Payload-name?

cheers,

Edu

Former Member
0 Kudos

Hi again Eng Swee,

I've added that bean and though it's getting processed, I think I might be doing something wrong because at the moni I see same response 😞

any hint?

Cheers,

Edu

engswee
Active Contributor
0 Kudos

Hi Edu

The config is incorrect.

In the module chain part, you can give the module key any arbitrary name, such as Swap.

Make sure the module key that you used in the top part for Processing Sequence matches EXACTLY the module key in the bottom part for Module Configuration.

Then in the lower section for module configuration, it should be as follows:-

Module KeyParameter NameParameter Value
Swapswap.keyNamePayload-Name
Swapswap.keyValuedocument-1

You can check a sample screenshot of how the PayloadSwapBean configuration used in the following Wiki (at end of step 2)

Step by Step to Update the Mail Attachment in AL11 using Mail, NFS adapter through SAP PI - Netweave...

Rgds

Eng Swee

Message was edited by: Eng Swee Yeoh

Former Member
0 Kudos

Hi Eng Swee,

Ok, now I get it. I'll give it a try and then I'll come back with any update!!

cheers,

Edu

Former Member
0 Kudos

Hi Eng,

no success I'm afraid. Keep seeking for the bug. Maybe it has something to do with the multiref handling at Axis adapter.

cheers,

Edu

engswee
Active Contributor
0 Kudos

Hi Edu

Can you please share screenshot of the module tab, both the processing sequence and the module configuration for the swap bean?

Also, can you share the screenshot for the audit log, with the details before the swap bean is called and also when the bean is called?

If the swap is successful, there should be some messages in the audit log indicating that. Please see an example in the screenshot of my answer to the thread below.

Mail Sender adapter issue in PO7.4

Rgds

Eng Swee

Former Member
0 Kudos

Hi Eng Swee,

Here I attach the screenshots. I don't know why they've got the first steps at the adapter module, it was working before they've asked me to fix the payload issue.

Should the processing sequence be changed? also, should I restart at some point the communication channel?

Thanks a lot for your help, I'm a little bit lost here!

I assume the payload swap bean is not doing anything at all. I am wrong?

cheers,

Edu

engswee
Active Contributor
0 Kudos

Hi Edu

The processing sequence looks fine. Even the Axis Adapter FAQ in OSS note 1039369 states that for response, it is after the second AFAdapterBean module.

I have no idea why your audit log does not show any indication that the swap processing was executed.

If this does not work, the only other approach I can think of would be to use a Java mapping for the response part to access the attachment and map accordingly.

Rgds

Eng Swee

Former Member
0 Kudos

Hi Eng Swee,

now I see that maybe I should reimport some metadata or deploy the Axis Adapter, since I've got no 'do not use SOAP Envelope' opcion at the adapter configuration, and that might be a problem since XI cannot handle childs at the payload beyond the first one (it just take the first one and ignore the rest of them).

Cheers,

Edu