Soap lookup in PI7.31 message mapping

Hi All,
I have a soap lookup created in UDF in PI message mapping
I am taking material id from the source structure and use it as input parameter for the lookup webservice
Here is the UDF code which takes material number and returns the internal id
AbstractTrace trace = container.getTrace();
String matintid = "";
try {
//instance the channel to invoke the service.
Channel channel = LookupService.getChannel("BS_Bus","CC_SearchLookup");
SystemAccessor accessor = LookupService.getSystemAccessor(channel);
// The Request message in XML. THIS IS THE LOOKUP SERVICE
  String SOAPxml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><searchTM_MATERIAL>xmlns:ns0=\"MDM_MAT_Search_MDM"><query><criteria><fTX_MATERIAL><constraint><value>"
+a
+ "</value><expressionOperator>equals</expressionOperator></constraint></fTX_MATERIAL></criteria></query><reposInfo><repositoryName>REP_MATERIALS</repositoryName><serverName>mdm6765</serverName></reposInfo></searchTM_MATERIAL>";
InputStream inputStream =new ByteArrayInputStream(SOAPxml.getBytes());
XmlPayload payload = LookupService.getXmlPayload(inputStream);
Payload SOAPOutPayload = null;
//The response will be a Payload. Parse this to get the response field out.
SOAPOutPayload = accessor.call(payload);
/* Parse the SOAPPayload to get the SOAP Response back.  */
InputStream inp = SOAPOutPayload.getContent(); 
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); 
/* Create DOM structure from input XML */ 
DocumentBuilder builder = factory.newDocumentBuilder(); 
Document document = builder.parse(inp);
NodeList matlist = document.getElementsByTagName("tM_MATERIAL");
Element material = (Element) matlist.item(0);
NodeList recidlist = material.getElementsByTagName("recordIdentification");
Element recidnode = (Element)recidlist.item(0);
matintid = recidnode.getNodeValue();
trace.addInfo("matnid is" + matintid);
} catch (Exception e) {
trace.addWarning("Error" + e);  }
trace.addInfo("Service XXX success executed");
return matintid;
This is giving a java null point error
Errorjava.lang.NullPointerException: while trying to invoke the method org.w3c.dom.Element.getElementsByTagName(java.lang.String) of a null object loaded from a local variable at slot 16
Any idea whats going on? I am able to get response for the webservice using SOAP UI 
And here is the soap input and output in SOAP UI execution
Input
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:MDM_MAT_Search_MDM" xmlns:urn1="urn:com.sap.mdm.ws.beans.mdt_mat_search_mdm_in" xmlns:urn2="urn:com.sap.mdm.ws.beans" xmlns:urn3="urn:com.sap.mdm.core.beans">
   <soapenv:Header/>
   <soapenv:Body>
      <urn:searchTM_MATERIAL>
         <urn:query>
            <!--Optional:-->
            <urn1:criteria>
                 <!--Optional:-->
               <urn1:fTX_MATERIAL>
                  <urn2:constraint>
                     <!--Optional:-->
                     <urn2:value>12345</urn2:value>
                     <!--Optional:-->
                     <urn2:expressionOperator>equals</urn2:expressionOperator>
                  </urn2:constraint>
               </urn1:fTX_MATERIAL>
            </urn1:criteria>
         </urn:query>
         <urn:reposInfo>
            <urn3:repositoryName>REP_MATERIALS</urn3:repositoryName>
            <urn3:serverName>mdm1234</urn3:serverName>
         </urn:reposInfo>
      </urn:searchTM_MATERIAL>
   </soapenv:Body>
</soapenv:Envelope>
Output:
<SOAP-ENV:Envelope xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <SOAP-ENV:Body xmlns:rpl="urn:MDM_MAT_Search_MDM">
      <rpl:searchTM_MATERIALResponse xmlns:rn0="java:sap/standard" xmlns:rn1="urn:com.sap.mdm.ws.beans" xmlns:rn2="http://schemas.xmlsoap.org/soap/encoding/" xmlns:rn3="urn:com.sap.mdm.core.base" xmlns:rn4="urn:com.sap.mdm.ws.beans.mdt_mat_search_mdm_in" xmlns:rn5="urn:com.sap.mdm.core.beans">
         <rpl:Response>
            <rn1:executionStatus>
               <rn1:status>OK</rn1:status>
               <rn1:description>Search/Retrieve done successfully</rn1:description>
               <rn1:dataObject>Records 1..1 of 1 found</rn1:dataObject>
            </rn1:executionStatus>
            <rn4:tM_MATERIAL>
              <rn4:fTX_MATERIAL>12345</rn4:fTX_MATERIAL>    
             <rn4:recordIdentification>
                   <rn4:internalID>1267</rn4:internalID>
                </rn4:recordIdentification>
       </rn4:tM_MATERIAL>
         </rpl:Response>
      </rpl:searchTM_MATERIALResponse>
Thx
mike

Hi Mike,
What I suspect is, you get a null pointer exception because the XML tag name which you are trying to retrieve, has a namespace. Could you please instead try to use:
getElementsByTagNameNS(java.lang.String namespaceURI, java.lang.String localName)
          Returns a NodeList of all the Elements with a given local name and namespace URI in document order.
Let us know if it works.
Regards,
Shweta

Similar Messages

  • SOAP lookups from withing message mapping

    Hi
       We are doing a call to a webservice from within a udf in a message mapping using the SOAP API described in one of the blogs in SDN. We are using a soap receiver communication channel to make this webservice call -
    We see activity on the communication channel monitoring - indicating that there is a call going out and a response coming back from the webservice. But there are no details shown on the payload in communication channel monitoring. We do not see this webservice lookup as a message on the adapter engine either ?
    Is there any place from within XI runtime environment we can get a hold of the message going out to webservice call and the return from webservice ?  We are facing problems in the webservice not doing the required action desired and hence this question on visibility of the call to the webservice.
    Thanks in advance for your time.

    My udf is basically makes a call to the webserservice lookup method ( line - CallCentralMonitoring.LogToCentralMonitoring( "IN130.10", "COMPLETED"); ) - the definition of CallCentralMonitoring class is given below after the udf
    UDF
    String adapter = "RECEIVE_FusionDBLookUpRequest";
    Channel channel = null;
    boolean retry = false;
    int noOfRetries = 0;
    String sqlQuery = new String("");
    DataBaseAccessor accessor = null;
    DataBaseResult resultSet = null;
    String parameterValue = new String("");
    MappingTrace trace = container.getTrace();
    // Build the Query String
    //sqlQuery = "select * from CTL_BusinessRules with (nolock) where parameter_key = '" + parameterKey + "'";
    sqlQuery = "exec uspCTL_GetBusinessRule '" + parameterKey + "'";
    do
         try
              //trace.addInfo( "SQL query is: " + sqlQuery);
              // Determine a channel, as created in the Configuration
              channel = LookupService.getChannel(businessService,adapter);
              // Get a system accessor for the channel. As the call is being made to a DB, a DatabaseAccessor is obtained.
              accessor = LookupService.getDataBaseAccessor(channel);
              //trace.addInfo( "Successfully obtained the system accessor..." );
              // Execute Query and get the values in resultset
              resultSet = accessor.execute(sqlQuery);
              Iterator rows = resultSet.getRows();
              //trace.addInfo( "Executed query successfully..." );
              while( rows.hasNext() )
                   Map rowMap = (Map)rows.next();
                   parameterValue =  rowMap.get("CHARACTER_VALUE").toString();
                   //trace.addInfo( "Parameter Value is: " + parameterValue );
              retry = false;
              CallCentralMonitoring.LogToCentralMonitoring( "IN130.10", "COMPLETED");
              return parameterValue;
         catch( Exception ex )
              //trace.addInfo( ex.toString() );
              if ( noOfRetries < 3 )
                   retry = true;
                   noOfRetries++;
              else
                   retry = false;
                   CallCentralMonitoring.LogToCentralMonitoring( "SD152.01", "Error");
                   ExceptionThrower.fire( "Database connectivity error: " + ex.toString() );
         finally
              try
                   if ( accessor != null ) accessor.close();
              catch( Exception e )
                   ExceptionThrower.fire("Error closing accesor: " + e.getMessage() );
                   //return e.getMessage();
    } while( retry );
    return null;
    Class CallCentralMonitoring
    package com.xxxxx.xi.mapping.udf;
    import java.io.ByteArrayInputStream;
    import java.io.InputStream;
    import com.sap.aii.mapping.lookup.Channel;
    import com.sap.aii.mapping.lookup.LookupException;
    import com.sap.aii.mapping.lookup.LookupService;
    import com.sap.aii.mapping.lookup.Payload;
    import com.sap.aii.mapping.lookup.SystemAccessor;
    import com.sap.aii.mapping.lookup.XmlPayload;
    public class CallCentralMonitoring {
         public static void LogToCentralMonitoring (String MON_EISLDCTLID, String MON_MsgStatus)  {
              String soapXML = new String("");
              /* Pass the Business System and Communication Channel as  input to the getChannel().
              /* BS_SOAPLOOKUP – Business System*CC_Webservice_SOAP_CURRENCY_CONVERTOR – Receiver SOAP Adapter */
              Channel channel = null;
              try {
                   channel = LookupService.getChannel( "EI_CentralMonitoringServives", "Receive_SOAP_TrackingServiceWS" );
              } catch (LookupException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
              SystemAccessor accessor = null;
              try {
                   accessor = LookupService.getSystemAccessor(channel);
              } catch (LookupException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
              /* Construct the SOAP Request Message using the InputParameters */          
              soapXML = "<LogToCentralMonitoring xmlns=\"http://xxxxx.EI.CentralMonitoring\"> <loggingData> <MON_EISLDCTLID>"
               + MON_EISLDCTLID
               + "</MON_EISLDCTLID><MON_ProgramID>"
               + MON_EISLDCTLID
               + "</MON_ProgramID><MON_ProcessID>"
               + MON_EISLDCTLID
               + "</MON_ProcessID><MON_ClientAlert>"
               + "N"
               + "</MON_ClientAlert><MON_MsgStartTimeStamp>"
               + "03/30/2007 10:00:00"
               + "</MON_MsgStartTimeStamp><MON_MsgEndTimeStamp>"
               + "03/30/2007 10:00:01"
               + "</MON_MsgEndTimeStamp><MON_MsgStatus>"
               + MON_MsgStatus
               + "</MON_MsgStatus><MON_MsgStatusDescription>"
               + MON_MsgStatus
               + "</MON_MsgStatusDescription> </loggingData> </LogToCentralMonitoring>";
              InputStream inputStream = new ByteArrayInputStream(soapXML.getBytes());
              XmlPayload payload = LookupService.getXmlPayload(inputStream);
              Payload soapOutPayload = null;
              /The SOAP call is made here and the response obtained is in the soapOutPayload./
              try {
                   soapOutPayload = accessor.call(payload);
              } catch (LookupException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
         }//end LogToCentralMonitoring
    }//end class

  • RFC Lookup's in message mapping fail with RuntimeException for no reason

    Hi guys,
    We have developed interfaces that execute a lot of RFC's from Message Mapping, by making use of RFC Lookup API.
    In ID, in the corresponding RFC Receiver Communication Channel we have set the number of maximum connections to 100.
    However, when a big number of Idocs with lots of items is sent to XI some messages fail in XI because mapping fails with a runtime exception that is not correct, since there is a return value found from the execution of the RFC function. And when I am testing the mapping in Test mode of XI IR, the mapping is executed successfully.
    Do you think that by increasing the maximum number of connections in Communication Channel, it will take effect?
    Evaggelos

    Hi Evaggelos,
    DECREASE, may be til 10.
    Regards,
    Udo

  • Viewing SOAP Lookup Payloads in PI 7.1

    Hi All,
    I'm performing a SOAP lookup in my message mapping using a UDF and the SystemAccessor api.
    However, in RWB I'm unable to view the payload under the SOAP channel.
    I get a 404 resource not found error when i click on the payload link.
    Here is what I've tried so far:
    1) Set Logging_Sync to 1 in SXMB_ADM for Runtime.
    2) Set messaging.syncMessageRemover.removeBody to false in NWA.
    What am I missing?
    Thanks,
    Harsh

    Hi Shabarish!
    How are things?
    Under conversions I see only JDBC and RFC Lookups!
    Am I missing something?
    /people/jin.shin/blog/2008/02/15/sap-pi-71-mapping-enhancements-series-graphical-support-for-jdbc-and-rfc-lookups
    Thanks,
    Harsh

  • Third Party WebService call: SOAP Lookup vs SOAP Adapter Scenario.

    Hello Experts,
    What are the pros and cons of using SOAP Look up in Message Mapping for webService call.
    Previously my scenario was a standard SOAP Adapter Scenario. But it had BPM, so I have designed it via SOAP look up in Message Map to avoid BPM.
    I want to know what are the merits and demerits (In terms of Performance - Payload size:Runtime, Maintanence, Configurability,etc) of using SOAP Look up instead of standard SOAP Scenario.
    Regards,
    Sudharshan N A

    HI,
    I am assuming that you migth have visted this link
    SOAP Lookup - /people/bhavesh.kantilal/blog/2006/11/20/webservice-calls-from-a-user-defined-function
    SOAP Look-ups are very much possible and performance wise also its preferrable as compare to BPM.
    Its pretty much simple and easy way to handle it with UDFs.
    The performance could also depend upon what kind of things you need to achive or replacing with BPM.
    If you will be dealing with too many resources in BPM then that creates the performance overloaded issues.
    UDFs also have the performance problems nased on the payload size but very minimal.
    Thanks
    swarup

  • Message mapping  response error

    Hi..All,
    i am doing RFC-SOAP scenario, in request message mapping i am giving the values at sender side executed, i am getting the fields at target side, in resonse message mapping giving the all fields at sender side,i executed , but in target side not getting any fields, pls suggest me.
    ****for helpful answers i will give points***********
    thanks in advance,
    Pasi

    Hi
    when you do the RFC to SOAP scenario then you have to craete the two message mapping
    one mapping will be b/w both the request messages
    and other mapping will be b/w the response messages.
    in the interface mapping you select the request message mapping in the request tab and response message mapping in the response tab.
    both the message interfaces outbound as well as inbound interface of the synchronous type.
    if u still face the problem please reply me back
    Thanks
    Rinku

  • Data lookup in R/3 database from message mapping

    Hi,
    I am trying to lookup R/3 database from Message mapping.
    Instead of creating Java class outside XI and then importing into Integration Repository, I have defined an advanced function in message mapping and trying to connect to R/3 using JCo API. But System is giving syntax errors as listed below:
    Check Result for Object CustomerDetailsMap Source code has syntax error:
    F:/usr/sap/C03/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Mapc1513850c14511d985d5001143eb68b9/source/com/sap/xi/tf/_CustomerDetailsMap_.java:58: illegal character: 160 Â Â Â Â Â Â Â Â // Change the logon information to your own system/user
    F:/usr/sap/C03/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Mapc1513850c14511d985d5001143eb68b9/source/com/sap/xi/tf/_CustomerDetailsMap_.java:60: illegal character: 160             "DEV18" ,    // userid
    Can somebody help in rectifying the problem?
    Thanks and Regards,
    Nitin.

    Hi,
    can u post the java code which u have used in mapping.
    There is a doc in XI-Articles. "How to Perform SAP Data Lookups Within XI Mappings" By Jerome Delune 16 October, 2003. Try looking at this article and do ur mapping.
    Hope this helps you.
    Cheers,
    Siva Maranani.

  • Failed in Message Mapping for Sender SOAP Adapter

    I am using a synchronous Sender SOAP adapter for sending SOAP messages using HTTP security protocol. I am trying to send SOAP messages to XI and then to RFC-R/3. And Responses back from RFC to XI and then to SOAP. I am getting an error for failed in message mapping in SXMB_MONI for converting SOAP messages to RFC. When I debug it in Message Mapping in Integration Repository, it works fine.
    Any help is appreciated.
    Thanks in advance!
    Mrudula

    Hi,
    try to do a full cache refresh
    regards,
    Jakub

  • Message-Mapping transformation Error(Soap - XI - SAP)

    Hi
    We have a sceanio
    Soap <-> XI <-> SAP
    We could see the RFC return message from SAP but while trasforming that message to SOAP response ,we are getting the following error. We have manually run the response mapping program, it is executing fine.
    <SAP:Stack>During the application mapping com/sap/xi/tf/_MM_GR_GetTODetails_Response_ a com.sap.aii.utilxi.misc.api.BaseRuntimeException was thrown: RuntimeException in Message-Mapping transformatio~</SAP:Stack>
    Could anybody please help us.
    Thanks
    Ramesh

    Hi
    Thank you so much for your promt responses. I could get great inputs from your responses.
    It is the problem with the RFC return message structure. In one of the segment it was defined mandatory but the RFC is not populating that segment data.
    Appreciate your help.
    Warm Regards
    Ramesh

  • Lookup value mapping table through message mapping.

    Hello All,
    I am working on a graphical mapping (message mapping). When trying to map the source message to the target message, I need to find out it a particular <b>key</b> exists in the <b>value mapping table</b>. Depending on the result, I need to map different source fields to the target field.
    Is there any inbuilt function which will allow me to do a lookup on a value mapping table, or is it possible to lookup a value mapping table from a UDF?
    Please help!
    Warm Regards,
    Keerti

    Hi,
    Please see the below links for Value mapping ..
    Value mapping /people/sukumar.natarajan/blog/2006/10/23/accessing-value-mapping-defined-in-directory-using-java-functions
    Value mapping in XSLT /people/sreekanth.babu2/blog/2005/01/05/design-time-value-mappings-in-xslt
    Value Mapping replication - /people/sreekanth.babu2/blog/2005/02/23/value-mapping-replication
    Also see
    https://www.sdn.sap.com/irj/sdn/advancedsearch?query=value%20mapping%20in%20xi&cat=sdn_weblog
    /people/community.user/blog/2007/01/08/valuemapping-using-the-graphical-mapping-tool
    /people/alessandro.guarneri/blog/2006/03/27/sap-xi-lookup-api-the-killer
    https://www.sdn.sap.com/irj/sdn/advancedsearch?query=value%20mapping%20in%20xi&cat=sdn_weblog
    Regards
    Pradeep N

  • Message mapping RFC lookup

    Hi.
    I'm trying to do a RFC inside a message mapping with java code. I have to send a field (id) and return the vendor code (lifnr).
    I'm searching michal Krawczyk's weblog to see how can i do that but the link is broken.
    Does anybody has that document that can send me to [email protected]?
    Regards.
    Inigo.

    hi Inigo,
    please look at the following blogs,
    /people/sravya.talanki2/blog/2005/12/21/use-this-crazy-piece-for-any-rfc-mapping-lookups
    /people/siva.maranani/blog/2005/08/23/lookup146s-in-xi-made-simpler
    /people/michal.krawczyk2/blog/2005/09/15/xi-rfc-mapping-lookups-from-bc-to-xi
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/801376c6-0501-0010-af8c-cb69aa29941c
    /people/alessandro.guarneri/blog/2006/03/27/sap-xi-lookup-api-the-killer
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/801376c6-0501-0010-af8c-cb69aa29941c
    /people/sravya.talanki2/blog/2005/12/21/use-this-crazy-piece-for-any-rfc-mapping-lookups
    /people/sravya.talanki2/blog/2005/12/21/use-this-crazy-piece-for-any-rfc-mapping-lookups
    Regards
    Sreeram.G.Reddy
    Message was edited by:
            Sreeram Reddy

  • Local lookup in message mapping

    Hi all,
    I've a table on the SAP PI system filled with data. From my message mapping, I want to do a lookup.
    What's the best way to perform this lookup.
    Again, this is a local table. So not a table residing on the SAP ECC system.
    Thanks a lot.
    Dimitri

    Hi,
    >>>I've a table on the SAP PI system filled with data. From my message mapping, I want to do a lookup.
    What's the best way to perform this lookup.
    the best/easiest way would be to use ABAP mapping (right after your message mapping - as in interface
    determination you can have many mappings)
    just to do the lookup in XI table (in abap mapping you juse use a select to get this data)
    so map the data in message mapping
    then do the lookup in abap mapping just for this one field
    Regards,
    Michal Krawczyk

  • JDBC Lookup in message mapping

    Hi Folks,
    in a message-mapping i use a jdbc lookup.
    i get this error, can anybody help me ?
    Put value [Plain exception:Problem when calling an adapter by using communication channel JDBC_MKA_Receiver_Lookup (Party: , Service: R3EREDATA, Object ID: 3ab59ba811163c5697dbcd40fb0c4957) Check whether the communication channel exists in the Integration Directory; also check the cache notifications for the instance Integration Server (central Adapter-Engine) Channel object with Id Channel:3ab59ba811163c5697dbcd40fb0c4957 not available in CPA Cache.
    thanks for your help

    Hi Folks,
    now i get a new error.
    it will be nice when you could answered me, thanks
    Put value [Exception during processing the payload.Problem when calling an adapter by using communication channel JDBC_MKA_Receiver_Lookup (Party: , Service: BS_EPS, Object ID: 866ef440ca5b3cefb1381267f5693591) XI AF API call failed. Module exception: (No information available). Cause Exception: 'JDBC Adapter configuration not initialized: null'. com.sap.aii.mapping.lookup.LookupException: Problem when calling an adapter by using communication channel JDBC_MKA_Receiver_Lookup (Party: , Service: BS_EPS, Object ID: 866ef440ca5b3cefb1381267f5693591) XI AF API call failed. Module exception: (No information available). Cause Exception: 'JDBC Adapter configuration not initialized: null'. at java.lang.Throwable.<init>(Throwable.java:194) at java.lang.Exception.<init>(Exception.java:41) at com.sap.aii.mapping.api.StreamTransformationException.<init>(StreamTransformationException.java:29) at com.sap.aii.mapping.lookup.LookupException.<init>(LookupException.java:72) at com.sap.aii.ibrun.server.lookup.AdapterProxyLocal.execute(AdapterProxyLocal.java:131) at com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.execute(SystemAccessorInternal.java:68) at com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.process(SystemAccessorHmiServer.java:149) at com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.process(SystemAccessorHmiServer.java:77) at com.sap.aii.utilxi.hmis.server.HmisServiceImpl.invokeMethod(HmisServiceImpl.java:169) at com.sap.aii.utilxi.hmis.server.HmisServer.process(HmisServer.java:178) at com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:296) at com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:211) at com.sap.aii.utilxi.hmis.web.workers.HmisInternalClient.doWork(HmisInternalClient.java:70) at com.sap.aii.utilxi.hmis.web.HmisServletImpl.doWork(HmisServletImpl.java:496) at com.sap.aii.utilxi.hmis.web.HmisServletImpl.doPost(HmisServletImpl.java:634) at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:332) at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:0) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:336) at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:868) at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:250) at com.sap.engine.services.httpserver.server.Client.handle(Client.java:0) at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:92) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:30) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:35) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:99) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) Root Cause: com.sap.aii.af.service.api.AFException: XI AF API call failed. Module exception: (No information available). Cause Exception: 'JDBC Adapter configuration not initialized: null'. at java.lang.Throwable.<init>(Throwable.java:194) at java.lang.Exception.<init>(Exception.java:41) at com.sap.aii.af.service.api.AFException.<init>(AFException.java:88) at com.sap.aii.af.service.api.AdapterAccess.sendMsg(AdapterAccess.java:214) at com.sap.aii.af.service.api.AdapterAccess.execute(AdapterAccess.java:283) at com.sap.aii.ibrun.server.lookup.AdapterProxyLocal.execute(AdapterProxyLocal.java:123) at com.sap.aii.ibrun.server.lookup.SystemAccessorInternal.execute(SystemAccessorInternal.java:68) at com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.process(SystemAccessorHmiServer.java:149) at com.sap.aii.ibrun.server.lookup.SystemAccessorHmiServer.process(SystemAccessorHmiServer.java:77) at com.sap.aii.utilxi.hmis.server.HmisServiceImpl.invokeMethod(HmisServiceImpl.java:169) at com.sap.aii.utilxi.hmis.server.HmisServer.process(HmisServer.java:178) at com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:296) at com.sap.aii.utilxi.hmis.web.HmisServletImpl.processRequestByHmiServer(HmisServletImpl.java:211) at com.sap.aii.utilxi.hmis.web.workers.HmisInternalClient.doWork(HmisInternalClient.java:70) at com.sap.aii.utilxi.hmis.web.HmisServletImpl.doWork(HmisServletImpl.java:496) at com.sap.aii.utilxi.hmis.web.HmisServletImpl.doPost(HmisServletImpl.java:634) at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:332) at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:0) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:336) at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:868) at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:250) at com.sap.engine.services.httpserver.server.Client.handle(Client.java:0) at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:92) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:30) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:35) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:99) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) ]

  • Raising exceptions in database lookups in message mapping

    Hi
       We have been able to successfully do a database lookup from within a message mapping - thanks to weblogs already existing out there. However, we have requirement that states that - if the lookup fails ( failure to connect to DB / data retrieved is null ) , then the mapping should fail - and an exception raised.
    How can we go about doing this from within the java code - of the mapping lookup ?
    Any correct pointers /solutions to achieve this will be rewarded rightaway. Thanks in advance for your time.

    Hi,
    you can use Alessandro's way:
    /people/alessandro.guarneri/blog/2006/01/26/throwing-smart-exceptions-in-xi-graphical-mapping
    this way you can throw smart exceptions:)
    Regards,
    michal
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

  • RFC to SOAP Interface - Problem in Request Message Mapping

    Dear All,
    We are working on RFC to SOAP Scenario i.e. pulling out data from an WebService from SAP via PI.
    In Request Message Mapping, when the wsdl file is uploaded as Target Message, the wsdl request shows the nested elements like below.
    <Request>
       <Request_New>
          <PAR1>xyz</PAR1>
          <PAR2>123</PAR2>
       </Request_New>
    </Request>
    But the desired Request should go like below.
    <Request>
       <PAR1>xyz</PAR1>
       <PAR2>123</PAR2>
    </Request>
    Hence it gives an error saying that the tag Request_New does not exist.

    Dear All,
    Our target webservice cotains multiple methods.
    The every method contains its corresponding request, response and SQL ecxeption as messages.
    In case of request structures, every method (except crmPaymentReceived) contains more than 1 root element.
    So while calling those methods having more than 1 root element, the additional header tag will always appear(not avoidable) in the request coming from SAP PI.
    For Example,
    Request Structure for method u2018isLoginIdExistu2019 (having more than 1 root element)
    <?xml version="1.0" encoding="UTF-8"?>
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <soap:Body>
    <ns1:isLoginIdExistRequest xmlns:ns1="http://netpricing">      -
    >>>>>  u201CThis Header tag will always appear u201D
    <isLoginIdExistin0>asp</isLoginIdExistin0>
    <isLoginIdExistin1>1</isLoginIdExistin1>
    </ns1:isLoginIdExistRequest>
    </soap:Body>
    </soap:Envelope>
    For this method, we get the error(saying that ns1:isLoginIdExistRequest xmlns:ns1="http://netpricing" does not exists).
    Request Structure for method u2018crmPaymentReceivedu2019 (having only 1 root element)
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd=http://www.w3.org/2001/XMLSchema-instance xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soap:Body>
    <ns1:crmPaymentReceivedin0 xmlns:ns1="http://netpricing">false</ns1:crmPaymentReceivedin0>
    </soap:Body>
    </soap:Envelope>
    For this method, we get the success response.
    I tested their wsdl URL in XMLspy and wizdal(a wsdl testing tool), it shows request in the format having only root elements and not the header tags.
    But header tags will always appear when header tag contains more than 1 root element.
    Can anybody suggest me how do I tackle this?
    Thanks in Advance.

Maybe you are looking for

  • Trouble connecting to OSX server from XP domain members

    Can someone help me out with a problem connecting to our OS X server from Windows XP? Basically, I only have trouble connecting from XP machines that are members of the domain. Here are some details: OS X Server 10.3.9, bound to domain through Active

  • Problem with email attachments

    I have a problem attaching scanned files to emails. They downsize froma 1Mg scan to a 20kb unreadable attachment when I move them to an outgoing email. How do I fix this ?

  • Want to reduce execution time

    Hi all, I am executing an insert query with about 2 million of records. I is taking around 4 hrs to execute. Sometime it is giving error of (ORA-01652: unable to extend temp segment by string in tablespace). I cannot increase temp. tablespace. Thanks

  • About adding one time vendor

    hi, we are upgrading SRM 5.0 to SRM 7.0.here we have a requiremnt like we want to maintain some  number range .i.e for exp(001-10) as one time vendors, where these vendors are not maintained in R/3 system as they are one time vendor. so when create a

  • Live viewer software for mac to projector!!!

    Hi every1, I have 3M projector X-26i and want to use it as a wifi, in windows i can use it with live viewer software but for mac i din't got any software for it, so can any1 tell me how can i setup it as a wifi network to view the display of my deskt