File-SOAP-File Async/Sync Bridge : Null Pointer Exception

Hi All,
I have a File-SOAP-File scenario (Async/Sync Bridge). This scenario was working fine in PI 7.0. However since the time we have upgraded to PI 7.1, this scenario has been failing.
I do receive a response for web service, however the sender File adapter fails after initiating Response bean.
2010-08-04 12:16:02 Information MP: processing local module localejbs/AF_Modules/ResponseOnewayBean
2010-08-04 12:16:02 Information The message was successfully transmitted to endpoint http://vs06cs01.sce.com:8000/sap/xi/engine?type=entry using connection File_http://sap.com/xi/XI/System.
2010-08-04 12:16:02 Information The message status was set to DLVD.
2010-08-04 12:16:02 Error MP: exception caught with cause java.lang.NullPointerException:
2010-08-04 12:16:02 Error File processing failed with java.lang.NullPointerException: 
Our Current PI level: 7.10.7.33
Patch Level: 33
Please advice.
XIer

Hi,
Please go through all the settings for the modules once again - check for any space or other such character present or if some name is not correctly specified.
If you still get the error, then make some change to the channel and re-activate.
Also, make sure you are following the below sequence in the sender file channel-
ModuleName                                                   Type              ModuleKey
AF_Modules/RequestResponseBean      Local Enterprise Bean     1
CallSapAdapter                                        Local Enterprise Bean     2
AF_Modules/ResponseOnewayBean     Local Enterprise Bean     3
Parameters
ModuleKey                    ParameterName                   ParameterValue
1                                       passThrough                          true
3                                        receiverChannel                Receiver File Adapter Name
3                                        receiverService                  Receiver Business Service
Hope this helps.
Regards,
Neetesh

Similar Messages

  • Proxy-Soap-Jdbc  Async/Sync Bridge

    Hi,
    I have proxy soap requestsoap response-jdbc syncronous scenario. i have used async/Sync bridge for that.
    I m getting NO_RECEIVER_CASE_ASYNC, No receiver could be determined error.
    I have created :
    2 Datatype for proxy sender and jdbc receiver and 2 MT
    6 Service interface :
            one abastract syncronous for proxy sender and jdbc receiver
            one abstract asyncronus for proxy sender
            one outbound asyncrous for proxy sender
            one abstract asyncronus for jdbc receiver
            one inbound asysncronus for jdbc receiver
            one abstract syncronous for SOAP request and response
    2 message mapping for request and response
    1 operation mapping  using  abastract syncronous for proxy sender and jdbc receiver with   abstract syncronous for SOAP request and response
    BPM steps
    two container request and response
    receiver- send1- send2
    receiver for asyncrous and file request
    send1 for syncrouns for request and response
    send2 for asyncrouns response.
    Activated the IR.
    ID Part.
    Imported BPM from Design and created two business component one for SOAP receiver and one for proxy sender and jdbc receiver.
    Created 3 Reciver Determination as proxy sender to bpm, bpm to soap, bpm to jdbc receiver.
    Created 3 IInterface Determination as proxy sender to bpm, bpm to soap, bpm to jdbc receiver.
    Created 2 Receiver Agreement as  bpm to soap, bpm to jdbc receiver
    Activated and run the proxy . in sxmb_moni i m getthing No receiver could be determined error.
    I have checked the BPM ,No semantic errors found.
    cleared the cache with sxi_cache and full refresh url.
    Please suggest me with above details.
    Regards
    Laxmi Bhushan Jha

    like in operation mapping we have abstract syncronous interface which has proxy as sender and jdbc as response
    receiver to SOAP reuest and response...
    Either of us seem to be confused!
    This is your scenario (as per my understanding)
    Receive (Proxy_message) --> Transformation --> Send (Mode = Sync...SOAP message) --> Transformation --> Send (mode = Async..JDBC req)
    If the requirement is correctly understood by me then:
    You should have one ASYNC-Outbound and ASYNC-Abstract interface for your Proxy-side.....proxy to be developed on the ASYNC-Out interface.
    You should have a SYNC-ABS and SYNC-IN interface for SOAP req and resp.
    You should have one ASYNC-IN and ASYNC-ABS interface for your JDBC side.
    Mapping to be developed between PROXY_Async and SOAP_Req_Async & SOAP_Resp_Async and JDBC_Async.
    Regards,
    Abhishek.

  • Async/Sync Bridge JMS/File

    Hello,
    An Async/Sync Bridge with usage of the JMS adapter is described in several blogs. Is there a chance to use the JMS Adapter as a sender system and a File Adapter as the receiver system in such a scenario?
    Any suggestions are appreciated.
    Peter

    This "How To" Wiki should help you with the parameters you will need in the JMS Adapter.
    http://wiki.sdn.sap.com/wiki/display/XI/HowTo...ContentconversionmodulewithJ2EEJMS+adapter
    You can go to/from files with no problem, and you don't need the Business Process Engine.

  • Async-Sync Bridge without BPM for SOAP WS and JDBC

    I heard you can now have async-sync communication outside of BPM by utilizing adapter modules?
    My scenarios are:
    proxy (async) -> SOAP WS (sync)
    proxy (async) -> JDBC (sync)
    I will like to capture the synchronous responses in XI and perform some basic error handling.
    I read h[File - RFC - File without a BPM - Possible from SP 19.|File - RFC - File without a BPM - Possible from SP 19.] and the release notes for 2004s SP19 and there is no reference to JDBC or SOAP.
    tia

    Hi Megha,
    Plz do refer the below links u will get an idea:
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/a05b2347-01e7-2910-ceac-c45577e574e0
    Sync/Async communication in Adapter without BPM (SP19)
    Sync/Async communication in JMS adapter without BPM (SP19)
    Async/Sync Communication using JMS adapter without BPM (SP 19)
    Async/Sync Communication using JMS adapter without BPM (SP 19)
    also try this
    Sync/Async communication in JMS adapter without BPM (SP19)
    File - RFC - File without a BPM - Possible from SP 19.
    Collecting IDocs without using BPM
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/5059f110-0d01-0010-7c8b-fdc983be70c0
    Have a look
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/5059f110-0d01-0010-7c8b-fdc983be70c0
    HTTP to RFC - A Starter Kit
    Sync/Async communication in JMS adapter without BPM (SP19)
    https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/1403 [original link is broken] [original link is broken] [original link is broken]
    Do refer this thread:
    JDBC Async-Sync bridge does not work
    Reward if found useful
    Regards,
    Vinod.

  • Async Sync Bridge without BPM (Proxy-Soap-Idoc)

    Hi,
    I have read some blogs how to do the Async Sync Bridge without BPM for JMS adapters. I have a requirement that I am getting a Async Proxy message to PI and then PI makes Sync Soap call then the result need to send through the Idoc adapter.
    Proxy - Soap- Idoc
    Here Proxy is a sender so no adapter required in the Config and also Soap is java based adapter and Idoc adapter is a ABAP based so I am not sure this is possible but I just wanted to check with you.
    Please let know if this is possible or not?
    PI 7.1 with EHP1
    Thanks,
    Laxman
    Edited by: Laxman  Molugu on Oct 14, 2010 2:15 PM

    The mapping programm can be defined as a user defined function. As sample of mine is "getGoogle()", which is doing some kind of address validation. The input parameter URL[0] contains source address. For that you need to import:
    org.apache.commons.logging.*;
    org.w3c.dom.*;
    javax.xml.parsers.*;
    org.xml.sax.SAXException;
    org.apache.commons.httpclient.*;
    org.apache.commons.httpclient.methods.*;
    org.apache.commons.codec.*;
    org.apache.log4j.*;
    Example code for UDF "getGoogle()" is:
    String sUrl = "http://maps.google.de/maps/api/geocode/xml?address=" + URL[0] + "&sensor=false";
    HttpClient client = new HttpClient();
    GetMethod method = new GetMethod(sUrl);
    byte[] responseBody = null;
        try {
    //      int statusCode = client.executeMethod(method);
    //      byte[] responseBody = method.getResponseBody();
    //     result.addValue(new String(responseBody));
    String sResponse = "initial";
    int statusCode = client.executeMethod(method);
    responseBody = method.getResponseBody();
    ByteArrayInputStream bis = new ByteArrayInputStream(responseBody);
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    DocumentBuilder db = factory.newDocumentBuilder();
    Document doc = db.parse(bis);
    doc.getDocumentElement().normalize();
    NodeList nodeLst = doc.getElementsByTagName("formatted_address");
    Node formAdr = nodeLst.item(0);
    NodeList nlFormAdr = formAdr.getChildNodes();
    sResponse = ((Node) nlFormAdr.item(0)).getNodeValue();
          // Deal with the response.
        result.addValue(sResponse);
        } catch (Exception e) {
          result.addValue(e.toString() + "######## exhrenda - googleResponse:############### URL=" + sUrl+"###########"+new String(responseBody));
        } finally {
          // Release the connection.
          method.releaseConnection();

  • I am facing problem while reading values from properties file ...i am getting null pointer exception earlier i was using jdeveloper10g now i am using 11g

    i am facing problem while reading values from properties file ...i am getting null pointer exception earlier i was using jdeveloper10g now i am using 11g

    hi TimoHahn,
    i am getting following exception in JDeveloper(11g release 2) Studio Edition Version 11.1.2.4.0 but it works perfectly fine in JDeveloper 10.1.2.1.0
    Root cause of ServletException.
    java.lang.NullPointerException
    at java.util.PropertyResourceBundle.handleGetObject(PropertyResourceBundle.java:136)
    at java.util.ResourceBundle.getObject(ResourceBundle.java:368)
    at java.util.ResourceBundle.getString(ResourceBundle.java:334)
    at org.rbi.cefa.master.actionclass.UserAction.execute(UserAction.java:163)
    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    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:300)
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)
    at java.security.AccessController.doPrivileged(Native Method)
    at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
    at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:442)
    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:56)
    at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:139)
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
    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:2277)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)

  • Null Pointer Exception Trying to Read File?

    I get a Null Pointer Exception when I try to perform the read hex2.txt, which i know exists and is in the same folder as this java file. Anyone see where my problem is?
    <code>
    import java.io.*;
    public class BytesToZeros
              int count = 0;
              int[] data;
              public static void main (String[] args)
                        BytesToZeros btz = new BytesToZeros();
              public BytesToZeros()
                        this.readFile();
                        this.writeFile();
              private void readFile ()
                        try
                                  FileInputStream fis = new FileInputStream("hex2.txt");
                                  BufferedInputStream bis = new BufferedInputStream(fis);
                                  boolean eof = false;
                                  while (!eof)
                                            int input = bis.read();
                                            if (input == -1)
                                                 eof = true;
                                            else
                                                 data[count] = input;
                                                 count++;          
                                  bis.close();
                        catch (IOException e)
                                  System.err.println("Error Reading File: " + e.getMessage());
                                  count = 0;
              private void writeFile ()
                        String zeros;
                        try
                                  FileOutputStream fos = new FileOutputStream("hex2.txt");
                                  BufferedOutputStream bos = new BufferedOutputStream(fos);
                                  for (int i=0; i<data.length; i++)
                                            bos.write(0);
                                  bos.close();
                        catch (IOException e)
                                  System.err.println("Error writing file: " + e.getMessage());
    </code>

    Doesn't the stack trace you get show which line it was thrown from?
    That should tell you where the problem is.
    It's weird to do a file read and a file write in the constructor like that. It would make somewhat more sense to do
    public static void main (String[] args) {
      BytesToZeros btz = new BytesToZeros();
      btz.readFile();
      btz.writeFile();
    }Although I realize this is just a test.
    Finally, to quote code use square brackes around the code tags:
    &#91;code]&#91;/code]

  • Async/Sync Bridge with SOAP response

    Hi All
    I have a interface that uses BPM for async/sync bridge(SOAP->RFC->IDOC). I now need to change this to send response back to he webservice.
    Any ideas on how to achieve this?
    Regards

    avoid the BPM.
    just do a simple SOAP to RFC scenario here - Walkthrough - SOAP  XI  RFC/BAPI

  • Muli File to File Scenario : Null Pointer Exception

    Hi All,
    I have a  FILE to FILE Scenario.  I intend to transfer Muliple Files from  one system to another.  FTP Servers are running on both the systems.
    1.  In the sender Communication channel:  I have set the name of  the Source Directory 
    2.  In the File name I set <nothing>
    3.  The advanced file selection option is ticked. 
    5. I set the Source directory name and the file mask *.txt in the table.
    all other configurations related to the FTP Server etc are done.
    When the scenario is executed, my sender communication channel shows a null pointer exception when Checked in the Runtime Workbench.
    Can anyone please help and  let me know what it is.
    Thanks,
    Abhishek

    Hi,
    This also does not help.
    One observation:
    If i set the Directory as  the real source directory
    and
    Set in the advance file selection
    The full directory name , and the Full file name for e.g XML1.txt , XML2.txt in the file mask, it works.
    But it results in a failure if I set  *.txt as the file mask.
    Thanks,
    Abhishek

  • Getting java.lang.Null pointer Exception when i close the pdf file.

    Hi,
    my application is java based thick client application.
    From my application, i am generating report file using crystal report tool.
    the report file is exported as pdf format and stored in my local macine. from this path, am displaying the report in a SWT browser.
    till now its working fine. when i close the browser, i am getting java.lang.null.pointer exception.
    i dont understand from this exception, printed in console.
    please help me.
    java.lang.NullPointerException
    at org.eclipse.swt.ole.win32.OleClientSite.onPaint(OleClientSite.java:921)
    at org.eclipse.swt.ole.win32.OleClientSite.access$2(OleClientSite.java:906)
    at org.eclipse.swt.ole.win32.OleClientSite$1.handleEvent(OleClientSite.java:131)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1027)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1012)
    at org.eclipse.swt.widgets.Composite.WM_PAINT(Composite.java:1424)
    at org.eclipse.swt.widgets.Control.windowProc(Control.java:3842)
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:4541)
    at org.eclipse.swt.internal.ole.win32.COM.CoFreeUnusedLibraries(Native Method)
    at org.eclipse.swt.ole.win32.OleClientSite.releaseObjectInterfaces(OleClientSite.java:1084)
    at org.eclipse.swt.ole.win32.OleControlSite.releaseObjectInterfaces(OleControlSite.java:683)
    at org.eclipse.swt.ole.win32.OleClientSite.onDispose(OleClientSite.java:852)
    at org.eclipse.swt.ole.win32.OleClientSite.access$1(OleClientSite.java:847)
    at org.eclipse.swt.ole.win32.OleClientSite$1.handleEvent(OleClientSite.java:128)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1027)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1008)
    at org.eclipse.swt.widgets.Widget.release(Widget.java:804)
    at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:755)
    at org.eclipse.swt.widgets.Widget.release(Widget.java:807)
    at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:755)
    at org.eclipse.swt.widgets.Widget.release(Widget.java:807)
    at org.eclipse.swt.widgets.Widget.dispose(Widget.java:441)
    at com.siemens.med.cad.hqm.reports.ReportViewer$1.widgetDisposed(ReportViewer.java:273)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:117)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1027)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1008)
    at org.eclipse.swt.widgets.Widget.release(Widget.java:804)
    at org.eclipse.swt.widgets.Widget.dispose(Widget.java:441)
    at org.eclipse.swt.widgets.Decorations.dispose(Decorations.java:446)
    at org.eclipse.swt.widgets.Shell.dispose(Shell.java:674)
    at org.eclipse.swt.widgets.Decorations.closeWidget(Decorations.java:308)
    at org.eclipse.swt.widgets.Decorations.WM_CLOSE(Decorations.java:1643)
    at org.eclipse.swt.widgets.Control.windowProc(Control.java:3789)
    at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:337)
    at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1576)
    at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:1937)
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:4528)
    at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
    at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2366)
    at org.eclipse.swt.widgets.Shell.callWindowProc(Shell.java:477)
    at org.eclipse.swt.widgets.Control.windowProc(Control.java:3877)
    at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:337)
    at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1576)
    at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:1937)
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:4528)
    at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method)
    at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2366)
    at org.eclipse.swt.widgets.Shell.callWindowProc(Shell.java:477)
    at org.eclipse.swt.widgets.Control.windowProc(Control.java:3877)
    at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:337)
    at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1576)
    at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:1937)
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:4528)
    at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
    at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2371)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3420)
    at com.siemens.med.cad.hqm.view.mainUI.HQMMainForm.buildMainShell(HQMMainForm.java:246)
    at com.siemens.med.cad.hqm.event.UserLoginEventHandler.loginDisplay(UserLoginEventHandler.java:240)
    at com.siemens.med.cad.hqm.event.UserLoginEventHandler.widgetSelected(UserLoginEventHandler.java:97)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:228)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3823)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3422)
    this is the code i have written for display the report file in a browser:
    Display display = Display.getDefault() ;
         Shell shell = new Shell(display, SWT.RESIZE | SWT.CLOSE | SWT.MIN | SWT.MAX | SWT.APPLICATION_MODAL);
    shell.setText(reportTitle);
    shell.setLayout(new FillLayout());
    shell.setMaximized(false);
    shell.setSize(800, 600);
    Composite comp = new Composite(shell, SWT.NONE);
    comp.setLayout(new FillLayout());
    final Browser browser = new Browser(comp, SWT.FLAT);
    try {
    File file = new File(exportFile);
    URL url = file.toURL();
    browser.setUrl("file:" + url.getPath());
    } catch (MalformedURLException malURLEx) {
    // malURLEx.printStackTrace();
    throw new ProgrammingExceptionAdapter(malURLEx);
    shell.addDisposeListener(new DisposeListener() {
    public void widgetDisposed(DisposeEvent arg0) {
    File file = new File(exportFile);
    if (file != null && file.exists()) {
    file.delete();
    browser.dispose();
    shell.open();
    shell.setFocus()'

    TitiTruc, welcome to the forum. Please don't post in threads that are long dead. When you have a question, start your own topic. Feel free to provide a link to an old post that may be relevant to your problem.
    I'm locking this thread now.
    db

  • JDBC Async-Sync bridge does not work

    Hi folks.
    I read the how to guide “How To Realize a sync-async and async-sync bridge within the Adapter Framework” and I found some tips at SDN (i.e File - RFC - File without a BPM - Possible from SP 19.) . So on, I created a scenario JDBC<=>SOAP.
    My scenario:
    1 JDBC adapter sends an async request to SOAP
    2 SOAP creates an object in its system and then sends a sync confirmation response to the sender (async JDBC adapter Receiver)
    Module Tab of JDBC Sender
    Processing Sequence
    AF_Modules/RequestResponseBean          1
    CallSapAdapter                    2
    AF_Modules/ResponseOnewayBean     3
    Module Configuration
    1 passThrough     true
    3 adapterNamespace     http://sap.com/xi/XI/System
    3 adapterType          JDBC
    3 receiverChannel     JDBC_Object_Receiver
    3 receiverService     Legacy_Service
    The problem is the scenario works fine until an error is detected on communication channel (Receiver). Any kind of error, as communication problem, insert/update problem or procedure types problem. When this thing happens, communication channel (Sender) posts the next message and a persist error appears, like that
    <SAP:Category>XIServer</SAP:Category>
    <SAP:Code area="PERSIST">MSGGUID_EXISTING</SAP:Code>
    <SAP:Stack>Message ID XXXX for pipeline CENTRAL, version already exists in system</SAP:Stack>
    <SAP:Retry>N</SAP:Retry>
    After this, all the next messages remain at "Processing started".
    This persist error message becomes constant in the system. It is executed once an hour approximately.
    I have already tried solving this problem deleting the adapter and recreated it again, but the behavior remains the same.
    This is the SOAP Header Main
      <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--
    Inbound Message
      -->
    - <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SAP="http://sap.com/xi/XI/Message/30">
    - <SOAP:Header>
    - <SAP:Main xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsu="http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" versionMajor="003" versionMinor="000" SOAP:mustUnderstand="1" wsu:Id="wsuid-main-92ABE13F5C59AB7FE10000000A1551F7">
      <SAP:MessageClass>SystemError</SAP:MessageClass>
      <SAP:ProcessingMode>synchronous</SAP:ProcessingMode>
      <SAP:MessageId>6F5A54B3-96DF-C744-8BF6-A4D4B9289C5D</SAP:MessageId>
      <SAP:RefToMessageId>F6BC6270-D94A-11DB-B6D0-00188B40F2CF</SAP:RefToMessageId>
      <SAP:TimeSent>2007-03-23T14:31:30Z</SAP:TimeSent>
    - <SAP:Sender>
      <SAP:Service />
      <SAP:Interface namespace="" />
      </SAP:Sender>
    - <SAP:Receiver>
      <SAP:Party agency="" scheme="" />
      <SAP:Service>VUC</SAP:Service>
      <SAP:Interface namespace="http://oesp0115/xi/webservices">Cliente_THOR_OB</SAP:Interface>
      </SAP:Receiver>
      <SAP:Interface namespace="http://oesp0115/xi/webservices">Cliente_THOR_OB</SAP:Interface>
      </SAP:Main>
    - <SAP:ReliableMessaging xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:QualityOfService>BestEffort</SAP:QualityOfService>
      </SAP:ReliableMessaging>
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Category>XIServer</SAP:Category>
      <SAP:Code area="PERSIST">MSGGUID_EXISTING</SAP:Code>
      <SAP:P1>F6BC6270D94A11DBB6D000188B40F2CF</SAP:P1>
      <SAP:P2>CENTRAL</SAP:P2>
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>Message ID F6BC6270D94A11DBB6D000188B40F2CF for pipeline CENTRAL, version already exists in system</SAP:Stack>
      <SAP:Retry>N</SAP:Retry>
      </SAP:Error>
    - <SAP:HopList xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
    - <SAP:Hop timeStamp="2007-03-23T14:31:30Z" wasRead="false">
      <SAP:Engine type="AE">af.xid.oesp0115</SAP:Engine>
      <SAP:Adapter namespace="http://sap.com/xi/XI/System">XIRA</SAP:Adapter>
      <SAP:MessageId>F6BC6270-D94A-11DB-B6D0-00188B40F2CF</SAP:MessageId>
      <SAP:Info />
      </SAP:Hop>
    - <SAP:Hop timeStamp="2007-03-23T14:31:30Z" wasRead="false">
      <SAP:Engine type="IS">is.00.oesp0115</SAP:Engine>
      <SAP:Adapter namespace="http://sap.com/xi/XI/System">XI</SAP:Adapter>
      <SAP:MessageId>F6BC6270-D94A-11DB-B6D0-00188B40F2CF</SAP:MessageId>
      <SAP:Info>3.0</SAP:Info>
      </SAP:Hop>
      </SAP:HopList>
    - <SAP:RunTime xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
      <SAP:Date>20070323</SAP:Date>
      <SAP:Time>113130</SAP:Time>
      <SAP:Host>oesp0115</SAP:Host>
      <SAP:SystemId>XID</SAP:SystemId>
      <SAP:SystemNr>00</SAP:SystemNr>
      <SAP:OS>Windows NT</SAP:OS>
      <SAP:DB>DB6</SAP:DB>
      <SAP:Language />
      <SAP:ProcStatus>023</SAP:ProcStatus>
      <SAP:AdapterStatus>000</SAP:AdapterStatus>
      <SAP:User>PIAFUSER</SAP:User>
      <SAP:TraceLevel>1</SAP:TraceLevel>
      <SAP:Logging>1</SAP:Logging>
      <SAP:LogSeqNbr>000</SAP:LogSeqNbr>
      <SAP:RetryLogSeqNbr>000</SAP:RetryLogSeqNbr>
      <SAP:PipelineIdInternal>SAP_CENTRAL</SAP:PipelineIdInternal>
      <SAP:PipelineIdExternal>CENTRAL</SAP:PipelineIdExternal>
      <SAP:PipelineElementId />
      <SAP:PipelineService />
      <SAP:QIdInternal />
      <SAP:CommitActor>X</SAP:CommitActor>
      <SAP:SplitNumber>0</SAP:SplitNumber>
      <SAP:NumberOfRetries>0</SAP:NumberOfRetries>
      <SAP:NumberOfManualRetries>0</SAP:NumberOfManualRetries>
      <SAP:TypeOfEngine client="001">CENTRAL</SAP:TypeOfEngine>
      <SAP:PlsrvExceptionCode />
      <SAP:EOReferenceRuntime type="TID" />
      <SAP:EOReferenceInbound type="TID" />
      <SAP:EOReferenceOutbound type="TID" />
      <SAP:MessageSizePayload>1304</SAP:MessageSizePayload>
      <SAP:MessageSizeTotal>3744</SAP:MessageSizeTotal>
      <SAP:PayloadSizeRequest>1304</SAP:PayloadSizeRequest>
      <SAP:PayloadSizeRequestMap>0</SAP:PayloadSizeRequestMap>
      <SAP:PayloadSizeResponse>0</SAP:PayloadSizeResponse>
      <SAP:PayloadSizeResponseMap>0</SAP:PayloadSizeResponseMap>
      <SAP:Reorganization>INI</SAP:Reorganization>
      <SAP:AdapterOutbound>AENGINE</SAP:AdapterOutbound>
      <SAP:InterfaceAction>INIT</SAP:InterfaceAction>
      <SAP:RandomNumber>14</SAP:RandomNumber>
      <SAP:AckStatus>000</SAP:AckStatus>
      <SAP:SkipReceiverDetermination />
      <SAP:Sender_Agreement_GUID>56A2F666C66538F48BCD76B50034F91C</SAP:Sender_Agreement_GUID>
      </SAP:RunTime>
    - <SAP:PerformanceHeader xmlns:SAP="http://sap.com/xi/XI/Message/30">
    - <SAP:RunTimeItem>
      <SAP:Name type="ADAPTER_IN">INTEGRATION_ENGINE_HTTP_ENTRY</SAP:Name>
      <SAP:Timestamp type="begin" host="oesp0115">20070323143130.699</SAP:Timestamp>
      </SAP:RunTimeItem>
    - <SAP:RunTimeItem>
      <SAP:Name type="ADAPTER_IN">INTEGRATION_ENGINE_HTTP_ENTRY</SAP:Name>
      <SAP:Timestamp type="end" host="oesp0115">20070323143130.714</SAP:Timestamp>
      </SAP:RunTimeItem>
    - <SAP:RunTimeItem>
      <SAP:Name type="CORE">INTEGRATION_ENGINE</SAP:Name>
      <SAP:Timestamp type="begin" host="oesp0115">20070323143130.714</SAP:Timestamp>
      </SAP:RunTimeItem>
    - <SAP:RunTimeItem>
      <SAP:Name type="CORE">INTEGRATION_ENGINE</SAP:Name>
      <SAP:Timestamp type="end" host="oesp0115">20070323143130.714</SAP:Timestamp>
      </SAP:RunTimeItem>
    - <SAP:RunTimeItem>
      <SAP:Name type="CORE">INTEGRATION_ENGINE</SAP:Name>
      <SAP:Timestamp type="end" host="oesp0115">20070323143130.87</SAP:Timestamp>
      </SAP:RunTimeItem>
      </SAP:PerformanceHeader>
    - <SAP:Diagnostic xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:TraceLevel>Information</SAP:TraceLevel>
      <SAP:Logging>Off</SAP:Logging>
      </SAP:Diagnostic>
    - <SAP:Trace xmlns:SAP="http://sap.com/xi/XI/Message/30">
      <Trace level="1" type="T">Party normalization: sender</Trace>
      <Trace level="1" type="T">Sender scheme external = XIParty</Trace>
      <Trace level="1" type="T">Sender agency external = http://sap.com/xi/XI</Trace>
      <Trace level="1" type="T">Sender party external =</Trace>
      <Trace level="1" type="T">Sender party normalized =</Trace>
      <Trace level="1" type="T">Party normalization: receiver</Trace>
      <Trace level="1" type="T">Receiver scheme external =</Trace>
      <Trace level="1" type="T">Receiver agency external =</Trace>
      <Trace level="1" type="T">Receiver party external =</Trace>
      <Trace level="1" type="T">Receiver party normalized =</Trace>
      <Trace level="1" type="B" name="CL_XMS_HTTP_HANDLER-HANDLE_REQUEST" />
    - <!--
      -->
      <Trace level="1" type="T">XMB was called with URL /sap/xi/engine?type=entry</Trace>
      <Trace level="1" type="T">COMMIT is done by XMB !</Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-ENTER_XMS" />
    - <!--
      -->
      <Trace level="1" type="B" name="CL_XMS_MAIN-SET_START_PIPELINE" />
    - <!--
      -->
      <Trace level="1" type="B" name="SXMBCONF-SXMB_GET_XMB_USE" />
      <Trace level="1" type="B" name="CL_XMS_TROUBLESHOOT-ENTER_PLSRV" />
      <Trace level="1" type="T">****************************************************</Trace>
      <Trace level="1" type="T">* *</Trace>
      <Trace level="1" type="T">* *</Trace>
      <Trace level="1" type="T">XMB entry processing</Trace>
      <Trace level="1" type="T">system-ID = XID</Trace>
      <Trace level="1" type="T">client = 001</Trace>
      <Trace level="1" type="T">language = E</Trace>
      <Trace level="1" type="T">user = PIAFUSER</Trace>
      <Trace level="1" type="Timestamp">2007-03-23T14:31:30Z BRAZIL</Trace>
      <Trace level="1" type="T">* *</Trace>
      <Trace level="1" type="T">* *</Trace>
      <Trace level="1" type="T">****************************************************</Trace>
    - <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_UC_EXECUTE">
      <Trace level="1" type="T">Message-GUID = F6BC6270D94A11DBB6D000188B40F2CF</Trace>
      <Trace level="1" type="T">PLNAME = CENTRAL</Trace>
      <Trace level="1" type="T">QOS = BE</Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PIPELINE_SYNC" />
    - <!--
      -->
      <Trace level="1" type="T">Get definition of external pipeline CENTRAL</Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-LOOKUP_INTERNAL_PL_ID" />
      <Trace level="1" type="T">Corresponding internal pipeline SAP_CENTRAL</Trace>
    - <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_LOG_TO_PERSIST">
    - <Trace level="1" type="B" name="interface activity determination">
      <Trace level="1" type="T">Version 000</Trace>
      <Trace level="1" type="T">Message status 000</Trace>
      <Trace level="1" type="T">Interface action INIT</Trace>
      <Trace level="1" type="T">(must be INIT for a new determination)</Trace>
      <Trace level="1" type="T">Message type BEST EFFORT. -> No determination</Trace>
      <Trace level="1" type="T">Set interface action INIT into *MAST*</Trace>
      </Trace>
      </Trace>
    - <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_TO_PERSIST">
    - <Trace level="1" type="B" name="interface activity determination">
      <Trace level="1" type="T">Version 000</Trace>
      <Trace level="1" type="T">Message status 000</Trace>
      <Trace level="1" type="T">Interface action INIT</Trace>
      <Trace level="1" type="T">(must be INIT for a new determination)</Trace>
      <Trace level="1" type="T">Message type BEST EFFORT. -> No determination</Trace>
      <Trace level="1" type="T">Set interface action INIT into *MAST*</Trace>
      </Trace>
      </Trace>
      </Trace>
      <Trace level="1" type="T">SystemError message generated. Guid: 6F5A54B396DFC7448BF6A4D4B9289C5D</Trace>
      <Trace level="1" type="T">Error during execution of message : F6BC6270D94A11DBB6D000188B40F2CF</Trace>
      <Trace level="1" type="T">ApplicationMessage was (=RefToMsgId): F6BC6270D94A11DBB6D000188B40F2CF</Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_TO_PERSIST" />
    - <!--
      -->
    - <Trace level="1" type="B" name="interface activity determination">
      <Trace level="1" type="T">Version 000</Trace>
      <Trace level="1" type="T">Message status 000</Trace>
      <Trace level="1" type="T">Interface action INIT</Trace>
      <Trace level="1" type="T">(must be INIT for a new determination)</Trace>
      <Trace level="1" type="T">Message type BEST EFFORT. -> No determination</Trace>
      <Trace level="1" type="T">Set interface action INIT into MAST</Trace>
      </Trace>
      </SAP:Trace>
      </SOAP:Header>
    - <SOAP:Body>
      <SAP:Manifest xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:wsu="http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="wsuid-manifest-5CABE13F5C59AB7FE10000000A1551F7" />
      </SOAP:Body>
      </SOAP:Envelope>
    Someone can help me?
    Regards
    Rafael

    Hey Rafael,
    I've heard of ur problem by Carol Garcia.
    I still think the problem was related to the fact that you were commiting the work at JDBC adapter, even though your DB (it was Oracle, right?) supports internal commit. I do aggree that this scenario should work for non-commiting DBs, though. Thus it is a bug, and the note is relevant.
    Anyway, did you try to commit the work at DB side? I think it should have resolved your case (even though the bug would still exist, but it would not impact you).
    Regards,
    Henrique.

  • Async-sync bridge behavior

    Hello all,
    we have several scenarios where asynchronous JMS communication must be converted to synchronous RFC call. We use modules in sender JMS adapter to achieve this:
    JMS message (async) -> JMS sender channel's async-sync module -> XI (sync) -> sRFC -> XI (sync) -> JMS sender channel's sync-async module -> JMS receiver channel -> JMS message (async)
    This works perfectly when everything is OK and even when some problems occur (JMS rollback is performed). But in case of any problem in receiver JMS channel the behavior is arguable: Message is already processed in target system, response is lost forever and request is rolled back to sender queue to be processed again!
    The result is that message may be processed many times in the target system and the caller system does even never learn about it!
    We have transactional behavior set in our sender JMS channel with QoS Exactly Once. This QoS is not kept in case of receiver channel problem.
    SAP states that this is normal behavior of async-sync bridge implemented with modules (no-BPM way). But I think there should be normal asynchronous processing (some queue) used when the message is converted back to asynchronous form. Such message must never be lost in XI.
    Has anybody similar experience with async-sync bridging behavior in XI?
    Thanks
    Tomas

    This "How To" Wiki should help you with the parameters you will need in the JMS Adapter.
    http://wiki.sdn.sap.com/wiki/display/XI/HowTo...ContentconversionmodulewithJ2EEJMS+adapter
    You can go to/from files with no problem, and you don't need the Business Process Engine.

  • Problem with JMS Correlation i Async/Sync bridge

    This is my scenario:
    I’m receiving a request message from the JMS-adapter and forward this via a async/sync bridge to CRM. I’m using a synchronous proxy in CRM. I want to send the response from this proxy back to MQ via the JMS adapter and put my original JMS Message ID in the JMS Correlation ID in the response message.
    I’ve read about how to configure this in the pdf-document “How to Correlate JMS messages”.
    I did as suggested and that is as follows.
    1.     In my receiver channel I set the Correlation Setting “Set XI Conversation ID To”=JMSMessageID.
    2.     In my integration process (“async/sync-bridge”) I set the Conversation ID in my async send step to the Conversation ID of my request message.
    3.     In my sender channel I set the Correlation Setting “Set JMSCorrelationID To”=XI Conversation ID.
    When I test my scenario I get the following error:
    “New JMS message cannot be correlated with the XI message although it is configured. Unable to set because correlation value is null. Correlation rule: XI_CONVERSATIONID, correlated property: JMSCorrelationID”
    I thought that my Conversation ID should carry the value of my initial JMS Message ID. I know that this is not null.
    Can somebody please help me?
    Kind regards.
    /Helé

    Hi Wallace,
    I tried to set the Conversation ID to the Correlation ID instead but I still get the same error.
    The sending application needs to correlate the request message with the corresponding response and since we are using MQ this is the way to do it.
    regards.
    /Helé

  • Questions async-sync bridge with JMS

    Hi all
    SAP recommends using JMS rather than BPM to make async-sync bridge or sync-sync bridge. But how to use it in real life?
    For example, I have an async RFC function to call a sync SOAP function and the sync response  should be passed to a mail receiver. I know how to use BPM to achieve this scenario. But how should we use JMS or can we use JMS to do the same thing?
    Another question: If we use SAP own JMS service to make async-sync scenario, we need a sender JMS adapter and a receiver JMS adapter. Are the sender and receiver connected to the same queue in JMS or different queues?
    Thanks!
    Regards,
    Hui

    Hi Hui!!
    have a look in these Url's
    <b>sync/Sync Bridge in the Sender JMS Adapter</b>
    http://help.sap.com/saphelp_nw04/helpdata/en/45/20d251c20a0732e10000000a155369/frameset.htm
    You can get some idea on these links also
    /people/sriram.vasudevan3/blog/2005/01/11/demonstrating-use-of-synchronous-asynchronous-bridge-to-integrate-synchronous-and-asynchronous-systems-using-ccbpm-in-sap-xi - Use of Synch - Asynch bridge in ccBPM
    https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/1403 [original link is broken] [original link is broken] [original link is broken] - Use of Synch - Asynch bridge in ccBPM
    Go thru following Weblogs:
    1.Walkthrough with BPM:- /people/krishna.moorthyp/blog/2005/06/09/walkthrough-with-bpm
    2./people/michal.krawczyk2/blog/2005/06/11/xi-how-to-retrieve-messageid-from-a-bpm
    3./people/ravikumar.allampallam/blog/2005/02/17/bridging-the-sync-async-bridge-with-fork-xi
    4.https://www.sdn.sap.com/sdn/weblogs.sdn?blog=/pub/wlg/1403 [original link is broken] [original link is broken] [original link is broken]
    <b>Sync/Async communication in JMS adapter without BPM</b>
    /people/venkataramanan.parameswaran/blog/2007/01/18/syncasync-communication-in-jms-adapter-without-bpm-sp19
    this thead also
    Async/sync bridge

  • Concurrency for JMS Sender Adapter - Async/Sync Bridge

    Hi,
    We have implemented a number of Async/Sync bridges using JMS Adapters, and are encountering problems scaling the solution.
    Async-Sync Bridge Scenario:
    JMS Sender Adapter -> Integration Server -> Sync ABAP Proxy (CRM) ->  JMS Receiver Adapter
    The bridge is using the Adapter Framework modules: RequestResponseBean & ResponseOnewayBean within the Sender Adapter.
    The problem is that concurrency of processing seems to be driven from the number of Java Server Cluster Nodes on the Adapter Engine.  The JMS sender adapters do not appear to read from the external messaging system (MQ) in a concurrent fashion.  They appear to process in a sequential manner per Adapter:
    1. Read from request Message Queue (MQ)
    2. Send request for processing (IS)
    3. Wait response message
    4. Receive response message
    5. Write response message to Message Queue (MQ)
    6. Read from request Message Queue (MQ)
    7. Send request for processing (IS)
    8. Wait response message
    9....
    We need to be able to introduce some means of scaling the solution so that mesages can be read from the MQ request message queue in a concurrent manner.  Hopefully we can do this without adding more javer server nodes to the Adapter Engine.
    We were looking intot he possibility of tuning AS Java properties that control the number of connections to the Messaging System of the Adapter Engine but this has not provided a solution.
    Any information on  this topic would be much appreciated.
    regards
    Murray

    As far as I know, the only wasy for JMS adapter to do concurrent reads from a queue is by having multiple server nodes. This is document in note 856346, point 6.2
    Thanks
    KK

Maybe you are looking for

  • OT: Did you know you can change your profile to show your real name, rather than just your Adobe ID?

    I realize this is off-topic for this particular forum, but I hope it may help some readers. Since this forum is "where I live" in the Adobe forums, I wanted top share it here first. Perhaps after some feedback to refine things, I may post it elsewher

  • How to parse select lines in an html string?

    I've been writing a program to deal with demographic data and the first server it calls returns an xml string. However, the backup server returns an html string instead of an xml string, so the formatting is a bit different. I was going to use a rege

  • Track Changes -- Author Color

    I have made one set of changes in a doc in blue.  I now want to add a second set of changes without eliminating or changing the first set.  Can I add the 2nd set of changes in a new color ...e.g. green, while still keeping the first set of changes in

  • IE Scolling/Lag issues with IWeb Published Site

    Has anyone had any issues with scrolling/lag with Internet Explorer on an iWeb published site? I have a site that runs great on Firefox and safari but terrible on Internet Explorer. I'm thinking it may be the template/design i used? Anyone every seen

  • FileInputStream() I/O in J2ME

    Hi all... I want to ask something. Is there any way to make a new file or read something from a file on handhelds application, because I read the J2ME API and it said that some I/O functions in J2EE like FileInputStream and FileOutputStream are exclu