Fault message handling in syn proxy
Hi Experts,
I have implemented Proxy to Web service synchronization scenario and implemented request response and fault message mapping.
But when the scenario is getting the Application error the fault message is visible in sxmb_moni but not visible in the proxy or not being forward to proxy ?
Can you help if there is any more config or any other follow up is required, all the mapping and other part of fault message is as per PI standard only including the proxy ABAP code?
regards,.
Hi,
But when the scenario is getting the Application error the fault message is visible in sxmb_moni but not visible in the proxy or not being forward to proxy ? - In your R/3 system by transaction SXMB_ADM, then integration engine configuration - specific configuration - in RUNTIME add parameter for logging and tracing and set it to maximum level...........also LOGGING_SYNC parameter should be enabled................
then re-run your scenario..........then for a application fault msg in SXMB_MONI of XI, you should see a fault msg in SXMB_MONI of your r/3 system.
Regards,
Rajeev Gupta
Similar Messages
-
Fault message in asynchronous ABAP Proxy
Hi,
I have a question about fault messages in asynchronous ABAP proxy server.
The configured scenario is SOAP XI ABAP Proxy. Between XI and the ABAP Proxy I have configured an inbound asynchronous interface with a fault message, and then I have generated all the classes and implemented some code for exception handling in the ABAP Proxy side successfully.
When I tested negative cases, the exception raises and it is visible in the SXMB_MONI transaction in the R/3 side, but this exception is not displayed in the SXMB_MONI of XI it just displays a successful delivery to the ABAP Proxy message.
According the XI documentation it says <i>In the asynchronous case, you can see a fault message in the monitoring of the Exchange Infrastructure.</i> But this is not working.
Am I missing something?Hi,
This parameters are form group RUNTIME.
Please check it:
http://help.sap.com/saphelp_nw04/helpdata/en/d6/49543b1e49bc1fe10000000a114084/content.htm
Regards,
Wojciech -
Exception using fault message in java server proxy.
Hi All,
I am trying to use Fault message inside my server proxy code in Asynchronous java server proxy. I am referring the below mentioned link :
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/d06315a6-e66e-2910-039c-ba8bbbd23702?quicklink=index&overridelayout=true
I successfully deployed my SDA file but while running the scenario(http-XI-ftp in PI7.11) i am getting the folowing exception under MDT:
com.sap.engine.interfaces.messaging.api.exception.MessagingException: Error processing inbound message. Exception: Cannot locate proxy bean ServerProxyFTTest3.
I am using the following library refernces under application-j2ee-engine.xml file: com.sap.aii.af.sdk.lib, com.sap.aii.proxy.svc, com.sap.xi.util.misc,com.sap.guid,com.sap.exception all of type "weak".
I have checked almost all the forums related to fault messages in asynchronous java server proxy but couldn't find much help.
Request you all to help me.
Thanks
AmitHi Rajesh,
I am deploying my SDA file on Non Central Adapter Engine.
I have also registered my interface using:
http://ISVSAPPISB:51000/ProxyServer/register?ns=http://infosys.com/poc&interface=SI_Proxy_IA&bean=localejbs/ServerProxyFTTest3&method=sIProxyIA
But still i ma getting the same exception.
Hi Gabriel,
I implemented my scenario using the same. But in addittion to the librarry referneces mentioned over there i have added one more refrence in it "com.sap.exception" of type "weak". My structure is like this:
<?xml version="1.0" encoding="UTF-8"?>
<application-j2ee-engine xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="application-j2ee-engine.xsd">
<reference reference-type="weak">
<reference-target provider-name="sap.com" target-type="library">com.sap.aii.af.sdk.lib</reference-target>
</reference>
<reference reference-type="weak">
<reference-target provider-name="sap.com" target-type="service"> com.sap.aii.proxy.svc</reference-target>
</reference>
<reference reference-type="weak">
<reference-target provider-name="sap.com" target-type="library">com.sap.xi.util.misc</reference-target>
</reference>
<reference reference-type="weak">
<reference-target provider-name="sap.com" target-type="library">com.sap.guid</reference-target>
</reference>
<reference reference-type="weak">
<reference-target provider-name="sap.com" target-type="library">com.sap.exception</reference-target>
</reference>
</application-j2ee-engine>
Please help.
Thanks
Amit -
Fault message handling in abap client proxy
Hi experts,
i have scenario like this SAPECC---XI---WEBservice
i was decided to using the ABAP CLIENT proxy in sender side and soap adapter communication in receiver side
i will be get the wsdl file form client
problem is i am in bit of confusion like am i need to create fault message for this asychronous scenario?
how can i create the fault message for this scenario(that WSDL) and how the abaperwill handle those error
thanks in advanceHi.
You can use fault message but it won´t return a error to your ABAP Proxy because your interface is ASSYNC. The fault message generated will stop in Adapter Engine.
If you need a return of the error, you have to change your interface to Sync mode.
To get more information, follow the link below:
Fault Message Type
http://help.sap.com/saphelp_nwpi711/helpdata/en/dd/b7623c6369f454e10000000a114084/frameset.htm
Best Regards.
Bruno -
Hi again xi fighters
I created a business process with a synchronous sending step. I defined all interfaces and implemented also an own fault message type within the synchronous abstract interface. If the used RFC got the correct data the sync. sending step worked proper and also the business process worked fine. If I providing wrong data to the RFC to force him to throw an exception the Business process received the fault message. Then I just want to send the received fault message asynchronously to a file adapter within the defined exception branch. And now the question no-one answered in several discussion threads ;-<
How can I send the message? I am not able to implement a new variable in the container for the fault message type. Any advises here?????
Please help me, before I got inshane of SAP ;->>
Regards Oliver
Message was edited by: Oliver Bluhm
Hi everybody
any ideas, or is the question not clear. Please have a look and let me know you exlperience!
Regards OliverHi Oliver,
how do you know, that is impossible to read the content of the fault message in the exception branch? Did someone from SAP say that? For days I read all the notes, blogs, help,.. and didn't find an answer.
It should work.
1. I have an integration process in XI sending a sync message to R3.
- OK
2. In the generated proxy class I raise an exception of the generated exception proxy class.
- OK
3. The exception message is shown in the message monitoring, containing also all our customer-data.
- OK
4. The integration process in XI activates the correct exception branch.
- OK
Missing: How do I get a grip on the data in the error message?
Kind regards Philipp
Message was edited by:
Philipp Jakob -
IDoc to SOAP Receiver Fault Message Handling?
Hi,
I am working on IDoc to SOAP Scenario (IDoc -> PI -> SOAP). It is in async mode without BPM. This works fine as long as there is no error on the SOAP receiver side. How to handle the falut message raised by the SOAP receiver and send it back the SAP ECC.
Do I need to use ALEAUD IDoc for this? If Yes, how to configure this to handle fault message? Is there any other way of doing it?
Could you please give steps to handle the fault message?
Thank you.
Regards,
Cdr.Have a look into the below threads -
How to capture SOAPFault in an Async/Sync Scenario without BPM
Acknowledgement Handling in IDoc to SOAP Scenario in PI 7.3 -
Propagate fault message from ABAP server proxy to XI
Hello
My scenario is asynch HTTP -> async ABAP server proxy.
I have searched a forum but I didn't find the ansver on my question:
Is it possible to propagate a fault message from SAP system to XI in case of asyncronous ABAP Proxy in order to see in SXMB_MONI of XI?
I see errors only on SAP side but this solution doesn't satisfied me I want to see all errors in one place.Hi,
Have u used commit work at the end of the code.
Can you please tell me what all configuration u have done.
U have referred the ABAP Proxy configuration:
/people/vijaya.kumari2/blog/2006/01/26/how-do-you-activate-abap-proxies
Refer the below log for Client Proxy -
/people/ravikumar.allampallam/blog/2005/03/14/abap-proxies-in-xiclient-proxy
Chirag -
Fault message handling in BPM workaround?
Okay so we all know by now that SAP does not support fault messages in their ccBPM implementation of the BPEL standard.
My question is this.
Does anyone have a viable work around for a SOAP (or any other) interface?
I have altered my calling interface to return either a success response or a fault response in the normal response message e.g.
<?xml version="1.0" encoding="UTF-8"?>
<ns0:Response xmlns:ns0="">
<Success>
</Success>
<Fault>
</Fault>
</ns0:Response>
but I still need a way to get the SOAP adapter to return a fault message when the <Fault> segment of the above mesage is populated.
Thanks,
StephenHi,
if fault part of message is filled, just trigger an exception or an alert..
cheers,
André -
Soap fault message handling in XI
Hi,
I am using axis 1.4. SAP XI is my clinet. My wsdl file as below
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://ws.example.com/service"
xmlns:wns="http://ws.example.com/service"
xmlns:tns="http://ws.exampleenterprise.com"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:types>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://ws.exampleenterprise.com"
elementFormDefault="qualified">
<xs:complexType name="SecrtySbj">
<xs:sequence>
<xs:element name="usrname" type="xs:string"/>
<xs:element name="pswrd" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="AuthenticateRequest">
<xs:sequence>
<xs:element name="secrtySbj" type="tns:SecrtySbj"/>
</xs:sequence>
</xs:complexType>
<xs:element name="authenticateRequest" type="tns:AuthenticateRequest"/>
<xs:complexType name="AuthenticateResponse" >
<xs:sequence>
<xs:element name="sessnId" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="authenticateResponse" type="tns:AuthenticateResponse"/>
<xs:complexType name="customFault">
<xs:sequence>
<xs:element name="customCd" type="xs:int"/>
<xs:element name="customMsg" type="xs:string" minOccurs="0"/>
<xs:element name="customExcp" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:element name="customFault" type="tns:customFault"/>
</xs:schema>
</wsdl:types>
<wsdl:message name="authRequest">
<wsdl:part name="parameters" element="tns:authenticateRequest"/>
</wsdl:message>
<wsdl:message name="authResponse">
<wsdl:part name="result" element="tns:authenticateResponse"/>
</wsdl:message>
<wsdl:message name="CustomFault">
<wsdl:part name="CustomFault" element="tns:customFault"/>
</wsdl:message>
<wsdl:portType name="AuthenticateServiceInterface">
<wsdl:operation name="authenticate">
<wsdl:input message="wns:authRequest" />
<wsdl:output message="wns:authResponse" />
<wsdl:fault name="CustomFault" message="wns:CustomFault"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="AuthenticateServiceSoapBinding" type="wns:AuthenticateServiceInterface">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
<wsdl:operation name="authenticate">
<soap:operation soapAction=""/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="CustomFault" >
<soap:fault name="CustomFault" use="literal" />
</wsdl:fault>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="AuthenticateServiceService">
<wsdl:port name="AuthenticateService" binding="wns:AuthenticateServiceSoapBinding">
<soap:address location="http://10.236.14.6:8080/axis/services/AuthenticateService"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Axis generates the soap fault as below in detail tag as below
<ns1:customFault xmlns:ns1="http://ws.examplenterprise.com">
<ns1:customCd>123</ns1:customCd>
<ns1:customMsg>Password is wrong</ns1:customMsg>
<ns1:customExcp>CustomException</ns1:customExcp>
</ns1:customFault>
They are getting error like below while getting the fault message.
<SAP:ApplicationFaultMessage namespace="http://ws.exampleenterprise.com">customFault<SAP:ApplicationFaultMessage>
Question: Why it is throwing "ApplicationFaultMessage" for fault messages? is there any error in wsdl file in defining the elements? or style has to be different? or is it an namespace issue in the wsdl?
Note: They are able to do it sucessfull for the response message.Hi,
The answer is in your Question itself.
XI Sequence
1.First step is to identify the wsdl:Message element with the namespace http://ws.example.com/service
2.The next step is to go to the part element in http://ws.exampleenterprise.com and map the fault message.
To be simple in your case http://ws.example.com/service is the namespace of Fault Message and http://ws.exampleenterprise.com is the namespace of the fault message payload (Fault XML Message).
So even though the Fault XML Message has the namespace http://ws.exampleenterprise.com ,but if the fault namespace doesnot come with http://ws.example.com/service then Fault will not be triggered and processed in XI.
I hope you get the difference between the two namespaces used and the implications of them.
Fault is entirely different from respone.
Its like exception in java. If you donot catch the correct exception, will the exception raised be caught? Similarly if your SOAP service doesnot invoke the fault message with correct namespace (http://ws.example.com/service ), you cannot invoke/catch the fault message in XI.
Regards,
Sudharshan N A -
SOAP to RFC using fault message
Hi All,
I get a request from Web-service by using the SOAP adapter and pass the same to the SAP ECC for geting the response. I do not need a message mapping as i am passing the same data to SAP ECC. I need to track the errors in fault messages.
Q1. Can i use the fault message handling without using the message mapping.
Q2. If web-service is down and i can't send the response back then do i need to using the fault messageing concept or is there any other way i can get the details back in XI.
If we can use the fault message without using message mapping concept, can someone help me out.
Thanks,
JGDYou are using SOAP sender and Proxy receiver synchronous
>>Q1. Can i use the fault message handling without using the message mapping.
Request mapping, Response mapping and fault message mapping - all these three constitutes message mapping.
>>Q2. If web-service is down and i can't send the response back then do i need to using the fault messageing concept or is there any other way i can get the details back in XI.
If the webservice is down , you dont get message, then you dont need fault message. Fault message is used only for business exceptions and more. If your ECC is down due to some exceptions or errors, you can trace those messages in proxy coding and pass it up to soap as fault message as response.
In this case, you dont need at all. -
Sync/Async bridge via JMS with FAULT messages
Hello all,<br><br>
I set up a sync/async bridge scenario with using of JMS communication channel (SAP - JMSReceiverCC - JMSServer and application - JMSSenderCC - SAP). The normal communication works fine.<br>
But what we can not solve is the Fault Message handling. If there is a application error behind the JMS, a fault message is generated instead of proper application response and sent back to XI. Without any additional setup of JMS Sender CC the processing of the message ends with "MAPPING - EXCEPTION_DURING_EXECUTE", because normal "response mapping" is executed instead of "fault message mapping". This is correct behavior without any discussion.<br><br>
[SAPhelp|http://help.sap.com/saphelp_nw70/helpdata/en/45/202845de34072ce10000000a155369/frameset.htm] says that there are 2 module parameters to be set : fault, faultNamespace. The description is rather vague, so let's see, what the "NotifyResponseBean" does, when parameters fault/faultNamespace are filled:<br><br>
<pre>if(fault != null && faultNamespace != null)
if(faultNamespace.equals("http://sap.com/xi/XI/System"))
((XIMessage)message1).setMessageClass(MessageClass.SYSTEM_ERROR);
((XIMessage)message1).setError(fault, "no additional information");
} else
((XIMessage)message1).setMessageClass(MessageClass.APPLICATION_ERROR);
ErrorInfo errorinfo = message1.createErrorInfo();
errorinfo.setAttribute("ApplicationFaultInterface", fault);
errorinfo.setAttribute("ApplicationFaultInterfaceNamespace", faultNamespace);
errorinfo.setAttribute("ErrorCode", fault);
errorinfo.setAttribute("AdditionalErrorText", "no additional information");
message1.setErrorInfo(errorinfo);
} else
((XIMessage)message1).setMessageClass(MessageClass.APPLICATION_RESPONSE);
}</pre><br>
The code is pretty straight forward so one could assume, that it's the name and namespace of inbound synchronnous message interface what is supposed to be filled in the values of each parameter. And from that kind of information SAP XI can evolve how to handle the response, actually the fault.<br>
Unfortunatelly the real situation is different - every time the fault message is generated and sent back to XI, the response is correctly corelated with the request message, "WaitResponseBean" and "NotifyResponseBean" are finished correctly and the processing crashes in messaging class on following exception:<br><br>
java.lang.NullPointerException at java.util.Hashtable.put(Hashtable.java:592) at
com.sap.aii.messaging.mo.MessageContext.setAttribute(MessageContext.java:140) at
com.sap.aii.adapter.xi.ms.XIMessage.updateHeaders(XIMessage.java:4244) at
com.sap.aii.adapter.xi.ms.XIMessage.getTransportHeaders(XIMessage.java:570) at
com.sap.aii.af.ra.ms.impl.ServerConnectionImpl.request(ServerConnectionImpl.java:212) at
com.sap.aii.af.ra.ms.impl.core.transport.http.MessagingServlet.doPost(MessagingServlet.java:337) at ...
<br><br>
Is there anyone, who can put more light on JMS sync/async bridge fault handling ???
<br><br>
Thank you ...<br>
Regards
TomasHello again,
I proceed in investigation little more, but the main problem has not been solved. I found that the problem is not even in WaitResponseBean (placed in JMCReceiverCC). This bean is woken up properly on base of proper CorrelationID. See the log:
2009-10-15 11:00:33 Success WRB: entering WaitResponseBean
2009-10-15 11:00:33 Success WRB: retrieving the message for f1ea1fc0-b96d-11de-9b68-00144f4acd86 ...
2009-10-15 11:00:46 Success WRB: retrieved the message: ApplicationError
2009-10-15 11:00:46 Success WRB: leaving WaitResponseBean
I think, that the problem is somewhere within main messaging functionality. I suppose that on base of exception message:
com.sap.aii.messaging.mo.MessageContext.setAttribute(MessageContext.java:140) at
which is generated.
Any ideas or comments ?
Thank you in advance.
Regards
Tomas -
Fault message in synchronous send step in BPM
Hi,
When executing a synchronous send step in BPM it is possible to handle application errors (fault messages) with an exception branch. But how do you get hold of the actual data in the Fault message(faultText, faultURL, faultDetail etc) for further processing (mapping)?
Kind regards JohanJohan,
u have to define another container element in integration process.
For that container element an Async Abstract interface has to created with falult message as the message.
Do u have the fault message defined already...
Also go through this thread.
Fault message handling in BPM
-Naveen. -
BPM synchronous send step - Fault message extraction
Hello Experts,
I am developing a BPM with Asynch RFC -> synch Webservice -> Asynch RFC scenario.
I have defined fault message in the synchronous interface used in the send step for web service, and also defined
exception branch where an alert is thrown.
In the alert, i want to send the fault text from the fault message. How can i do that??
ThanksHi Mona,
SOAP adapter doesnt support fault messages.
check stephan's reply @ How catch the SOAP Fault Message ?
> SOAP adapter does not support fault message.
> Any fault is treated as error.
> fault messages are only supported for XI messages (ABAP or Java proxies) and RFCs.
Fault message handling is not possible inside BPM. -
SOAP Adapter - Using Fault Message
Hi all,
I have developed a Synchronous Integration Scenario which receives a SOAP request to the SOAP adapter, calls an ABAP proxy in SAP ECC to post some information and return a response or a fault to the sender.
This all works fine, I am using a fault message in the ABAP proxy to record errors and return them to the SOAP adapter using the fault mapping. Again this all works fine. However when an application error is identified and a fault message returned to thre SOAP adapter, I had expected that the error details in the fault message to be packaged up in a standard SOAP fault and returned to the sender. Instead the fault message details are sent as the payload in the SOAP body of the response.
Can anyone provide information on if it is possible to return the fault message as a standard SOAP fault instead of in the SOAP body of the response.
Thanks
GaryDont think this is possible in standard.
As an alternate, maybe you can select option Do not use SOAP Enevlope int he sender SOAP Adapter and thereby the entire SOAP Message will enter the mapping and you would need to use a XSL or Java mapping to strip the SOAP Envlope in the mapping for the request and like wise in the response mapping you would need to add the SOAP Enevlope to the response.
For the fault message mapping you need not add the SOAP Envelope.
Not a standard solution, but can be tried if the requirement is really worth it. Otherwise I think the Fault Message will continue to be sent as the payload in the the SOAP Enevlope as this is how the SOAP adapter works.
Regards
Bhavesh -
Hello.
My design is next.
IN SAP XI/PI
Interface Object
1.- Create Fault Message Types. (MT_FAULT)
2.- Message Interfaces / add Fault Message Types (MT_FAULT) (Add Proxy and SOAP interfaces)
Mapping Object
3.- Message Mapping / Add Mapping (MT_FAULT mapping MT_FAULT) -> (MM_FAULT = mapping generate)
4.- Interfaces Mapping / Method Request,Response and Fault.
In Method Fault add (MM_FAULT).
IN SPROXY SAP ECC
5.- Execute transacction Sproxy and regenerate namespaces of interface.
6.- Debug interface and NOT MESSAGE ERROR.
But entry transaction SXI_MONITOR, in SAP ECC the XML is next.
(SOAP HEADER - ERROR)
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!-- Inbound Message
-->
<SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
<SAP:Category>XIAdapter</SAP:Category>
<SAP:Code area="PARSING">ADAPTER.SOAP_EXCEPTION</SAP:Code>
<SAP:P1 />
<SAP:P2 />
<SAP:P3 />
<SAP:P4 />
<SAP:AdditionalText>soap fault: Server was unable to read request. ---> There is an error in XML document (1, 526). ---> Instance validation error: 'CL' is not a valid value for SolicitudOrdenPagoMonedaOperacion.</SAP:AdditionalText>
<SAP:ApplicationFaultMessage namespace="" />
<SAP:Stack />
<SAP:Retry>M</SAP:Retry>
</SAP:Error>
bold The error "AdditionalText" want add in table Z.Hello.
It happens that I have created all this and do not know how to obtain the values of error.
The only mistake I have used SXI_MONITOR.
But I need to take the error message and send to a table Z. The idea is that in the Proxy My SAP ECC returns an exception with the error.
So far not done.
Maybe you are looking for
-
How can I be certain the contact list in my iPod touch updates my computer Outlook contact list when I sync and not go the other way? The options in iTunes are not specific enough. In other words, I want to replace the information in my computer Outl
-
When I try to connect Iphone to the coputer it hangs up windows XP Pro. I am running Itune7.5.0.20. I activated the Iphone successfully. But now when I try to connect it to the computer inorder to Sync Calendar and Phone directory it hangs up the Win
-
DVD Studio Pro - Which countries use which DVD formats?
Does anyone know of a reliable chart for what countries use PAL/NTSC? Also, do countries who use SECAM such as France also accept PAL or NTSC? Does FCS2 support SECAM? Thanks!
-
ORA-00932 Using Structured XML Table
Hello, I'm having a problem in trying to create and use a Structured XML Table. I have created very small sample that illustrates my problem: I have registered the following schema: <schema targetNamespace="http://tsldev01.thesoftlife.com:7887/SoftTo
-
The best use of my MacBook and Logic Pro
Hi i have this machine 2.4 intel Core 2 Duo 667 Ram 4 Gigabite I use Logic Pro 9.1.1 I mainly work with midi i use Kontact Philarmonic La strings all that stuff hard disk is internal 250 Gbite What is the best way for me to go.(Use the Kontact as mul