Fault message in sender SOAP scenario

Hi mates,
I've a o/b synch MI which is exposed as a web service. I've specified the fault message with faultcode, faultstring, faultactor and detail. I've a BPM as the receiver for this synch infterface. This BPM implements synch-asynch bridge.
Now the question is...How can I specify that a particular fault message needs to be returned to the SOAP caller. I can send the response for the SOAP caller using the send step with mode 'Closes S/A bridge'.
I appreciate you inputs.
thx in adv
praveen

Moorthy,
I've the FM in my BPM. But...how can I append this to Response message as these have two different MTs?
Do you mean to say my response message should have a node for fault message data?
I'm trying to implement sth like in this blog <a href="/people/sap.user72/blog/2006/01/16/xi-propagation-of-meaningful-error-information-to-soap-client">Propagation of meaningful error information to SOAP Client</a>
To achieve FM in SOAP scenario, should I be using <b>only</b> a non-BPM receiver like a R/3 system using FM with exception as the receiver? Can this be not possible if I use BPM as receiver?
thx in adv
praveen

Similar Messages

  • Fault Message Mapping for SOAP Scenario

    Hi ,
    I have configured a Proxy to SOAP synchronous scenario. The scenario is working fine. Now I need to map the fault message and display the message in SAP in case of any errors. I have used the standard Fault message. But I dont have any message from the WSDL which I can map to the standard fault message. Is it that we need to tell the wenservice team to modify the WSDL to include the fault message or is there any other way out to acheive the same.
    Thanks
    Amit

    >>> Is it that we need to tell the wenservice team to modify the WSDL to include the fault message or is there any other way out to acheive the same?
    Fault message is to provide meaningful message to the other end if there is a validation error or business exceptions or so...
    a) You are importing WSDL of the third party and using it in soap receiver target side.
    b) Normally it is best practice to create a WSDL which contains request, response and fault message. if your wsdl has fault message type declared then you can map the wsdl fault message with your proxy side fault message(which you can create). Please note you rely on the third party wsdl. Third party WSDL must have application logic coded to support fault message in case of application error occurs. Example if there is a validation that does not go through then their application logic must populate data in the fault message of wsdl. Then only if we map the wsdl fault msg to our proxy fault msg, we get meaningful fault details.
    If your target WSDL does not support fault mesg, it is not going to be helpful at all.

  • Fault Message from Sender System to Receiver System

    Hi
    I have a synchronous scenario
    <b>SAP R/3 --> RFC Adapter -> XI -> SOAP Adapter --> Web Service</b>.
    When web service returns successful response, it gets mapped properly to an internal table of RFC. But, when web service returns fault message (as parameters passed to the web service are incorrect), RFC gives dump. Below message is shown in sxmb_moni.
    <i><?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Call Adapter
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Category>XIAdapterFramework</SAP:Category>
      <SAP:Code area="MESSAGE">GENERAL</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText>com.sap.aii.af.ra.ms.api.DeliveryException: java.io.IOException: invalid content type for SOAP: TEXT/HTML</SAP:AdditionalText>
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack />
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error></i>
    <b>{</b> Sometime AdditionalText has different message, depends upon what parameters Sender system is providing <b>}</b>
    Now I would like to provide this message back to SAP RFC. Even if I will create the Fault message type, how exactly I can map this " Exception message " with my fault message type.
    I have checked weblog <a href="/people/shabarish.vijayakumar/blog/2006/11/02/fault-message-types--a-demo-part-1 Message Types - A Demo</a> but this one talks more about proxy & Asynch scenario.
    Can you pls. provide steps with which I can map exceptions message of WS to RFC.
    Best Regards
    - Lalit Chaudhary -

    I got the <RFC>.exception structure from SAP Team.
    And from my side I build the "xsd" file for following generic Error structure -->
    <i><?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Call Adapter
      -->
    - <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">SOAP_EXCEPTION</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText><u>An error message</u></SAP:AdditionalText>
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack />
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error></i>
    I import this xsd file ( as External Definitions ) and keep this in the Inbound Interface as Fault Message Type & mapped the contents of it with <i><RFC>.exception</i> structure.
    Now when their is some Application error like Web-Service is down, we are not getting <b>DUMP</b> in SAP R/3 system but I mapped the "AdditionalText" field of xsd file with " <i>Attributes --> V1</i> " of <i><RFC>.exception</i> structure and on SAP R/3 system the field <i>message-V1</i> is empty which suggest nothing is coming in this field.
    Then I even tried to map constant values <i><RFC>.exception</i> structure but in SAP R/3 nothing is coming. Can you suggest how actually SAP developers can capture these values or is their anything I am missing on XI side.
    Best Regards
    - Lalit Chaudhary -

  • Error while testing sender SOAP scenario from XMLSpy-but can test from RWB

    HI,
    I developed one scenario with sender SOAP adapter and Receiver side ABAP proxy.
    Now I want to test my scenario.
    I tested my scenario  successfully from RWB-->Integration server &#61664;Integration Engine. ( it posted successfully and I can see checked flag in SXMB_MONI)
    But when I tried to test the scenario fro XML spy it is throwing HTTP error 500.
    When I type my URL in internet explores it is giving “Message Servlet is in Status OK”.
    I am not sure what is the difference between there two type of testing.
    What does it mean by successful from RWB and fails from XMLSpy?
    Why I am getting this error from XMLSpy?

    Dear Ashok,
    if RWB showing you successful then message in not in error.
    XML Spy giving error HTTP 500 not it is just server error.This might be due to large payload.
    here is the description of all error related with 500+
    5xx Server Error
    The server failed to fulfill an apparently valid request.
    Response status codes beginning with the digit "5" indicate cases in which the server is aware that it has erred or is incapable of performing the request. Except when responding to a HEAD request, the server SHOULD include an entity containing an explanation of the error situation, and whether it is a temporary or permanent condition. User agents SHOULD display any included entity to the user. These response codes are applicable to any request method.
    500 Internal Server Error
    501 Not Implemented
    502 Bad Gateway
    503 Service Unavailable
    504 Gateway Timeout
    505 HTTP Version Not Supported
    506 Variant Also Negotiates (RFC 2295)
    507 Insufficient Storage (WebDAV) (RFC 4918)
    509 Bandwidth Limit Exceeded
    This status code, while used by many servers, is not an official HTTP status code.
    510 Not Extended (RFC 2774)
    first ping your server
    Tcode for this is SM49>ping
    Then in additional parameter put the server IP and execute it will show you its reachability.
    if it is not reachable then contact the server vendor,
    Else if it is timeout problemthen
    you run Tcode SXMB_ADM>intregration engine configuration
    put category RUNTIME
    then click specific configuration
    Then change/increase HTTP timeout
    **PS: Reward points if useful**
    Regards,
    Sumit Gupta

  • '500 Connection timed out' Error in Sender SOAP Scenario

    Hi mates,
    I exposed o/b synch MI as a webservice. This webservice is received by a BPM and it triggers an IDOC generation program on R/3. BPM waits & collects the IDOCs and cosntructs the response from these IDOCs and returns it to the webservice caller.
    I'm making the SOAP call from a client program and I get the correct response in some cases where the data requested is not huge...normally with in 30 sec.
    But in some cases I get the error '500 Connection timed out' after 60 sec. The detailed message is as follows.
    <i>500 Connection timed out
    Connection timed out (-5)
    Error: -5
    Version: 6040
    Component: ICM
    Date/Time: Thu Jun 15 17:06:10 2006 
    Module: icxxthr_mt.c
    Line: 2551
    Server: hcidx1_DX1_03
    Detail: Connection to partner timed out after 60s</i>
    My BPM waits for 10 minutes and I set the parameter XI.Timeout to 600000 (i.e. 10 minutes) in module parameter table for the sender SOAP adapter as per the note 856597. And in SXMB_ADM, I set the parameter CHECK_FOR_ASYNC_RESPONSE_TIMEOUT of category SA_COMM to 600. In my client program, I set the timeout as 1 hour. All these config params are supposed to make sure that all the components involved wait for atleast 10 mins before they timeout.
    But I get timeout after 60 sec. Whats wrong/missing?
    I highly appreciate your inputs.
    thx in adv
    praveen

    Hey Praveen,
    <i>I'm making the SOAP call from a client program and I get the correct response in some cases where the data requested is not huge...normally with in 30 sec.
    But in some cases I get the error '500 Connection timed out' after 60 sec. The detailed message is as follows.</i>
    does this mean you are getting some response in some cases where u r payload is small , and if its large ur getting some timeout like this? Also is ur scenario Sync / Async?
    Assuming i understood correctly , i came a similar situation but that has to do some thing with Paging file / memory issues when the files are too huge and no. of users are high please let me know if this is the case.
    best regards
    Vara
    [PLEASE REWARD FOR POSTING]

  • How  to read fault message in async soap receiver

    Hi experts,
    I have an asynchronous scenario IDOC->XI->SOAP.
    I've defined a SOAP fault message as part of the Inbound Message Interface.
    When an error occurs on the SOAP Server, the error description is returned in the form of the fault message.
    E.g.
    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
    <SOAP-ENV:Body>
    <SOAP-ENV:Fault>
    <faultcode>SOAP-ENV:Client</faultcode>
    <faultstring>Cannot find the required parameter [lastName] in request message content.</faultstring>
    <detail>
    <ns1:com.sap.engine.services.webservices.additions.soaphttp.exceptions.ProcessException xmlns:ns1='http://sap-j2ee-engine/error'>Cannot find the required parameter [lastName] in request message content.</ns1:com.sap.engine.services.webservices.additions.soaphttp.exceptions.ProcessException>
    </detail>
    </SOAP-ENV:Fault>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    My question is how do I use this message in XI?
    I cannot seem to read this fault message.
    Please help.
    Thanks.
    Ron

    > > Fault messages are specially designed for Proxies
    > and
    > > RFC's only..............ASFAIK Fault messages wont
    > > work for SOAP reciever side...
    >
    > They actually also work with SOAP scenarios.
    >
    > Your WSDL will contain the fault message and in such
    > cases ( if you are using a BPM with exception handler
    > ) , in case a fault message is sent back, you will be
    > able to access this as well.
    >
    > Regards
    > Bhavesh
    Bhavesh,
    I'm not using BPM and I'm using a asynchronous mode for invoking the WebService.
    My WSDL has fault message defined, and I've assigned this fault message to the "Fault" portion of the Inbound Message Interface.
    How can I access my fault message in this case?
    Please help
    Thanks.
    Ron

  • Pipeline timeout in sender SOAP scenario

    Hi mates,
    I've exposed an o/b synch MI as a webservice. A BPM will receive this message and triggers an IDOC generation program on R/3. These IDOCs are collected by BPM and a response message sent to the SOAP caller.
    When I make a SOAP call, with in 60 seconds I get the error 'PL_TIMEOUT..Pipeline timeout condition satisfied'. The IDOC generation program takes more than 60 seconds to post the IDOCs. But, before this happens, SOAP caller is getting a timeout exception.
    I see in the note 856597 that default timeout for sender SOAP calls is 5 mintutes. I set XI.Timeout = 600000 ms (i.e 10 mins) as per the note. I don't see any effect. Still, the timeout happens for after 1 minute. What is wrong/missing?
    Please help me out.
    thx in adv

    Renjith,
    I set the parameter CHECK_FOR_ASYNC_RESPONSE_TIMEOUT to 120 sec to check if this has any effect. Now I dont get any error in SXMB_MONI, the satus shows 'Log version' (small blue disc icon).
    But, the SOAP caller (oXygen)receives the same (earlier) error 'org.apache.commons.httpclient.HttpRecoverableException : java.net.SocketTimeoutException: Read timed out'
    I donno if I set the right parameter. Please clarify. The other two parameters in SA_COMM category are
    CHECK_FOR_ASYNC_RESP_PERIOD
    CHECK_FOR_MAX_SYNC_CALLS
    praveen

  • Sender SOAP (Scenario)

    Hi Guys,
    Here is my scenario where client has a Java Web Aplication to get connected to my Backend System using RFC.This happens through XI.
    I produce the Outbound Interface in the Form of WebService (By generating WSDL file)
    Here we use Sender SOAP Adapter. I want to implement security level using key / certificates.
    Now important thing here is the people who are going to login donot have username on PI box.
    Now how can assign the certificate to the users who are external in my visual admin.
    Hope my scenario is clear . Kindly post u r views on this.
    With regards
    Srini

    Hi,
    I guess the Service user which you would have created will be in XI abap stack only.You need to provide the url and the userId, pwd to the web service client so that they will be bale to invoke your webservice.. you don't have to give the service user details in Soap Sender Adapter. It is just for ypur web client to acesss your webservice.
    The url will be like this:
    http://<serverhost>:<port>/XISOAPAdapter/MessageServlet?channel=<party>:<ServiceName>:<Channel Name>
    I hope it clears your doubt.
    Thanks
    Amit
    Edited by: Craig Cmehil on Jul 3, 2008 3:30 PM

  • Display WSDL in ID with difference URL for send SOAP scenario

    Hi Experts,
    I have one question here about Display WSDL tool in ID.
    The first step is to specify the Integration Server SOAP Inbound Channel (URL).
    Refering to the help document this URL can be either the Integration Server or an Adapter Engine.
    However by simply click Propose URL option, the URL given automatically is pointing to the Integration Engine only.
    http://<host>:<port>/sap/xi/engine?type=entry
    Does this mean in this case, no sender SOAP adapter channel is required?
    And the further question is what is the difference between URL to IE and AE.
    Here i know the URL format are different, my question is what is the major difference in the processing process?
    And what are the pros and cons of giving different URL when Display WSDL?
    Thanks in advance. Any inputs will be appreciated.
    Best Regards,

    Hello,
    Does this mean in this case, no sender SOAP adapter channel is required?
    If it will be connecting directly to the integration engine, yes. No sender adapter is required.
    And the further question is what is the difference between URL to IE and AE.
    Here i know the URL format are different, my question is what is the major difference in the processing process?
    And what are the pros and cons of giving different URL when Display WSDL?
    The advantages and disadvantages are summed up in Stefan's blog below:
    /people/stefan.grube/blog/2006/09/21/using-the-soap-inbound-channel-of-the-integration-engine
    Hope this helps,
    Mark
    Edited by: Mark Dihiansan on Sep 8, 2011 5:43 AM

  • How do I test Sender SOAP scenario?

    Hi
    Soap - IDOC.
    The authorizations on the WS to send data is not yet provided to me.
    thus, I m trying to send a sample data from Altova XML spy.
    For this purpose I have created a WSDL from ID (Tools -> create WS)
    in Receiver NS, receiver MI, I have given receiver side details only
    but in sender side NS and MI and Sender service, I have given the Sender service that I have created in ID and the XI's local NS and receiver MI
    For URL, I have selected on "Propose URL". Now will I be able to send data to the R3 server with this link?
    (R3 is production server in my network)
    now with that WSDL, I coudlnt validate in XML SPY.
    have I provided the correct details?
    Please suggest me is there any other way of testing Sender WS to IDOC?
    Thanks and Regards,
    Venkat.

    oops I guess I have confused u
    let me detail it again
    Scenario : SOAP - XI - IDOC
    The scenario is finished.
    I dont have authorizations on WS to logon n send the data
    Thus, I have created WSDL from ID (in XI)
    now I want to send data to XI which inturn will post the data to R3 and create a IDOC
    when I try to validate the WSDL created through XI using SPY, it couldnt validate and I couldnt send the request
    I want to send the data from outside XI and I want to generate a IDOC with the test data I have specified.
    how do I do it?
    Hope I made it clear this time
    Thanks,
    Nikhil.

  • Sender Soap scenario HTTP/1.1 404 Not Found error

    Hello All,
    I created SOAP to  IDOC scenario, generated the WSDL file from Sender agreement and while testing the interface using SOAPUI tool iam getting HTTP/1.1 404 Not Found error.
    i gave login authorization details in the SOAPUI tool.
    Update: when i generated the WSDL file from sender agrement, in the URL the port number was 443.
    when i check the port numer in SMICM transaction it show 50000.
    Now when i test with port numer 443 iam getting Connction refused error.
    Regards,
    Chinna
    Edited by: chinnasapxi on Mar 4, 2011 6:44 AM

    i created the URl and when i tested the from SOAP UI below is the error detials.
    Fri Mar 04 11:32:08 IST 2011:ERROR:com.eviware.soapui.model.iface.Request$SubmitException: com.eviware.soapui.impl.wsdl.submit.RequestTransportRegistry$MissingTransportException: Missing transport for protocol [ http]
       com.eviware.soapui.model.iface.Request$SubmitException: com.eviware.soapui.impl.wsdl.submit.RequestTransportRegistry$MissingTransportException: Missing transport for protocol [ http]
            at com.eviware.soapui.impl.wsdl.WsdlRequest.submit(WsdlRequest.java:241)
            at com.eviware.soapui.impl.wsdl.panels.request.AbstractWsdlRequestDesktopPanel.doSubmit(AbstractWsdlRequestDesktopPanel.java:146)
            at com.eviware.soapui.impl.support.panels.AbstractHttpRequestDesktopPanel.onSubmit(AbstractHttpRequestDesktopPanel.java:777)
            at com.eviware.soapui.impl.support.panels.AbstractHttpRequestDesktopPanel$SubmitAction.actionPerformed(AbstractHttpRequestDesktopPanel.java:488)
            at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
            at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
            at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
            at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
            at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
            at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
            at java.awt.Component.processMouseEvent(Unknown Source)
            at javax.swing.JComponent.processMouseEvent(Unknown Source)
            at java.awt.Component.processEvent(Unknown Source)
            at java.awt.Container.processEvent(Unknown Source)
            at java.awt.Component.dispatchEventImpl(Unknown Source)
            at java.awt.Container.dispatchEventImpl(Unknown Source)
            at java.awt.Component.dispatchEvent(Unknown Source)
            at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
            at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
            at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
            at java.awt.Container.dispatchEventImpl(Unknown Source)
            at java.awt.Window.dispatchEventImpl(Unknown Source)
            at java.awt.Component.dispatchEvent(Unknown Source)
            at java.awt.EventQueue.dispatchEvent(Unknown Source)
            at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
            at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
            at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
            at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
            at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
            at java.awt.EventDispatchThread.run(Unknown Source)

  • Creating Custom SOAP header in the Sender soap scenario

    Hello Experts,
    Currently i have a SOAP to RFC scenario . In which in the request parameter i have single input parameter. But as per the requirement we need to have some xml parameters in the soap header .
    So i want the soap request looks like below,
    <?xml version="1.0"?>
    -<SOAP-ENV:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    -<SOAP-ENV:Header>
    -<ns0:TestHeader xmlns:ns0="http://testcustomer.com">
    -<MessageDetails>
    <ServiceType/>
    <ServiceAction>String</ServiceAction>
    <MessageRole rtype=""/>
    -<MessageSource>
    <SourceName/>
    <SourceID idtype=""/>
    </MessageSource>
    -<MessageDestinations>
    -<MessageDestination>
    <DestinationID idtype=""/>
    <DestinationName/>
    </MessageDestination>
    </MessageDestinations>
    <Property Name=""/>
    </MessageDetails>
    </ns0:TestHeader>
    </SOAP-ENV:Header>
    -<SOAP-ENV:Body>
    -<m:MT_CERT_IP xmlns:m="http://mydzit.gov.sa/zakat">
    <INPUT1>102140000007</INPUT1>
    </m:MT_CERT_IP>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    Kindly let me know the steps, how can i achieve this ??
    I have referred the AddSOAPHeaderBean  module but still not received the needed output.
    Best Regards,
    Amit

    Hi Amit,
    My few cents.
    You have an example in Dimitri Sannen's blog Read SOAP header information doing the mapping with XSLT.
    Also, you have an other example like Dev Noronha suggestion, in William Li's blog How to Read SOAP Header Information
    Regards.

  • Handling SOAP Fault Message in BPM

    Hello XI SDN'ers,
    I am getting SOAP Fault Message in my SOAP Scenario and I am not aware of Handling that error in my BPM. Could any one tell me, How to handle such error's in BPM?
    Thanks & Regards,
    Satish.

    hi satesh
    using "exception handler" in BPM we can handle the error messages
    regards
    kummari

  • PI 7.0 SOAP message reply HTTP 500 and after the fault message

    Hello Everybody,
    I have the scenario RFC -> XI -> SOAP in synchronous mode.
    I use for the mapping XSLT because I have to put some dynamic data comming from the RFC in the header of envelope.
    At level of adapter receiver SOAP , I flag the "do not use envelop"
    In normal, that works .
    When the is an fonctionnal error in SOAP service, it sends me back an error HTTP 500 and afterwards the fault message in a soap envelop format. In that case, how can I pass over this error to treat the envelop because in adapter, it is stopped and it returns a short dump to the RFC.
    Is there somebody who can help me with this problem ?
    Thanks in adavance for your answers .
    Regards.
    Eric.

    Hi,
    In case of a SOAP error while processing the request, the SOAP HTTP server MUST issue an HTTP 500 "Internal Server Error" response and include a SOAP message in the response containing a SOAP Fault element
    Thanks,
    RamuV

  • PI 7.1 Adapter Module Development - Identify SOAP Fault Message

    Hi Experts,</br>
    here's a PI 7.1 Adapter Module Development issue I hope you can help me to resolve. It's about identifying SOAP fault messages.</br>
    </br>
    Scenario at a glance:</br>
    Adapter Modules placed in the modules chain at request and response time in a synchronous Scenario:</br>
    - Request: SOAP Axis to RFC </br>
    - Response and Fault Response: RFC to SOAP Axis</br>
    </br>
    The issue is how to identify SOAP fault message in SOAP Axis Adapter Module in the response message:</br>
    The client gets SOAP fault messages like the follwong one:</br>
       <SOAP:Body>
          <SOAP:Fault>
             <faultcode>SOAP:Server</faultcode>
             <faultstring>Server Error</faultstring>
             <detail>
                <ns1:exception xmlns:ns1="http://typen.geschaeftsstelle.pab.barmer.de">
                   <ns1:errortext>bla bla bla ...</ns1:errortext>
                </ns1:exception>
             </detail>
          </SOAP:Fault>
       </SOAP:Body>
    </br>
    </br>
    But when trying to access the tags faultcode and/or faultstring in the adapter module via xPath expressions I do not get them. Obviously the SOAP Fault tags are built AFTER the adapter module has been passed. So my question is:</br>
    How can I clearly/uniquely detect a SOAP fault response message (and distinguish it from a "normal" response message) in my SOAP Axis Adapter Module?</br>
    </br>
    I tried it the following way:</br>
    </br>
    </br>
    // Check Message Payload for SOAP Fault Message via xPath expressions</br>
    ...</br>
    // SOAP Fault Code</br>
    zv_xPression = zc_constXPattern.replaceFirst("&", "faultcode");</br>
    zv_soapFaultCode = XPathAPI.eval(zv_doc, (String) zv_xPression).toString();</br>
    // SOAP Fault String</br>
    zv_xPression = zc_constXPattern.replaceFirst("&", "faultstring");</br>
    zv_soapFaultString = XPathAPI.eval(zv_doc, (String) zv_xPression).toString();</br>
    // check for SOAP Fault Message</br>
    if (zv_soapFaultCode.equals("") && zv_soapFaultString.equals("")) {</br>
         // Create Audit Log entry - NOT a SOAP Fault Message</br>
         zv_msgText = zc_constModuleName + " 0190: xPath - OK! This message is NOT a SOAP Fault Message";</br>
         zv_audit.addAuditLogEntry(zv_msgKey, AuditLogStatus.SUCCESS, zv_msgText);</br>
         zv_faultCheck = false;</br>
    }</br>
    else {</br>
         ...</br>
         // Create Audit Log entry - SOAP Fault Message</br>
         zv_msgText = zc_constModuleName </br>
              + " 0200: xPath - this message is a SOAP Fault Message. " </br>
              + " - Faultcode is: " + zv_soapFaultCode </br>
              + " - Faultstring is: " + zv_soapFaultString; </br>
         zv_audit.addAuditLogEntry(zv_msgKey, AuditLogStatus.ERROR, zv_msgText);</br>
         ...</br>
    }</br>
    ...</br>
    </br></br>
    But zv_soapFaultCode and zv_soapFaultString are always empty (with other payload tags this coding works fine).</br>
    </br>
    Any ideas? </br></br>
    Thanx very much in advance!</br></br>
    Regards,</br>
    Volker

    Hi Alex!
    Like already mentioned I solved my problem by identifying the SOAP exception with the messageClass attribute of the PI message header. Acess code:
    try {
    String zv_msgClass = zv_piMsg.getMessageClass().toString();
    } catch (Exception e) {
    zv_msgText = zc_constModuleName
    + " E0110: Message processing terminated."
    + " Reason: Error while getting MessageClass "
    + zv_dataSource
    + e;
    // create trace and audit log entry (severity ERROR) for exception
    zv_location.errorT(ZV_SIGNATURE, zv_msgText);
    zv_audit.addAuditLogEntry(zv_msgKey, AuditLogStatus.ERROR, zv_msgText);
    ModuleException me = new ModuleException(e);
    zv_location.throwing(ZV_SIGNATURE, me);
    e.printStackTrace();
    throw me;
    }     // end of try-catch-block
    But I do not think this will solve your problem. I am almost sure, that something in your Axis configuration is wrong/missing. If a handler cannot be instatiated then it really may be missing. Have a look at defaultTrace.trc. Maybe you will find more suitable information about the root cause of your problem. Also have a look at NWA under software components and/or application modules if you can find/see your modules.
    But there is a general issue when trying to catch PI fault messages. If e.g. the requestor tries to login with wrong userid/pasword, then you will have no chance to catch this kind of error - at least as far as I know. Because in this very early stage of PI message processing no module is called.
    One last question: Did you develop your own Adapter or just an adapter module? In the first case: Is your adapter started and healthy? Have a look at RWB -> communication channel monitoring.
    Regards,
    Volker

Maybe you are looking for

  • How to find out Query last used by whom

    Dear All, Can any one tell me that "How to find out the Query last used by whom. I have already searched in SDN but no luck. In my system BW Stats are not installed and I have already checked the below tables. RSZELTDIR  - Directory of the reporting

  • Multiple users need to see some documents in SQL table, PHP

    Is there a way to serve up data for a user based on their group assignment?  I have two SQL tables.  The first one has the user login information (username, password, groupID note: multiple users can belong to same GroupID).  The second table has the

  • Do I use DnD or MouseMotionListener ?

    I am wondering about the pros and cons of using dnd api vs. MouseListener/MouseMotionListener. I am experimenting with drag-and-drop using a simple app that allows components to be rearranged by dragging. Here is a description of desired test program

  • File Merging --- Need Help

    Greetings, I am pretty new at this program, and I am trying to understand how to do my homework assignment. So I do not need the full code, just some help on how to get started. I am trying to write a program that merges all files together whose name

  • Writing Exception into ccBPM container trace from Graphical mapping

    Hi guys, I followed the Guarneri's blog /people/alessandro.guarneri/blog/2006/01/26/throwing-smart-exceptions-in-xi-graphical-mapping It works fine within message monitor, but at the trace of ccBPM nothing appears! I'm talking about the trace of the