Populating SOAP Fault

Does anyone know of a method by which i can populate a SOAP XML ( mainly SOAP FAULT ) directly into a object so that i have access to all the data in the code and do not have to put XML parsing logic in it.
I am interacting to a webservice using the WSDL , when i build it using ant it gave me response and request objects and methods to access them, but nothing was given that can cater to a SOAP fault response.
I was wondering if there is any way by which i can directlt map my SOAP output to a object ( API Defined ) so i would not have to write any XML parsing logic in the code, which i am trying to avoide.

Couple of things you can check:
1. Are you able to access the CAVS endpoint ?.
2. From your composite are you pointing to CAVS endpoint instead of the real endpoint, this can be done by changing the endpoint in the AIAConfigurationProperties.xml file or from the AIAApplication -> Setup screen routeToCAVS = true.
3. If not done, please go through the CAVS enablement process using the guide - http://docs.oracle.com/cd/E21764_01/doc.1111/e17364/completeabcs.htm#BACDIIID
Also you can check AIAApplication->CAVS to know if the request has reached CAVS by checking the instance tab.
Hope this helps.

Similar Messages

  • SOAP Fault Exception [Actor null]

    Hi All,
    Im trying to call a webservice from portal This web service is in ECC. When I try to call it, it throws the following error:
    #1.5 #00E0ED0BA5EF005C000000C500001E350004532D85C22E36#1217354889571#com.sap.portal.SOAPLogger#sap.com/irj#com.sap.portal.SOAPLogger#TESTUSER#9868##n/a##4b8f60d05d9911dda9db00e0ed0ba5ef#SAPEngine_Application_Thread[impl:3]_4##0#0#Warning#1#/System/Server#Java###Call failed
    [EXCEPTION]
    {0}#1#SOAP Fault Exception [Actor null] : CX_ST_MATCH_ELEMENT:XSLT exception.System expected element 'ItItem'
    <Host>undefined</Host>
    <Component>APPL</Component>
    <ChainedException>
      <Exception_Name>CX_SOAP_CORE</Exception_Name>
      <Exception_Text>CX_ST_MATCH_ELEMENT:XSLT exception.System expected element &apos;ItItem&apos;</Exception_Text>
    </ChainedException>
    <ChainedException>
      <Exception_Name>CX_SXMLP</Exception_Name>
      <Exception_Text>XSLT exception</Exception_Text>
    </ChainedException>
    <ChainedException>
      <Exception_Name>CX_ST_MATCH_ELEMENT</Exception_Name>
      <Exception_Text>System expected element &apos;ItItem&apos;: Main Program:/1BCDWB/WSSC9FCD3336732797F332| Program:/1BCDWB/WSSC9FCD3336732797F332| Line: 11| Valid:X</Exception_Text>
    </ChainedException>
    #1.5 #00E0ED0BA5EF005C000000C700001E350004532D85C23109#1217354889572#System.err#sap.com/irj#System.err#BHARDWS#9868##n/a##4b8f60d05d9911dda9db00e0ed0ba5ef#SAPEngine_Application_Thread[impl:3]_4##0#0#Error##Plain###SOAP Fault Exception [Actor null] : CX_ST_MATCH_ELEMENT:XSLT exception.System expected element 'ItItem'
    <Host>undefined</Host>
    <Component>APPL</Component>
    <ChainedException>
      <Exception_Name>CX_SOAP_CORE</Exception_Name>
      <Exception_Text>CX_ST_MATCH_ELEMENT:XSLT exception.System expected element &apos;ItItem&apos;</Exception_Text>
    </ChainedException>
    <ChainedException>
      <Exception_Name>CX_SXMLP</Exception_Name>
      <Exception_Text>XSLT exception</Exception_Text>
    </ChainedException>
    <ChainedException>
      <Exception_Name>CX_ST_MATCH_ELEMENT</Exception_Name>
      <Exception_Text>System expected element &apos;ItItem&apos;: Main Program:/1BCDWB/WSSC9FCD3336732797F332| Program:/1BCDWB/WSSC9FCD3336732797F332| Line: 11| Valid:X</Exception_Text>
    </ChainedException>
    #1.5 #00E0ED0BA5EF005C000000C800001E350004532D85C231DF#1217354889572#System.err#sap.com/irj#System.err#BHARDWS#9868##n/a##4b8f60d05d9911dda9db00e0ed0ba5ef#SAPEngine_Application_Thread[impl:3]_4##0#0#Error##Plain###We are in Exception and got the message778: SOAP Fault Error (n.a) : CX_ST_MATCH_ELEMENT:XSLT exception.System expected element 'ItItem'#
    Has anyone come across this? Please help by giving directions on how to fix this.
    Thanks
    SB

    Hi Alex,
    Please ignore the above bapi call, it is too complex since it is a custom BAPI that Im trying to call. For now, I am trying to call a very simple BAPI --> BAPI_CUSTOMER_GETDETAIL just to make sure that communication is happening.
    Here is the WSDL:
      <?xml version="1.0" encoding="utf-8" ?>
    - <wsdl:definitions targetNamespace="urn:sap-com:document:sap:rfc:functions" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="urn:sap-com:document:sap:rfc:functions">
    - <wsdl:documentation>
      <sidl:sidl xmlns:sidl="http://www.sap.com/2007/03/sidl" />
      </wsdl:documentation>
    - <wsdl:types>
    - <xsd:schema attributeFormDefault="qualified" targetNamespace="urn:sap-com:document:sap:rfc:functions">
    - <xsd:simpleType name="char1">
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="1" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:simpleType name="char10">
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="10" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:simpleType name="char130">
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="130" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:simpleType name="char16">
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="16" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:simpleType name="char2">
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="2" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:simpleType name="char20">
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="20" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:simpleType name="char220">
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="220" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:simpleType name="char3">
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="3" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:simpleType name="char30">
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="30" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:simpleType name="char31">
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="31" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:simpleType name="char32">
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="32" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:simpleType name="char35">
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="35" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:simpleType name="char4">
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="4" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:simpleType name="char5">
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="5" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:simpleType name="char50">
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="50" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:simpleType name="cuky5">
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="5" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:simpleType name="date">
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="10" />
      <xsd:pattern value="\d\d\d\d-\d\d-\d\d" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:simpleType name="lang">
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="1" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:simpleType name="numeric3">
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="3" />
      <xsd:pattern value="\d*" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:simpleType name="numeric6">
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="6" />
      <xsd:pattern value="\d*" />
      </xsd:restriction>
      </xsd:simpleType>
    - <xsd:complexType name="BAPIRET2">
    - <xsd:sequence>
      <xsd:element name="TYPE" type="tns:char1" />
      <xsd:element name="ID" type="tns:char20" />
      <xsd:element name="NUMBER" type="tns:numeric3" />
      <xsd:element name="MESSAGE" type="tns:char220" />
      <xsd:element name="LOG_NO" type="tns:char20" />
      <xsd:element name="LOG_MSG_NO" type="tns:numeric6" />
      <xsd:element name="MESSAGE_V1" type="tns:char50" />
      <xsd:element name="MESSAGE_V2" type="tns:char50" />
      <xsd:element name="MESSAGE_V3" type="tns:char50" />
      <xsd:element name="MESSAGE_V4" type="tns:char50" />
      <xsd:element name="PARAMETER" type="tns:char32" />
      <xsd:element name="ROW" type="xsd:int" />
      <xsd:element name="FIELD" type="tns:char30" />
      <xsd:element name="SYSTEM" type="tns:char10" />
      </xsd:sequence>
      </xsd:complexType>
    - <xsd:complexType name="BAPIKNA101">
    - <xsd:sequence>
      <xsd:element name="FORM_OF_AD" type="tns:char30" />
      <xsd:element name="FIRST_NAME" type="tns:char35" />
      <xsd:element name="NAME" type="tns:char35" />
      <xsd:element name="NAME_3" type="tns:char35" />
      <xsd:element name="NAME_4" type="tns:char35" />
      <xsd:element name="DATE_BIRTH" type="tns:date" />
      <xsd:element name="STREET" type="tns:char35" />
      <xsd:element name="POSTL_CODE" type="tns:char10" />
      <xsd:element name="CITY" type="tns:char35" />
      <xsd:element name="REGION" type="tns:char3" />
      <xsd:element name="COUNTRY" type="tns:char3" />
      <xsd:element name="COUNTRNISO" type="tns:char3" />
      <xsd:element name="COUNTRAISO" type="tns:char3" />
      <xsd:element name="INTERNET" type="tns:char130" />
      <xsd:element name="FAX_NUMBER" type="tns:char31" />
      <xsd:element name="TELEPHONE" type="tns:char16" />
      <xsd:element name="TELEPHONE2" type="tns:char16" />
      <xsd:element name="LANGU" type="tns:lang" />
      <xsd:element name="LANGU_ISO" type="tns:char2" />
      <xsd:element name="CURRENCY" type="tns:cuky5" />
      <xsd:element name="CURRENCY_ISO" type="tns:char3" />
      <xsd:element name="COUNTRYISO" type="tns:char2" />
      <xsd:element name="ONLY_CHANGE_COMADDRESS" type="tns:char1" />
      </xsd:sequence>
      </xsd:complexType>
    - <xsd:complexType name="BAPIRETURN">
    - <xsd:sequence>
      <xsd:element name="TYPE" type="tns:char1" />
      <xsd:element name="CODE" type="tns:char5" />
      <xsd:element name="MESSAGE" type="tns:char220" />
      <xsd:element name="LOG_NO" type="tns:char20" />
      <xsd:element name="LOG_MSG_NO" type="tns:numeric6" />
      <xsd:element name="MESSAGE_V1" type="tns:char50" />
      <xsd:element name="MESSAGE_V2" type="tns:char50" />
      <xsd:element name="MESSAGE_V3" type="tns:char50" />
      <xsd:element name="MESSAGE_V4" type="tns:char50" />
      </xsd:sequence>
      </xsd:complexType>
    - <xsd:element name="BAPI_TRANSACTION_COMMIT">
    - <xsd:complexType>
    - <xsd:sequence>
      <xsd:element name="WAIT" type="tns:char1" minOccurs="0" />
      </xsd:sequence>
      </xsd:complexType>
      </xsd:element>
    - <xsd:element name="BAPI_TRANSACTION_COMMITResponse">
    - <xsd:complexType>
    - <xsd:sequence>
      <xsd:element name="RETURN" type="tns:BAPIRET2" />
      </xsd:sequence>
      </xsd:complexType>
      </xsd:element>
    - <xsd:element name="BAPI_CUSTOMER_GETDETAIL">
    - <xsd:complexType>
    - <xsd:sequence>
      <xsd:element name="CUSTOMERNO" type="tns:char10" />
      <xsd:element name="PI_DISTR_CHAN" type="tns:char2" minOccurs="0" />
      <xsd:element name="PI_DIVISION" type="tns:char2" minOccurs="0" />
      <xsd:element name="PI_PASS_BUFFER" type="tns:char1" minOccurs="0" />
      <xsd:element name="PI_SALESORG" type="tns:char4" />
      </xsd:sequence>
      </xsd:complexType>
      </xsd:element>
    - <xsd:element name="BAPI_CUSTOMER_GETDETAILResponse">
    - <xsd:complexType>
    - <xsd:sequence>
      <xsd:element name="PE_ADDRESS" type="tns:BAPIKNA101" />
      <xsd:element name="RETURN" type="tns:BAPIRETURN" />
      </xsd:sequence>
      </xsd:complexType>
      </xsd:element>
      </xsd:schema>
      </wsdl:types>
    - <wsdl:message name="BAPI_TRANSACTION_COMMIT">
      <wsdl:part name="parameters" element="tns:BAPI_TRANSACTION_COMMIT" />
      </wsdl:message>
    - <wsdl:message name="BAPI_TRANSACTION_COMMITResponse">
      <wsdl:part name="parameter" element="tns:BAPI_TRANSACTION_COMMITResponse" />
      </wsdl:message>
    - <wsdl:message name="BAPI_CUSTOMER_GETDETAIL">
      <wsdl:part name="parameters" element="tns:BAPI_CUSTOMER_GETDETAIL" />
      </wsdl:message>
    - <wsdl:message name="BAPI_CUSTOMER_GETDETAILResponse">
      <wsdl:part name="parameter" element="tns:BAPI_CUSTOMER_GETDETAILResponse" />
      </wsdl:message>
    - <wsdl:portType name="YCUST">
    - <wsdl:operation name="BAPI_TRANSACTION_COMMIT">
      <wsdl:input message="tns:BAPI_TRANSACTION_COMMIT" />
      <wsdl:output message="tns:BAPI_TRANSACTION_COMMITResponse" />
      </wsdl:operation>
    - <wsdl:operation name="BAPI_CUSTOMER_GETDETAIL">
      <wsdl:input message="tns:BAPI_CUSTOMER_GETDETAIL" />
      <wsdl:output message="tns:BAPI_CUSTOMER_GETDETAILResponse" />
      </wsdl:operation>
      </wsdl:portType>
    - <wsdl:binding name="YCUST" type="tns:YCUST">
      <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
    - <wsdl:operation name="BAPI_TRANSACTION_COMMIT">
      <soap:operation soapAction="" style="document" />
    - <wsdl:input>
      <soap:body use="literal" />
      </wsdl:input>
    - <wsdl:output>
      <soap:body use="literal" />
      </wsdl:output>
      </wsdl:operation>
    - <wsdl:operation name="BAPI_CUSTOMER_GETDETAIL">
      <soap:operation soapAction="" style="document" />
    - <wsdl:input>
      <soap:body use="literal" />
      </wsdl:input>
    - <wsdl:output>
      <soap:body use="literal" />
      </wsdl:output>
      </wsdl:operation>
      </wsdl:binding>
    - <wsdl:service name="service">
    - <wsdl:port name="YCUST" binding="tns:YCUST">
      <soap:address location="http://myportal:8040/sap/bc/srt/rfc/sap/ycust/040/ycust/ycust" />
      </wsdl:port>
      </wsdl:service>
      </wsdl:definitions>
    As you will see below in my portal component, Im populating the four fields that it requires:
    public class WS_ECC_Service extends PageProcessorComponent {
      public DynPage getPage(){
        return new WS_ECC_ServiceDynPage();
      public static class WS_ECC_ServiceDynPage extends JSPDynPage{
         protected IPortalComponentRequest request;
               protected IPortalComponentResponse response;
               protected IPortalComponentSession session;
               protected IPortalComponentContext context;
               protected IPortalComponentProfile profile;
               protected String userId;
         //      protected IUser epUser;
               protected String sapSystem;
               protected String fileName;
               private DAO DAO = null;
         //      private FileUploadUtility FIU = null;
         //      private ReadExcelData RED = null;
               private final static int SUCCESS_STATE = 0;   
               private final static int INITIAL_STATE = 1;
               private final static int ERROR_STATE = 2; 
               private int state = INITIAL_STATE;
        public void doInitialization(){
          this.communicate();
          // fill your bean with data here...
         public void communicate()throws IllegalArgumentException{     
                                  try{                  
                                          IPortalRuntimeResources runtimeResources = PortalRuntime.getRuntimeResources();
                                       IYBAPI_Service myService = (IYBAPI_Service)runtimeResources.getService(IYBAPI_Service.KEY);
                                                         System.err.println("b4 passing object to service Anurag-"+IYBAPI_Service.KEY);
                                       com.ybapi.BAPI_CUSTOMER_GETDETAIL param = new com.ybapi.BAPI_CUSTOMER_GETDETAIL();
                                       com.ybapi.BAPI_CUSTOMER_GETDETAILResponse result1 = new com.ybapi.BAPI_CUSTOMER_GETDETAILResponse();
                                       com.ybapi.Char10 custno = new com.ybapi.Char10();
                                       custno.setValue("0000009702");                 
                                       param.setCUSTOMERNO(custno);
                                       com.ybapi.Char2 distr = new com.ybapi.Char2();
                                       distr.setValue("12");                 
                                       param.setPI_DISTR_CHAN(distr);
                                       param.setPI_DIVISION(distr);
                                       com.ybapi.Char1 buff = new com.ybapi.Char1();
                                       buff.setValue("w");                 
                                       param.setPI_PASS_BUFFER(buff);
                                       com.ybapi.Char4 sorg = new com.ybapi.Char4();
                                       sorg.setValue("0001");                 
                                       param.setPI_SALESORG(sorg);
                                       result1 = myService.BAPI_CUSTOMER_GETDETAIL(param);
                                    System.err.println("message message dear message : - " + result1.getPE_ADDRESS().getNAME());
                                  }catch (IllegalArgumentException ex){
                                  System.err.println("Getting details2 " + ex.getMessage());
                                  }catch (Exception e) {
                                  e.printStackTrace();
                                  System.err.println("We are in Exception and got the message778: " + e.getMessage());
                                  }//end try catch
        public void doProcessAfterInput() throws PageException {
        public void doProcessBeforeOutput() throws PageException {
          this.setJspName("uploadutility.jsp");
    and this is what it is throwing the error, exactly the same that I got in my above post which I asked you to ignore.
    #1.5 #00E0ED0BA5EF006E0000015A00001E350004533EB66A08B6#1217428720322#com.sap.portal.SOAPLogger#sap.com/irj#com.sap.portal.SOAPLogger#BHARDWS#17255##n/a##2aaa48605e4511ddbbf300e0ed0ba5ef#SAPEngine_Application_Thread[impl:3]_2##0#0#Warning#1#/System/Server#Java###Call failed
    [EXCEPTION]
    {0}#1#SOAP Fault Exception [Actor null] : CX_ST_MATCH_ELEMENT:XSLT exception.System expected element 'CUSTOMERNO'
    <Host>undefined</Host>
    <Component>APPL</Component>
    <ChainedException>
      <Exception_Name>CX_SOAP_CORE</Exception_Name>
      <Exception_Text>CX_ST_MATCH_ELEMENT:XSLT exception.System expected element &apos;CUSTOMERNO&apos;</Exception_Text>
    </ChainedException>
    <ChainedException>
      <Exception_Name>CX_SXMLP</Exception_Name>
      <Exception_Text>XSLT exception</Exception_Text>
    </ChainedException>
    <ChainedException>
      <Exception_Name>CX_ST_MATCH_ELEMENT</Exception_Name>
      <Exception_Text>System expected element &apos;CUSTOMERNO&apos;: Main Program:/1BCDWB/WSSB675FB6DBC9770445BC| Program:/1BCDWB/WSSB675FB6DBC9770445BC| Line: 19| Valid:X</Exception_Text>
    </ChainedException>
    #1.5 #00E0ED0BA5EF006E0000015C00001E350004533EB66A09BD#1217428720322#System.err#sap.com/irj#System.err#BHARDWS#17255##n/a##2aaa48605e4511ddbbf300e0ed0ba5ef#SAPEngine_Application_Thread[impl:3]_2##0#0#Error##Plain###$$$$$$$$$$$$$exex-SOAP Fault Error (n.a) : CX_ST_MATCH_ELEMENT:XSLT exception.System expected element 'CUSTOMERNO'#
    #1.5 #00E0ED0BA5EF006E0000015D00001E350004533EB66A0B44#1217428720323#System.err#sap.com/irj#System.err#BHARDWS#17255##n/a##2aaa48605e4511ddbbf300e0ed0ba5ef#SAPEngine_Application_Thread[impl:3]_2##0#0#Error##Plain###SOAP Fault Exception [Actor null] : CX_ST_MATCH_ELEMENT:XSLT exception.System expected element 'CUSTOMERNO'
    <Host>undefined</Host>
    <Component>APPL</Component>
    <ChainedException>
      <Exception_Name>CX_SOAP_CORE</Exception_Name>
      <Exception_Text>CX_ST_MATCH_ELEMENT:XSLT exception.System expected element &apos;CUSTOMERNO&apos;</Exception_Text>
    </ChainedException>
    <ChainedException>
      <Exception_Name>CX_SXMLP</Exception_Name>
      <Exception_Text>XSLT exception</Exception_Text>
    </ChainedException>
    <ChainedException>
      <Exception_Name>CX_ST_MATCH_ELEMENT</Exception_Name>
      <Exception_Text>System expected element &apos;CUSTOMERNO&apos;: Main Program:/1BCDWB/WSSB675FB6DBC9770445BC| Program:/1BCDWB/WSSB675FB6DBC9770445BC| Line: 19| Valid:X</Exception_Text>
    </ChainedException>
    #1.5 #00E0ED0BA5EF006E0000015E00001E350004533EB66A0B93#1217428720323#System.err#sap.com/irj#System.err#TESTUSER#17255##n/a##2aaa48605e4511ddbbf300e0ed0ba5ef#SAPEngine_Application_Thread[impl:3]_2##0#0#Error##Plain###We are in Exception and got the message778: SOAP Fault Error (n.a) : CX_ST_MATCH_ELEMENT:XSLT exception.System expected element 'CUSTOMERNO'#

  • How to capture SOAP fault when using "Do not use SOAP envelope" parameter

    Hi,
    we have a synchronous  RFC -> XI -> Web Service scenario. The Web Service requires some custom SOAP header elements for user authorization which forced us create the entire SOAP message in a message mapping and to set the "Do not use SOAP envelope" parameter in the receiving SOAP adapter.
    In order to capture the SOAP fault message from the Web Service we have created a message interface with a fault message and also created an interface mapping with a fault message mapping.
    Our problem is that the fault message is not populated when we get a SOAP fault message back from the Web Service. Is this due to the fact that we have set the  "Do not use SOAP envelope" parameter?
    Thanks in advance!
    Stefan
    Message was edited by:
            Stefan Nilsson

    Hi Bhavesh,
    I have exaactly same scenario. But the only difference is that the Successful payload is also not coming into PI.
    The request is successfully hittng the webservice.
    Please guide me on how to capture the paylod.
    I am using the WSDL provided by the thirdparty but sill the message is not coming into PI.

  • SOAP Fault Payload in BPM

    Hi Experts,
    I am struggling to access the SOAP Fault payload inside a BPM step. It does not seem like the container variable that I created to capture the Fault message payload is being populated. Please can you tell me how to achieve this?
    Thanks and regards,
    Brendon

    Hi Praveen,
    I have defined an abstract interface and used this inside a container but the container is not being filled the the payload data. All other container variables, for example the soap response are being populated. But not the fault message container. Do you perhaps no how to populate the fault message container?
    Thanks

  • Catching and rethrowing a SOAP Fault from an OSB 11g Proxy service

    Hello,
    We have a chain of proxy services (that last one of which calls a business service) in our 11.1.1.6 OSB project.  At one of the lower levels, we successfully throw a fault like this:
    <soapenv:Body xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
      <soap:Fault xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
        <soap:faultcode>SOAP-ENV:Client</soap:faultcode>
        <soap:faultstring>Non-Existent User</soap:faultstring>
        <soap:faultActor>Client who consumed this Web Service operation</soap:faultActor>
        <soap:detail>
          <sc:UserNonExistentFault xmlns:sc="http://xmlns.sc.com/Services/V1">
            <sc:CustomerNumber>12345</sc:CustomerNumber>
          </sc:UserNonExistentFault>
        </soap:detail>
      </soap:Fault>
    </soapenv:Body>
    In the proxy service which calls this proxy service, I tried to catch this fault in an Error Handler so that I could confirm that it's available for me to re-throw back up the chain.  Curiously, the proxy service which calls that proxy service cannot see that fault.  But rather it sees what appears to be an OSB-overridden fault:
    <con:fault xmlns:con="http://www.bea.com/wli/sb/context">
      <con:errorCode>BEA-380000</con:errorCode>
      <con:reason>com.bea.wli.sb.pipeline.PipelineException</con:reason>
      <con:details>
        <err:ErrorResponseDetail xmlns:err="http://www.bea.com/wli/sb/errors">
          <err:response-metadata xsi:type="sb:SBResponseMetaDataXML" xmlns:sb="http://www.bea.com/wli/sb/transports/sb" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <tran:headers xsi:type="sb:SBResponseHeadersXML" xmlns:tran="http://www.bea.com/wli/sb/transports"/>
            <tran:response-code xmlns:tran="http://www.bea.com/wli/sb/transports">1</tran:response-code>
            <tran:encoding xmlns:tran="http://www.bea.com/wli/sb/transports">utf-8</tran:encoding>
          </err:response-metadata>
        </err:ErrorResponseDetail>
      </con:details>
      <con:location>
        <con:node>PipelinePairNode</con:node>
        <con:pipeline>PipelinePairNode_request</con:pipeline>
        <con:stage>GetCustomerByNumber</con:stage>
        <con:path>request-pipeline</con:path>
      </con:location>
    </con:fault>
    I have tried printing out the values of $body, $fault, $outbound and $inbound from the calling proxy service's Error Handler just to see if our <sc:UserNonExistentFault> is nested anywhere therein.  Unfortunately, it is nowhere to be found.
    How can we force OSB to NOT override our faults with OSB-framework faults and, instead, just throw our custom fault all the way up the chain and back to the consumer?
    Thank you,
    Michael

    I think I figured this out.
    In proxyService-2, build the <soap:Fault> and assign it to the body, then Reply with Failure (as you mentioned above).
    When proxyService-1 receives this, it will still be in the $body variable.  But the $fault variable is now populated with a BEA-38000 error.  It seems that as long as the $fault variable has data in it, then the OSB system will throw that instead of my fault (ignoring the <soap:Fault> I put into the body).
    So what I did was to Delete the $fault variable in the error handler of proxyService-1, then Reply with Failure (again).
    It would seem as if the inner workings of OSB has some logic like:
    if $fault is not null, throw the BEA-####### fault.  Otherwise, return the contents of the $body.
    By removing the fault, I effectively got to that "else/otherwise" condition.
    Of course, the Reply with Failure is still needed to ensure that an HTTP 500 error is passed with the fault (per the SOAP specification).
    Cheers!
    Michael

  • Error message : soap fault: java.lang.NumberFormatException

    Hello,
    I have Idoc to SOAP scenario. We I send Idoc, I get following error,
    SOAP: response message contains an error XIAdapter/PARSING/ADAPTER.SOAP_EXCEPTION - soap fault: java.lang.NumberFormatException Message being parsed:
    To be on safer side, I have populated all the fields with values. I have tested the same scenarion using SOAP UI tool with payload from XI & it works fine.
    This is very annoying. Can anybody help?
    Regards,
    Sunil

    Prateek,
    Here is my xml which goes to web service via SOAp adopter,
       470 {/ns0:company_code} 
       Constant {/ns0:userid} 
       Constant {/ns0:password} 
       1 {/ns0:acklm} 
       20090821 {/ns0:badat} 
       1020104878 {/ns0:banfn} 
       A {/ns0:banst} 
       NB {/ns0:bsart} 
       20090821 {/ns0:erdat} 
       Constant {/ns0:temp1} 
       Constant {/ns0:temp2} 
       Constant {/ns0:temp3} 
       Sunil.Joyous com {/ns0:email} 
       146474 {/ns0:ernam} 
       Sunil Joyous {/ns0:name} 
       {/ns0:zossatb}
       TEST OSAT {/ns0:afnam} 
       1 {/ns0:anln1} 
       1 {/ns0:anln2} 
       1 {/ns0:aufnr} 
       1020104878 {/ns0:banfn} 
       1 {/ns0:bednr} 
       00010 {/ns0:bnfpo} 
       NB {/ns0:bsart} 
       1.000 {/ns0:bsmng} 
       1.000 {/ns0:bumng} 
       1 {/ns0:catalog_info} 
       1 {/ns0:ebakz} 
       T02 {/ns0:ekgrp} 
       IZ {/ns0:ekorg} 
       IZ {/ns0:gsber} 
       5300642603 {/ns0:infnr} 
       1 {/ns0:knttp} 
       1 {/ns0:kostl} 
       20090812 {/ns0:lfdat} 
       1 {/ns0:lifnr} 
       X {/ns0:loekz} 
       BOX CARDBOARD TELESCOPIC PART {/ns0:maktx} 
       00441010 {/ns0:matkl} 
       000000000002647430 {/ns0:matnr} 
       ST {/ns0:meins} 
       10.000 {/ns0:menge} 
       1 {/ns0:mfrpn} 
       1 {/ns0:peinh} 
       10.000 {/ns0:preis} 
       0 {/ns0:pstyp} 
       X {/ns0:repos} 
       1 {/ns0:saknr} 
       1 {/ns0:statu} 
       470 {/ns0:temp1} 
       PACKING {/ns0:temp2} 
       20090821 {/ns0:temp3} 
       BOX CARDBOARD TELESCOPIC PART {/ns0:txt01} 
       TRY {/ns0:waers} 
       1 {/ns0:wempf} 
       X {/ns0:wepos} 
       IZ {/ns0:werks} 
       1 {/ns0:zdegsta} 
       TEST TEST {/ns0:zsastxt} 
       F442617301 ,4085212101 ,JL/QSC-70108949 ,OUT ,7064 58 049 , , , , , , , , , , {/ns0:ztanim} 
       {/ns0:zossatd}
       1020104878 {/ns0:banfn} 
       00010 {/ns0:bnfpo} 
       NB {/ns0:bsart} 
       470 {/ns0:temp1} 
       Constant {/ns0:temp2} 
       Constant {/ns0:temp3} 
       PO TEXT {/ns0:zmetin1} 
       1 {/ns0:zmetin10} 
       1 {/ns0:zmetin2} 
       1 {/ns0:zmetin3} 
       1 {/ns0:zmetin4} 
       1 {/ns0:zmetin5} 
       Constant {/ns0:zmetin6} 
       Constant {/ns0:zmetin7} 
       Constant {/ns0:zmetin8} 
       Constant {/ns0:zmetin9} 
       {/ns0:zossatt}
    Out of these following fields are of decimal type,
    BSMNG, BUMNG, MENGE, PEINH, PREIS
    Rest all are of string type.
    Edited by: Sunil Joyous on Aug 21, 2009 2:01 PM
    Edited by: Sunil Joyous on Aug 21, 2009 2:02 PM
    Edited by: Sunil Joyous on Aug 21, 2009 2:02 PM

  • SOAP Fault when returning null from a Native Web Service Stored Procedure

    I have a stored procedure which I can successfully invoke via soapUI
    However, if one of the Stored Procedure's OUT arguments is set to null the native web service returns the following fault :
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
    <soap:Fault>
    <faultcode>soap:Client</faultcode>
    <faultstring>Error processing input</faultstring>
    <detail>
    <OracleErrors xmlns="http://xmlns.oracle.com/orawsv/faults">
    <OracleError>
    <ErrorNumber>ORA-19202</ErrorNumber>
    <Message>Error occurred in XML processing</Message>
    </OracleError>
    <OracleError>
    <ErrorNumber>ORA-01405</ErrorNumber>
    <Message>fetched column value is NULL</Message>
    </OracleError>
    </OracleErrors>
    </detail>
    </soap:Fault>
    </soap:Body>
    </soap:Envelope>I can see how to control the processing of null values when invoking orawsv (using the null_handling element).
    Is there an equivalent for Stored Procedures ?
    Thanks,
    PD
    versions as follows :
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    PL/SQL Release 11.2.0.1.0 - Production
    "CORE     11.2.0.1.0     Production"
    TNS for Linux: Version 11.2.0.1.0 - Production
    NLSRTL Version 11.2.0.1.0 - Production

    Without going into any technical discussion about the code, my first question is what JDK version was used to create this which was imported into the form? Understand that Forms 10 runs on JDK 1.4.2, so if you used any newer JDK version, likely there will be problems.

  • BPM:  System_Error" SOAP fault message received

    Hi,
    We upgraded SAP system from 4.7 to ERP2004 on 09/17/05.
    We have XI-3.0 version from last 9 months and this BPM was working good so far. We have not changed anything in it except we upgraded the SAP system.
    We are using ABAP proxy from SAP to send "userid"
    message to XI-BPM and then it would make a Synchonous call to SAP system to get roles of those "usrid".
    In the first step when it is sending data to XI an exception is raised and in the second step when it tries to make synchronous call to SAP we are getting error:
    <Trace level="3" type="T">Deserializing message object...</Trace>
      <Trace level="3" type="System_Error">SOAP fault message received</Trac
      <Trace level="3" type="System_Error">SOAP fault code: Client</Trace>
      <Trace level="3" type="System_Error">SOAP fault string: Error during c
    I noticed that the XML name tag looks different now
    Before upgrade when message was successful.
    <?xml version="1.0" encoding="utf-8" ?>
    - <ns1:MT_ECA_USRID xmlns:ns1="http://bcm.edu/common"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <USRID>CLARKSON</USRID>
      <USRID>2_MA140016</USRID>
       </ns1:MT_ECA_USRID>
    After upgrade when message is failed
    <?xml version="1.0" encoding="utf-8" ?>
    - <nr1:MT_ECA_USRID xmlns:nr1="http://bcm.edu/common">
      <USRID>AABULIMI</USRID>
      <USRID>AB147899</USRID>
      <USRID>ACHALL</USRID>
       </nr1:MT_ECA_USRID>
    You would notice that
    " xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    missing after upgrade.
    I would appreciate if anyone could help me.
    Mrudula

    Hi,
    Can you paste the full error message. Also take a look at the default trace log in Visual Admin. Set the logging for soap to debug.
    Naveen

  • SOAP Fault:javax.xml.rpc.soap.SOAPFaultException: Exception during processi

    Hi: We are using weblogic81 sp3. Other developers in my office ran the same porgram and got no errors.
    My startWebLogic.cmd are configured exactly same as theirs.
    My startWebLogic classpath:
    set CLASSPATH=%WL_HOME%\server\lib\ojdbc14.jar;%WL_HOME%\server\lib\CR122067_81sp3.jar;%WEBLOGIC_CLASSPATH%;%POINTBASE_CLASSPATH%;%JAVA_HOME%\jre\lib\rt.jar;%WL_HOME%\server\lib\webservices.jar;%CLASSPATH%
    I keep getting this webservice error.
    SOAP Fault:javax.xml.rpc.soap.SOAPFaultException: Exception during processing: w
    eblogic.xml.schema.binding.DeserializationException: mapping lookup failure. typ
    e=['java:language_builtins.util']:ArrayList schema context=TypedSchemaContext{ja
    vaType=[Ljava.lang.Object;} (see Fault Detail for stacktrace)
    Detail:
    <detail>
    <bea_fault:stacktrace xmlns:bea_fault="http://www.bea.com/servers/wls70/webse
    rvice/fault/1.0.0">weblogic.xml.schema.binding.DeserializationException: mapping
    lookup failure. type=['java:language_builtins.util']:ArrayList schema context=T
    ypedSchemaContext{javaType=[Ljava.lang.Object;}
    at weblogic.xml.schema.binding.RuntimeUtils.lookup_deserializer(RuntimeU
    tils.java:461)
    thank you for your help

    we used castor to do xml mapping

  • Java.rmi.RemoteException: SOAP Fault:javax.xml.rpc.soap.SOAPFaultException

    Hi, I created a webservice using weblogic8.1 sp3 workshop. On my desktop, I tested the webservice with a java client and it worked fine. When I deployed webservice application on UNIX production server, it deployed successfully and it displayed WSDL file too. But, when I run java client from desktop to access this webservice on UNIX server, it is throwing the following exception.
    java.rmi.RemoteException: SOAP Fault:javax.xml.rpc.soap.SOAPFaultException: EXCEPTION: java.lang.NoClassDefFoundError [ServiceException]
    Detail:
    <detail>
    null </detail>; nested exception is:
    javax.xml.rpc.soap.SOAPFaultException: EXCEPTION: java.lang.NoClassDefFoundError [ServiceException]
    at weblogic.jws.proxies.MyServiceSoap_Stub.getInfo(MyServiceSoap_Stub.java:31)
    at SoapClient.main(SoapClient.java:17)
    Caused by: javax.xml.rpc.soap.SOAPFaultException: EXCEPTION: java.lang.NoClassDefFoundError [ServiceException]
    at weblogic.webservice.core.ClientDispather.receive(ClientDispatcher.java:313)
    at weblogic.webservice.core.ClientDispatcher.dispatch(ClientDispatcher.java:144)
    at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:457)
    at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:443)
    at weblogic.webservice.core.rpc.StubImpl._invoke(StubImpl.java:290)
    at weblogic.jws.proxies.MyServiceSoap_Stub.getInfo(MyServiceSoap_Stub.java:26)
    can somebody please help me. This is very critical for me.
    Thanks in advance.

    Hi, I created a webservice using weblogic8.1 sp3 workshop. On my desktop, I tested the webservice with a java client and it worked fine. When I deployed webservice application on UNIX production server, it deployed successfully and it displayed WSDL file too. But, when I run java client from desktop to access this webservice on UNIX server, it is throwing the following exception.
    java.rmi.RemoteException: SOAP Fault:javax.xml.rpc.soap.SOAPFaultException: EXCEPTION: java.lang.NoClassDefFoundError [ServiceException]
    Detail:
    <detail>
    null </detail>; nested exception is:
    javax.xml.rpc.soap.SOAPFaultException: EXCEPTION: java.lang.NoClassDefFoundError [ServiceException]
    at weblogic.jws.proxies.MyServiceSoap_Stub.getInfo(MyServiceSoap_Stub.java:31)
    at SoapClient.main(SoapClient.java:17)
    Caused by: javax.xml.rpc.soap.SOAPFaultException: EXCEPTION: java.lang.NoClassDefFoundError [ServiceException]
    at weblogic.webservice.core.ClientDispather.receive(ClientDispatcher.java:313)
    at weblogic.webservice.core.ClientDispatcher.dispatch(ClientDispatcher.java:144)
    at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:457)
    at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:443)
    at weblogic.webservice.core.rpc.StubImpl._invoke(StubImpl.java:290)
    at weblogic.jws.proxies.MyServiceSoap_Stub.getInfo(MyServiceSoap_Stub.java:26)
    can somebody please help me. This is very critical for me.
    Thanks in advance.

  • SOAP Fault while invoking ISG Service through BPEL

    Hi,
    I am trying to invoke a EBS R12 pl sql API exposed as a web service through integrated SOA gateway. But i am hitting the same error for different API`s that i have tried with. the error is :
    <remoteFault>
    <part name="summary">
    <summary>Error occured while service was processing.</summary>
    </part>
    <part name="detail">
    <detail>oracle.j2ee.ws.client.jaxws.JRFSOAPFaultException: Client received SOAP Fault from server : Error occured while service was processing.</detail>
    </part>
    <part name="code">
    <code>{http://schemas.xmlsoap.org/soap/envelope/}Server</code>
    </part>
    </remoteFault>
    I have supplied the r12 credentials through the composite WS Policies and the header details for the API as well. I am also able to call the API through PL/SQL code. Any reason why this error is occuring.

    My 2 cents here - are you using ?wsdl for accessing the wsdl? Reason I am asking this is because you get a fault message as you have posted, i.e., The action (ABC#) did not identify an operation, looks like you are hitting the service directly instead of querying for the wsdl. Also, while you are using this wsdl in your PS/BS, for example, maybe in a route action, are you sure you are selecting the operation from the list of operations this wsdl has?

  • Error:SOAP: response message contains an error XIAdapter/PARSING/ADAPTER.SOAP_EXCEPTION - soap fault: Server was unable to read request. --- There is an error in XML document (1, 447). --- Input string was not in a correct format.

    Hi All,
        We have a scenario of FTP-->PI---> Webservice.  While triggering the data in the FTP, it is failing in the PI with the below error
    SOAP: response message contains an error XIAdapter/PARSING/ADAPTER.SOAP_EXCEPTION - soap fault: Server was unable to read request. ---> There is an error in XML document (1, 447). ---> Input string was not in a correct format.
    Can you please help?

    Hi Raja- It seems to be a data quality issue.
    Check for the value @ 1447 position in the xml message that you are trying to send to web service..
    may be a date filed/decimal value which is not in expected format.

  • Handling of SOAP Faults in SOAP Clients consuming PI Web services

    Hi there,
    the following is in regards to SOAP fault error handling in a SOAP client that consumes a Web Service published by PI.
    I have been reading a number of threads and blogs in regards to this topic and I am still left with some open questions which I hope to get some final answersclarifications through this thread.
    In particular the blogs
    Handling Web Service SOAP Fault Responses in SAP NetWeaver XI      - Handling Web Service SOAP Fault Responses in SAP NetWeaver XI
    XI: Propagation of meaningful error information to SOAP Client     - XI: Propagation of meaningful error information to SOAP Client
    have caused by attention.
    Both of these threads are realating to the Fault Message type one can use to return errors back to a SOAP Client (.Net, Java, etc.).
    In our scenario we published a number of Web Services through PI that provide functionality to integrate with an R3 back-end system using inbound ABAP Proxies.
    The services are standardised and will be consumed by a number of .NetJava applications and systems. The reason for the use of ABAP proxies is the customer specific application logic that is executed in the backend system. The Web services are synchronous and don't use ccBPM in the middle. Transformations are performed in PI combined with various lookups to set default values before the message is passed into the ABAP Framework of the R3 back-end system. The lookups are done against the R3 back-end system using the PI RFC Lookup feature.
    The inbound proxies currently return application errors as part of the response message back to the SOAP client. For more critical errors we introduced the use of Fault message types as the method to return the information back to the SOAP Client. This is all working satisfactory.
    The questions I have are as follows.
    1. When an error occurs at the IE level (e.g. mapping error), ABAP Proxy framework level (e.g. conversion from XML to ABAP format) or Adapter Framework level (Adapter releated error) a different SOAP fault message structure is returned to the SOAP Client than the one    used for the application errors. The SOAP fault message structure used in this case is the standard SOAP fault used by PI to return system errors back to the caller. For those SOAP fault messages there is no payload generated that could be mapped to the SOAP fault structure used for the application errors. This would be preferrable as there would be only one Fault message structure used for both inbound ABAP proxy generated fault messages and PI generated fault messages.
    Also the error messages generated by PI can be quite cryptic and difficult to interpret at the client end and could be filtered     ranslated during message mapping if the payload of the PI generated SOAP fault message could be accessed in a message mapping.
    Point 3 of the above thread 2759 indicates that this would be possible but doesn't outline how. Could somebody please clarify this for me as I don't believe that this is really possible ???.
    My idea instead was to use the PI SOAP fault message structure to also return application errors. Therefore I would create a Fault message type that matches the PI SOAP fault structure. This would enable the SOAP Client to handle only one SOAP Fault error structure. Would that be something to look into instead ?????.
    2. We have been looking at using the integrated WEB AS SOAP adapter instead of using the AF Sender SOAP adapter. While playing with this we encountered differences in the content returned through the SOAP fault generated by PI. A sample is below. Shouldn't the content of these SOAP faults be the same if the error that caused it is the same. Also the SOAP fault returned by the IE SOAP adapter is much more    useful in this particular case. Both errors below are the same, a conversion error from XML to ABAP took place in the inbound ABAP proxy framework of the back-end system.
    SOAP fault returned when using SOAP Sender adapter of AF
    <!see the documentation>
    <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
       <SOAP:Body>
          <SOAP:Fault>
             <faultcode>SOAP:Server</faultcode>
             <faultstring>Server Error</faultstring>
             <detail>
                <s:SystemError xmlns:s="http://sap.com/xi/WebService/xi2.0">
                   <context>XIAdapter</context>
                   <code>ADAPTER.JAVA_EXCEPTION</code>
                   <text>com.sap.aii.af.ra.ms.api.DeliveryException: XIProxy:PARSE_APPLICATION_DATA:
         at com.sap.aii.adapter.xi.ms.XIEventHandler.onTransmit(XIEventHandler.java:455)
         at com.sap.aii.af.ra.ms.impl.core.queue.consumer.CallConsumer.onMessage(CallConsumer.java:134)
         at com.sap.aii.af.ra.ms.impl.core.queue.Queue.run(Queue.java:916)
         at com.sap.aii.af.ra.ms.runtime.MSWorkWrapper.run(MSWorkWrapper.java:56)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)</text>
                </s:SystemError>
             </detail>
          </SOAP:Fault>
       </SOAP:Body>
    </SOAP:Envelope>
    SOAP fault using integrated SOAP adapter of PI IE
    <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
       <SOAP:Body>
          <SOAP:Fault>
             <faultcode>SOAP:Server</faultcode>
             <faultstring>System Error</faultstring>
             <detail>
                <s:SystemError xmlns:s="http://sap.com/xi/WebService/xi2.0">
                   <context/>
                   <code>ABAP.PARSE_APPLICATION_DATA</code>
                   <text>Error during XML => ABAP conversion (Request Message; error ID: CX_ST_DESERIALIZATION_ERROR; (/1SAI/TXSBE20FF604BAFEF8D990A XML Bytepos.: 564  XML Path: ns1:CreatePORequest(1)POHEADER(2)COMP_CODE(1) Error Text: Data loss occurred when converting ############################## Kernel ErrorId: CONVT_DATA_LOSS))</text>
                </s:SystemError>
             </detail>
          </SOAP:Fault>
       </SOAP:Body>
    </SOAP:Envelope>
    I have been reading threads for hours without being able to find one that answers questions 1 or provides a blog that outlines the approach one should take for error handling in SOAP clients that consume PI Web Services (and covers both PISystem generated faults and faults raised in Proxies).
    There may already be a blog or thread and I just missed it.
    Any comments are welcome.
    Thanks. Dieter

    Hi Dieter,
    As Bhavesh already mentioned fault messages are used for application errors. The same is described in SAP XI help:
    http://help.sap.com/saphelp_nw04/helpdata/en/dd/b7623c6369f454e10000000a114084/frameset.htm
    In case of system error (e.g. field length too long in proxy call or error in XI/PI mapping) there seems to be no standard way of handling it and propagating the response to the consumer of webservice.
    Each system error is not recognized by SOAP adapter and SOAP adapter exception is raised.
    The only bizzare solution that I can see is developing an adapter module and transport wrong message to standard fault message before delivering it to adapter engine:
    http://help.sap.com/saphelp_nw04/helpdata/en/a4/f13341771b4c0de10000000a1550b0/frameset.htm
    Kind regards,
    Wojciech
    btw nice thread

  • ABAP proxy exception to SOAP fault and vice versa not getting mapped

    Hi there,
    I have these scenario's: ABAP proxy to SOAP (AXIS framework) and the other way around, synchronous, using AAE.
    When declaring the Synchronous Service interfaces we also defined error message types in order to pass system and application exceptions back to the service consumers.
    The behavior we are observing is as follows;
    When an exception is generated on the ABAP proxy, the error message type is correct generated and filled with the corresponding values in the ABAP proxy runtime. However, when the response arrives at the service consumer, it only contains a SOAP fault filled with some kind of generic PI mapping exception information.
    1. Why is the original ABAP proxy exception not mapped/passed into the SOAP response?
    2. What can we do in order to change that situation?
    3. Does it has to do with the use of the AAE - Advanced Adapter Engine or the AXIS framework?
    PS: We have performed a test of the Operation Mapping - OM using the ABAP exception as input and it did work correctly, so the error structure seems to be Ok.
    Many thanks for your replies.
    Edited by: Roberto Viana on Jul 26, 2010 8:30 PM

    Problem was caused by some differences in namespaces between source and target.

  • Java.lang.Exception: oracle.sysman.emSDK.webservices.wsdlapi.SoapTestException: Client received SOAP Fault from server : Failure in SDOSerializer.deserialize

    Hi All,
    I am getting this exception while invoking one of our service from EM. Any pointers will be very helpful.
    java.lang.Exception: oracle.sysman.emSDK.webservices.wsdlapi.SoapTestException: Client received SOAP Fault from server : Failure in SDOSerializer.deserialize. at oracle.sysman.emas.model.wsmgt.WSTestModel.invokeOperation(WSTestModel.java:813) at oracle.sysman.emas.view.wsmgt.WSView.invokeOperation(WSView.java:385) at oracle.sysman.emas.view.wsmgt.WSView.invokeOperation(WSView.java:303) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.sun.el.parser.AstValue.invoke(AstValue.java:187) at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:297) at org.apache.myfaces.trinidadinternal.taglib.util.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:53) at org.apache.myfaces.trinidad.component.UIXComponentBase.broadcastToMethodBinding(UIXComponentBase.java:1491) at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:183) at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:111) at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:384) at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:114) at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:101) at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent$1.run(ContextSwitchingComponent.java:111) at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent._processPhase(ContextSwitchingComponent.java:384) at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.broadcast(ContextSwitchingComponent.java:114) at oracle.adf.view.rich.component.fragment.UIXInclude.broadcast(UIXInclude.java:95) at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:475) at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:756) at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._invokeApplication(LifecycleImpl.java:972) at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:439) at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:219) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:301) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:27) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:61) at oracle.sysman.emSDK.license.LicenseFilter.doFilter(LicenseFilter.java:102) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:61) at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:211) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:61) at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:131) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:447) at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:447) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177) at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:61) at oracle.help.web.rich.OHWFilter.doFilter(Unknown Source) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:61) at oracle.sysman.emas.fwk.MASConnectionFilter.doFilter(MASConnectionFilter.java:41) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:61) at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:181) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:61) at oracle.sysman.eml.app.AuditServletFilter.doFilter(AuditServletFilter.java:183) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:61) at oracle.sysman.eml.app.EMRepLoginFilter.doFilter(EMRepLoginFilter.java:203) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:61) at oracle.sysman.core.model.targetauth.EMLangPrefFilter.doFilter(EMLangPrefFilter.java:158) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:61) at oracle.sysman.core.app.perf.PerfFilter.doFilter(PerfFilter.java:141) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:61) at oracle.sysman.eml.app.ContextInitFilter.doFilter(ContextInitFilter.java:542) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:61) at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119) at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:324) at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:460) at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103) at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171) at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:61) at oracle.security.wls.filter.SSOSessionSynchronizationFilter.doFilter(SSOSessionSynchronizationFilter.java:419) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:61) at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:163) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:61) at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:61) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3739) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3705) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2282) at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2181) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1491) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256) at weblogic.work.ExecuteThread.run(ExecuteThread.java:221) Caused by: oracle.sysman.emSDK.webservices.wsdlapi.SoapTestException: Client received SOAP Fault from server : Failure in SDOSerializer.deserialize. at oracle.sysman.emSDK.webservices.wsdlapi.dispatch.DispatchUtil.invoke(DispatchUtil.java:362) at oracle.sysman.emSDK.webservices.wsdlparser.OperationInfoImpl.invokeWithDispatch(OperationInfoImpl.java:1004) at

    Hi,
    its JDeveloper and ADF on this forum. For EM related questions, you should try the EM forum
    Frank

Maybe you are looking for

  • Delta Exam for 3.5 (or) SAP-BW 7.0 exam ??????

    HAI Im Certified SAP-BW Consultant in 3.0b and working on SAP-BW 3.5(not in BPS). Is it good to delta exam from SAP-BW 3.5 (OR) wait until SAP-BW 7.0 will come in the market and then take the SAP-BW 7.0 . Please suggest the experts . rizwan

  • Do I need to pay for icloud?

    I had itunes match, but I cancelled the subscription so it will run out this month. There is a message on my account that says after that date my music will no longer be available to access from icloud.  I thought icloud was free.  Is there something

  • Exported Library to External HD, error in attempt to link to files on HD

    Hello, I recently began using lightroom and stored the files on the local drive of my macbook pro (current os) until I ran out of space. Exported the catalogue to an external HD, then deleted the files from the local drive. As I tried to import the .

  • Efficient way to install 10gR2 client to Windows XP workstations in an ADS

    Can it be done? Is there a silent install option? What about distributing patch updates? A search in metalink for "client ads" returned pretty much nothing. I was surprised. Our scale is maybe 20 machines, so not that big. But automation that's cheap

  • My left speaker is not working properly, and also making a crackling sound.

    I just bought this computer about a month ago and already having problems. Such as my computer shutting down on its own and now the speakers just started today. It is only the left speaker that starts cracking and then goes completely out, onlt heari