cancel
Showing results for 
Search instead for 
Did you mean: 

Synchronous File->Soap scenario with fault message

Former Member
0 Kudos

Hi!

I have a File to Soap synchronous scenario.

All is right when no exception is returned by the web service.

I want to use fault messages to catch thoses exceptions, so I have added fault message in message interfaces and in the mapping program in the interface mapping.

Now, when the web service return an exception like :


<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
   <soap-env:Body>
      <soap-env:Fault>
         <faultcode>soap-env:Client</faultcode>
         <faultstring xml:lang="en">NOT_CREATED</faultstring>
         <detail>
            <n0:Z_WS_CREATE_WAGON.Exception xmlns:n0="urn:sap-com:document:sap:rfc:functions">
               <Name>NOT_CREATED</Name>
               <Text> does not have packaging material type and is therefore not a pack.mat.</Text>
               <Message>
                  <ID>HUSELECT</ID>
                  <Number>041</Number>
               </Message>
            </n0:Z_WS_CREATE_WAGON.Exception>
         </detail>
      </soap-env:Fault>
   </soap-env:Body>
</soap-env:Envelope>

I get the following error :

<SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">

<SAP:Category>XIServer</SAP:Category>

<SAP:Code area="MAPPING">NO_MAPPINGPROGRAM_FOUND</SAP:Code>

<SAP:P1>http://www.arcelormittal.com/radis/rad IM_RAD_to_ZWsCreateWagon</SAP:P1>

<SAP:P2 />

<SAP:P3 />

<SAP:P4 />

<SAP:AdditionalText />

<SAP:ApplicationFaultMessage namespace="" />

<SAP:Stack>Interface mapping http://www.arcelormittal.com/radis/rad IM_RAD_to_ZWsCreateWagon does not exist in runtime cache</SAP:Stack>

<SAP:Retry>N</SAP:Retry>

</SAP:Error>

My mapping program for fault message is well defined (I tested it with the exception message received from the web service).

I have also refresh caches, but without success...

Can anyone help me ?

Thanks in advance,

Laurence

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

I have a File to Soap synchronous scenario.

You cant have file adapter synchronous .You need to use BPM to slove your problem or two asynchronous interfaces.

Regards

Sreeram.G.Reddy

Former Member
0 Kudos

Why not file adapter in synchronous mode ?

But if I use asynchronous mode, I can no more use fault messages...

Can you also explain the solution with BPM and with two asynchronous interfaces? When/why using the first solution and the second one?

Thanks a lot,

Laurence

Former Member
0 Kudos

Hey Laurence,

A File adapter is aysnchronous u cant use for synchrous because it cant acknwlodge the response it gets or itt sends.

regarding two asynchoronus

1. file to SOAP asychn.

2. triggger the second one if SOAP has exception then pass the error from SOAP to New File.

using BPM we have to use Transportion level acknowledgments

please reward points if it helps

Regards

Sreeram.G.Reddy

Former Member
0 Kudos

Thanks for your helpful response.

I have one more question : in case of no bpm, how to trigger the second asynchronous interfaces?

Laurence

Former Member
0 Kudos

your second interface is SAOP to XI . So you can decide in Sending system here SOAP system you can write a code when their is exception tigger this interface using webserives.

let me know if you haveany questions

Regards

Sreeram.G.Reddy

Former Member
0 Kudos

The web service has been created with a function module in abap.

Can you help me about the code to write for triggering the second interface (so SOAP to XI synchronous scenario) ?

Do you have samples ?

Thanks in advance,

Laurence

iaki_vila
Active Contributor
0 Kudos

If you service is conected with an RFC in a SAP System, probably this RFC generate an exception. Plese watch st22 transaction in these system and check the RFC doesn´t make a dump.

Shabarish_Nair
Active Contributor
0 Kudos

i would suggest a forcefull cache refresh.

1. execute SAI_CACHE_REFRESH in se38 (XI)

2. SXI_CACHE -> Complete cache refresh

Former Member
0 Kudos

I'm not sure the service is connected with an RFC but I have not found dump in st22 transaction...

Former Member
0 Kudos

Already the same problem after executing SAI_CACHE_REFRESH in SE38 and complete cache refresh in SXI_CACHE

udo_martens
Active Contributor
0 Kudos

Hi Laurence,

delete and recreate the interface determination. It will help

Regards,

Udo

Former Member
0 Kudos

Interface determination deleted and recreated... but already the same problem...

udo_martens
Active Contributor
0 Kudos

Hi Laurence,

did you choose the mapping at interface determination by help function or did you put it manually? Are you shure, that this interface determination was found?

Regards,

Udo

Former Member
0 Kudos

Hi Udo,

Yes, I choose the mapping by help function and I'm sure the interface determination is found because all is right when no exception is thrown in the web service.

Laurence

Shabarish_Nair
Active Contributor
0 Kudos

wrong post

Message was edited by:

Shabarish Vijayakumar