Post an XML on HTTPS URL using XI

Hi All,
My scenario is SAP SRM - XI - HTTP, where I am posting an XML message from XI to HTTPS URL using HTTP receiver adapter.
Can you tell me what all step needs to be done to configure HTTP receiver adapter in this case. Also, since I have to post an XML message on HTTPS URL (Which is outside the domain), do I need to apply SSL certificates as well?
Appreciate your help!!!
Thanks & Regards,
Amit

Hi Amit
regarding HTTP URl  just check these
You can use the HTTP adapter. Refer to following SDN TV demo of the HHTP adapter for details steps involved into it.
https://media.sdn.sap.com/SDNTV/main.asp?mediaId=107
HTTPS using XMLSPY
http://help.sap.com/saphelp_nw04/helpdata/en/14/ef2940cbf2195de10000000a1550b0/frameset.htm
The HTTPS configuration data of the Adapter Engines has to be configured in the SLD.
More Information in the "SAP Security Guide XI"
http://help.sap.com/saphelp_nw04/helpdata/de/f7/c2953fc405330ee10000000a114084/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/43/64db4daf9f30b4e10000000a11466f/content.htm
Under Security Check for Inbound Messages, you can specify which HTTP Security Level is to be assumed for incoming messages. You can choose from the following security levels:
○ HTTP (default value)
○ HTTPS without client authentication
○ HTTPS with client authentication
http://help.sap.com/saphelp_nw04/helpdata/en/14/ef2940cbf2195de10000000a1550b0/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/fc/5ad93f130f9215e10000000a155106/frameset.htm
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/d23cbe11-0d01-0010-5287-873a22024f79
http://help.sap.com/saphelp_nw04/helpdata/en/f1/2de3be0382df45a398d3f9fb86a36a/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/65/6a563cef658a06e10000000a11405a/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/f1/2de3be0382df45a398d3f9fb86a36a/frameset.htm
<b>Pls reward if useful </b>

Similar Messages

  • Error while posting xml file to URL using URLConnection

    Hello everyone,
    I am facing an issue from long time related to URLConnection. If this would be resolved by your help then I would be very grateful to you.
    One application which posts xml file to URL hangs and after waiting for 5 mins it throws 504 error:
    java.io.IOException: Server returned HTTP response code: 504 for URL: http:hostname.
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:715)
    Same application is running fine without error on another environment from last 5 years. But on another env it is erroring out from the day 1.
    We have many workarounds in place none worked.
    I tried to use HttpClient from apache but that too hanged at URLConnection.getInputStream() method call.
    App is running on iPlanet web server 6.1 using JDK 1.4.0_03
    We still dont know why this program hangs at that particular line in only one env but many times it runs fine. That means 30% of the times it posts xml file without error but 70% times it errors out. So our program logic is to retry until post is successful.
    Once this issue is resolved we will remove the logic of trying again and agian.
    Please provide inputs.
    Thanks,
    Nitin

    The HTTP response 504 means that the server, acting as a gateway, has not received a response from an upstream server in the time it expected.
    I think this is problem is due to the remote server that receives the XML and takes too long to return a response to the local application that posted the XML.
    Try HttpClient and set the timeout variable of the HttpClient instance used.
    Here http://svn.apache.org/viewvc/jakarta/commons/proper/httpclient/trunk/src/examples/PostXML.java?revision=480424&view=markup
    a Post XML sample.
    NB: HttpClient > setTimeout method is deprecated. See : http://jakarta.apache.org/commons/httpclient/apidocs/index.html for an alternative
    Hope That Helps

  • Problems with SAP BC to post a request to https URL

    Hello,
    in a integration scenario one of our partners wants to send a xml to our server via https.<br/>
    I tried this internal with a test business connector. I simple use the WmPublic.pub.client http service.<br/>
    I try to post a record to an https:// URL and get an error. It seems that there is some trouble with the ssl handshake. However it is working in the browser.<br/>
    The option Security -> Certificates -> Trusted Certificates -> CA Certificates Directory is 'unspecified'. Therefore no server certificate should be reject.<br/>
    <br/>
    Now I got an 'iaik.security.ssl.SSLException: Peer sent alert: Alert Fatal: handshake failure<br/>
    ' error. I do not find any helpful entries in this forum. Did anyone solve this issue?<br/>
    <br/>
    Thank you,<br/>
    Nils<br/>
    <br/>
    error:<br/>
    2009-08-03 10:08:13 CEST iaik.security.ssl.SSLException: Peer sent alert: Alert Fatal: handshake failure<br/>
         at iaik.security.ssl.r.f(Unknown Source)<br/>
         at iaik.security.ssl.x.b(Unknown Source)<br/>
         at iaik.security.ssl.x.a(Unknown Source)<br/>
         at iaik.security.ssl.r.d(Unknown Source)<br/>
         at iaik.security.ssl.SSLTransport.startHandshake(Unknown Source)<br/>
         at iaik.security.ssl.SSLTransport.getInputStream(Unknown Source)<br/>
         at iaik.security.ssl.SSLSocket.getInputStream(Unknown Source)<br/>
         at com.wm.net.NetURLConnection.trySSLConnect(NetURLConnection.java:691)<br/>
         at com.wm.net.NetURLConnection.httpsConnect(NetURLConnection.java:562)<br/>
         at com.wm.net.NetURLConnection.connect(NetURLConnection.java:171)<br/>
         at com.wm.net.HttpURLConnection.getOutputStream(HttpURLConnection.java:419)<br/>
         at com.wm.net.HttpContext.getOutputStream(HttpContext.java:578)<br/>
         at com.wm.net.HttpContext.getOutputStream(HttpContext.java:554)<br/>
         at com.wm.net.HttpContext.post(HttpContext.java:338)<br/>
         at pub.client.http(client.java:512)<br/>
    <br/>
    SAP BC Info:<br/>
    Software <br/>
    Product webMethods Integration Server <br/>
    Version 4.6 (Standard Encryption)    Release Notes  <br/>
    Updates BC46_CoreFix7  <br/>
    Build Number 940 + CoreFix 7 [Fixes 1-205 + SP1-3] <br/>
    SSL Standard (40-bit), Provider: IAIK 2.6 <br/>
      <br/>
    Server Environment <br/>
    Java Version 1.3.1_20 (47.0) <br/>
    Java Vendor Sun Microsystems Inc. <br/>
    Java Home /usr/jdk1.3.1_20/jre <br/>
    Java VM Version 1.3.1_20-b03 <br/>
    Java VM Info Java HotSpot(TM) Client VM (mixed mode) <br/>
    Classpath /usr/local/sapbc46/server/updates/BC46_CoreFix7.jar<br/>
    /usr/local/sapbc46/server/lib/server.jar<br/>
    /usr/java/lib/i18n.jar<br/>
    /usr/java/jre/lib/rt.jar<br/>
    /usr/java/lib/i18n.jar<br/>
    /usr/java/jre/lib/rt.jar<br/>
    /usr/java/lib/i18n.jar<br/>
    /usr/java/jre/lib/rt.jar<br/>
    /usr/java/lib/i18n.jar<br/>
    /usr/java/jre/lib/rt.jar<br/>
    /usr/java/lib/i18n.jar<br/>
    /usr/java/jre/lib/rt.jar<br/>
    /usr/java/lib/i18n.jar<br/>
    /usr/java/jre/lib/rt.jar<br/>
    /usr/local/sapbc46/server/lib/classes<br/>
    /usr/local/sapbc46/server/lib/client.jar<br/>
    /usr/local/sapbc46/server/lib/mail.jar<br/>
    /usr/local/sapbc46/server/lib/server.jar<br/>
    packages/SAP/code/classes<br/>
    packages/SAP/code/jars/static/inqmyxml.jar<br/>
    packages/SAP/code/jars/static/jARM.jar<br/>
    packages/SAP/code/jars/static/jCO.jar<br/>
    packages/SAP/code/jars/static/sapjco.jar<br/>
    packages/SAP/code/jars/static/sapxmltoolkit.jar<br/>
    packages/WmPartners/code/classes<br/>
    packages/WmWin32/code/classes <br/>
    OS Linux <br/>
    OS Platform i386 <br/>
    OS Version 2.6.18.8-0.13-default <br/>
    Current User sapbc <br/>
    Working Dir /usr/local/sapbc46/server<br/>

    Ok - in this case you need to include to session based SSL setup in your flow (scenario).
    The pub.security:setKeyAndChain and pub.security:clearKeyAndChain services are used to control which client certificate
    the SAP BC server presents to remote servers. You need to use these services to switch between certificates and
    certificate chains if you are not using aliases for remote servers.
    List of services to be used:
    pub.security:clearKeyAndChain
    -- Associates the default key and certificate chain with the subsequent set of invoked services.
    pub.security:setKeyAndChain
    -- Processes a digital signature to make sure that the provided data has not been modified. The signature input is the DER encoding of the PKCS#7 SignedData object.
    pub.security.pkcs7:sign
    -- Creates a PKCS7 SignedData object.
    pub.security.pkcs7:verify
    -- Processes a digital signature to make sure that the provided data has not been modified.
    pub.security.util:createMessageDigest
    -- Generates a message digest for a given message.
    pub.security.util:getCertificateInfo
    -- Retrieves information (e.g., serial number, issuer, expiration date) from a digital certificate.
    pub.security.util:loadPKCS7CertChain
    -- Converts a certificate chain that is in PKCS7 format to a list (a one-dimensional array) of byte arrays.
    Example:
    Invoke pub.client:http to send data to Company D.
    Invoke pub.security:setKeyAndChain using the key and certificate chain for Company B.
    Invoke pub.client:http to send data to Company B.
    Invoke pub.security:setKeyAndChain using the key and certificate chain for Company C.
    Invoke pub.client:http to send data to Company C.
    Invoke pub.security:clearKeyAndChain to revert back to the default key and certificate chain for Company
    Au2019s server.
    Invoke pub.client:http to send data to Company D.
    Edited by: Kai Lerch-Baier on Aug 3, 2009 1:47 PM

  • ABAP calling HTTPS URL using CL_HTTP_CLIENT

    Hello,
    I have a requirement where I will have to call a URL inside an ABAP or BSP passing some query parameters  program and then the response will be a big string with all the data I need.
    I found I can use CL_HTTP_CLIENT thanks to Brian weblog.
    The URL is HTTPS, the technical contact told me that I would need to encrypt the data in SSL and after pass to the URL as a query parameter.
    Also the response will be encrypted so I will need to convert from SSL before being able to interpret it.
    He also said that I need to install a certificate on my webas server, and use this certificate.
    So my doubts are:
    Do the class CL_HTTP_CLIENT automatic convert the data to SSL?
    How do I install and use such certificate?
    Regards,
    Mauricio

    check out this weblog (under subheading <b>Release 620</b>) to understand how you can load the certificate and use the same with cl_http_client call
    /people/thomas.jung3/blog/2004/11/17/bsp-a-developers-journal-part-xiv--consuming-webservices-with-abap
    Regards
    Raja

  • CXML PO posting on HTTPS url

    Hi,
    My scenario is to post an cXML PO document on HTTPS url using XI.
    I tried to import cXML DTD (standard) in XI, but it is of no use, as Vendor wants a customize cXML message. My approach is to create an underline xml structure in XI and then using Adapter Module programing add the additional cXML tag to the XML structure.
    Also, the credentials are passed through Ariba Network.
    Please let me know, whether my approach is right? or do I need to ask my Client to go buy an adapter from Seeburger or iWay?
    Please advise.
    Regards,
    Amit

    Thanks Prateek,
    I will create a base xml structure in IR, as per the Vendor's xml structure (excluding tag for cXML) and then using adapter Module program, I will add additional tag of cXML. Will it work?
    MY xml structure is like this:
    <cXML payloadID="111122222333335556667678889999999999=" timestamp="2007-03-12T13:13:59-04:00" version="1.2.011" xml:lang="en-US">
      <Header>
    </Header>
    <Request>
    </Request>
    </cXML>
    Header & Request structure will be created in IR and then using adapter module program add a tag for cXML.
    Regards,
    Amit

  • Can any body help me in reading from HTTPS URL

    I need to read an HTTPS URL and store the response within a table .
    How will I manage to do it from within a servlet using URLConnection and openStream as it does'nt work .
    How will JSSE help in this regard .
    Since I also need to give the userid and password to get into the file and read the file
    https://anyhost.com/readthisfile.html
    somnath
    Web Developer

    Hi,
    The Java Secure Socket Extension (JSSE) library from Sun Microsystems lets you access a secure Web server from behind a firewall via
    proxy tunneling. To do this, the JSSE application needs to set the https.ProxyHost and https.ProxyPort system properties. The
    tunneling code in JSSE checks for "HTTP 1.0" in the proxy's response. If your proxy, like many, returns "HTTP 1.1", you will get an
    IOException. In this case, you need to implement your own HTTPS tunneling protocol.
    In this article, I will show you how to create a secure socket that tunnels through the firewall, and pass it to the HTTPS stream handler to
    open HTTPS URLs using the URLConnection class.
    Open the http tunnel socket to the proxy
    The first step to creating your secure socket is to open the tunneling socket to the proxy port. The code needed to do this proxy
    handshaking can be found in the sample code SSLClientSocketWithTunneling.java that comes with the JSSE distribution. First, a normal socket is created that connects to
    the proxy port on the proxy host (line 65). After the socket is created, it is passed to the doTunnelHandshake() method where the proxy's tunneling protocol is called:
    54 SSLSocketFactory factory =
    55 (SSLSocketFactory)SSLSocketFactory.getDefault();
    56
    57 /*
    58 * Set up a socket to do tunneling through the proxy.
    59 * Start it off as a regular socket, then layer SSL
    60 * over the top of it.
    61 */
    62 tunnelHost = System.getProperty("https.proxyHost");
    63 tunnelPort = Integer.getInteger("https.proxyPort").intValue();
    64
    65 Socket tunnel = new Socket(tunnelHost, tunnelPort);
    66 doTunnelHandshake(tunnel, host, port);
    In doTunnelHandshake(), an http "CONNECT" command is sent to the proxy, with the secure site's hostname and port number as the parameters (line 161). In the original
    tunneling code on line 206 in JSSE, it then checks for "HTTP/1.0 200" in the proxy's reply. If your organization's proxy replies with "HTTP 1.1", an IOException will be
    thrown. To get around this, the code here checks for the reply "200 Connection Established", which indicates that tunneling is successful (line 207). You can modify the
    code to check for the expected corresponding response from your proxy:
    139 private void doTunnelHandshake(Socket tunnel, String host, int port)
    140 throws IOException
    141 {
    142 OutputStream out = tunnel.getOutputStream();
    143 String msg = "CONNECT " + host + ":" + port + " HTTP/1.0\n"
    144 + "User-Agent: "
    145 + sun.net.www.protocol.http.HttpURLConnection.userAgent
    146 + "\r\n\r\n";
    147 byte b[];
    148 try {
    149 /*
    150 * We really do want ASCII7 -- the http protocol doesn't change
    151 * with locale.
    152 */
    153 b = msg.getBytes("ASCII7");
    154 } catch (UnsupportedEncodingException ignored) {
    155 /*
    156 * If ASCII7 isn't there, something serious is wrong, but
    157 * Paranoia Is Good (tm)
    158 */
    159 b = msg.getBytes();
    160 }
    161 out.write(b);
    162 out.flush();
    163
    164 /*
    165 * We need to store the reply so we can create a detailed
    166 * error message to the user.
    167 */
    168 byte reply[] = new byte[200];
    169 int replyLen = 0;
    170 int newlinesSeen = 0;
    171 boolean headerDone = false; /* Done on first newline */
    172
    173 InputStream in = tunnel.getInputStream();
    174 boolean error = false;
    175
    176 while (newlinesSeen < 2) {
    177 int i = in.read();
    178 if (i < 0) {
    179 throw new IOException("Unexpected EOF from proxy");
    180 }
    181 if (i == '\n') {
    182 headerDone = true;
    183 ++newlinesSeen;
    184 } else if (i != '\r') {
    185 newlinesSeen = 0;
    186 if (!headerDone && replyLen < reply.length) {
    187 reply[replyLen++] = (byte) i;
    188 }
    189 }
    190 }
    191
    192 /*
    193 * Converting the byte array to a string is slightly wasteful
    194 * in the case where the connection was successful, but it's
    195 * insignificant compared to the network overhead.
    196 */
    197 String replyStr;
    198 try {
    199 replyStr = new String(reply, 0, replyLen, "ASCII7");
    200 } catch (UnsupportedEncodingException ignored) {
    201 replyStr = new String(reply, 0, replyLen);
    202 }
    203
    204 /* We check for Connection Established because our proxy returns
    205 * HTTP/1.1 instead of 1.0 */
    206 //if (!replyStr.startsWith("HTTP/1.0 200")) {
    207 if(replyStr.toLowerCase().indexOf(
    208 "200 connection established") == -1){
    209 throw new IOException("Unable to tunnel through "
    210 + tunnelHost + ":" + tunnelPort
    211 + ". Proxy returns \"" + replyStr + "\"");
    212 }
    213
    214 /* tunneling Handshake was successful! */
    215 }
    Overlay http tunnel socket with SSL socket
    After you have successfully created the tunneling socket, you overlay it with the SSL socket. Again, this is not difficult to do:
    54 SSLSocketFactory factory =
    55 (SSLSocketFactory)SSLSocketFactory.getDefault();
    56
    57 /*
    58 * Set up a socket to do tunneling through the proxy.
    59 * Start it off as a regular socket, then layer SSL
    60 * over the top of it.
    61 */
    62 tunnelHost = System.getProperty("https.proxyHost");
    63 tunnelPort = Integer.getInteger("https.proxyPort").intValue();
    64
    65 Socket tunnel = new Socket(tunnelHost, tunnelPort);
    66 doTunnelHandshake(tunnel, host, port);
    67
    68 /*
    69 * Ok, let's overlay the tunnel socket with SSL.
    70 */
    71 SSLSocket socket =
    72 (SSLSocket)factory.createSocket(tunnel, host, port, true);
    73
    74 /*
    75 * register a callback for handshaking completion event
    76 */
    77 socket.addHandshakeCompletedListener(
    78 new HandshakeCompletedListener() {
    79 public void handshakeCompleted(
    80 HandshakeCompletedEvent event) {
    81 System.out.println("Handshake finished!");
    82 System.out.println(
    83 "\t CipherSuite:" + event.getCipherSuite());
    84 System.out.println(
    85 "\t SessionId " + event.getSession());
    86 System.out.println(
    87 "\t PeerHost " + event.getSession().getPeerHost());
    88 }
    89 }
    90 );
    The code had called the SSLSocketFactory's getDefault() method earlier to get an instance of the SSLSocketFactory (line 54, repeated above). Next, it passes the
    tunneling socket that was created in the previous step to the createSocket() method of the SSLSocketFactory. The createSocket() method returns an SSLSocket that is
    connected to the destination host and port via the proxy tunnel. You can optionally add a HandshakeCompletedListener to the socket if you wish to be informed when the
    SSL handshaking is completed.
    The SSLSocket created is basically ready for use to transfer secure contents. The startHandshake() method is called to start the SSL handshaking (line 98). After which, you
    can issue the http "GET" command to retrieve the secure pages (line 105):
    91
    92 /*
    93 * send http request
    94 *
    95 * See SSLSocketClient.java for more information about why
    96 * there is a forced handshake here when using PrintWriters.
    97 */
    98 socket.startHandshake();
    99
    100 PrintWriter out = new PrintWriter(
    101 new BufferedWriter(
    102 new OutputStreamWriter(
    103 socket.getOutputStream())));
    104
    105 out.println("GET http://www.verisign.com/index.html HTTP/1.0");
    106 out.println();
    107 out.flush();
    However, issuing http commands to the tunneling SSL socket to access Webpages is not ideal because it would mean having to rewrite the whole http protocol handler from
    scratch. Instead, you should use the HTTPS URL APIs that the JSSE already includes for that purpose. To do this, you have to pass the tunneling SSL socket to the HTTPS URL
    stream handler.
    Pass SSL socket to HTTPS URL stream handler
    The JSSE library has an HttpsURLConnection class that is in the com.sun.net.ssl package, which extends the java.net.URLConnection class. An HttpsURLConnection object
    is returned by the URL object's openConnection() method when "HTTPS" is specified as the protocol. The HttpsURLConnection class has a method, setSSLSocketFactory(),
    that lets you set an SSLSocketFactory of your choice. To pass the tunneling SSL socket to the HTTPS URL stream handler, you would set the setSSLSocketFactory()
    method's parameter with a socket factory that returns the tunneling SSL socket that you created previously.
    To do this, you would wrap the code discussed previously in an SSLTunnelSocketFactory class that extends from the SSLSocketFactory class. The SSLSocketFactory is an
    abstract class. To extend it, you must implement the createSocket() method to return the tunneling SSL socket that you created earlier:
    12 public SSLTunnelSocketFactory(String proxyhost, String proxyport){
    13 tunnelHost = proxyhost;
    14 tunnelPort = Integer.parseInt(proxyport);
    15 dfactory = (SSLSocketFactory)SSLSocketFactory.getDefault();
    16 }
    44 public Socket createSocket(Socket s, String host, int port,
    45 boolean autoClose)
    46 throws IOException,UnknownHostException
    47 {
    48
    49 Socket tunnel = new Socket(tunnelHost,tunnelPort);
    50
    51 doTunnelHandshake(tunnel,host,port);
    52
    53 SSLSocket result = (SSLSocket)dfactory.createSocket(
    54 tunnel,host,port,autoClose);
    55
    56 result.addHandshakeCompletedListener(
    57 new HandshakeCompletedListener() {
    58 public void handshakeCompleted(HandshakeCompletedEvent event) {
    59 System.out.println("Handshake finished!");
    60 System.out.println(
    61 "\t CipherSuite:" + event.getCipherSuite());
    62 System.out.println(
    63 "\t SessionId " + event.getSession());
    64 System.out.println(
    65 "\t PeerHost " + event.getSession().getPeerHost());
    66 }
    67 }
    68 );
    69
    70 result.startHandshake();
    71
    72 return result;
    73 }
    Notice that the SSLTunnelSocketFactory contains a default SSLSocketFactory object. The default SSLSocketFactory object can be instantiated from a call to the static
    method getDefault() (line 15). You need this SSLSocketFactory object to overlay the tunnel socket with the SSL socket, as discussed earlier. You also call the default
    object's getDefaultCipherSuites() and getSupportedCipherSuites() methods when implementing the corresponding abstract methods of the SSLSocketFactory super
    class. For implementation details, please refer to the complete source code for the SSLTunnelSocketFactory in Resources.
    Tunnel through the proxy via URLConnection
    To tunnel through the proxy via URLConnection in your JSSE application, after you call the openConnection() method, check if the returned object is that of the
    HttpsURLConnection. If so, you instantiate your SSLTunnelSocketFactory object and set it in the setSSLSocketFactory() method (lines 22 through 25):
    10 public class URLTunnelReader {
    11 private final static String proxyHost = "proxy.sg.ibm.com";
    12 private final static String proxyPort = "80";
    13
    14 public static void main(String[] args) throws Exception {
    15 System.setProperty("java.protocol.handler.pkgs",
    16 "com.sun.net.ssl.internal.www.protocol");
    17 //System.setProperty("https.proxyHost",proxyHost);
    18 //System.setProperty("https.proxyPort",proxyPort);
    19
    20 URL verisign = new URL("https://www.verisign.com");
    21 URLConnection urlc = verisign.openConnection(); //from secure site
    22 if(urlc instanceof com.sun.net.ssl.HttpsURLConnection){
    23 ((com.sun.net.ssl.HttpsURLConnection)urlc).setSSLSocketFactory
    24 (new SSLTunnelSocketFactory(proxyHost,proxyPort));
    25 }
    26
    27 BufferedReader in = new BufferedReader(
    28 new InputStreamReader(
    29 urlc.getInputStream()));
    30
    31 String inputLine;
    32
    33 while ((inputLine = in.readLine()) != null)
    34 System.out.println(inputLine);
    35
    36 in.close();
    37 }
    38 }
    You can then access the HTTPS URLs using the APIs provided by the URLConnection class. You don't need to worry about the format of the http GET and POST commands,
    which you would if you used the SSL Socket APIs.
    The complete source code for the SSLTunnelSocketFactory and the application code that connects to a secure URL using proxy tunneling is included in Resources. To
    compile and run the application, you would need to download and install Sun's JSSE from its Website, also listed in Resources.
    Conclusion
    If your JSSE application could not tunnel through your organization's firewall, you need to implement your own tunneling socket. The sample code included with the JSSE
    distribution shows you how to open an SSL socket tunnel. This article goes one step further to show you how to pass the tunneling socket to the HTTPS URL stream handler,
    and saves you the trouble of rewriting a http handler
    I hope this will help you.
    Thanks
    Bakrudeen

  • Hitting a HTTPS url from SAP PI

    Dear All,
    Please let me know how to hit a HTTPS url using plain HTTP adapter in SAP PI. I was just provided with a url and user credentials.
    Regards
    Koti Reddy

    Hi Koti,
    Please perform the HTTPS settings mentioned in the below link before you start the using.
    http://scn.sap.com/docs/DOC-26145
    Regards,
    Naveen

  • How to read XML file kept on NON-SAP server using the Http URL ?

    Dear Experts,
    I am working on CRM2007 web UI. I need to read a XML file placed on a shared server location by a third party program. Then process that XML file into CRM and create a quotation using the data extracted from the file.
    All i have with me is the http URL that points to the location of the file.
    I am supposed to read the file , create quotation and at later point of time i would be asked to update the quotation and then generated new XML representing updated quotation and replace the XML file on shared server location with this new updated XML file.
    I know how to extract data from XML file into ABAP but i have no clue as to how to access the file on some other server using the http url i have and how to read it ?
    I searched on the forum and i found the codes for reading XML file that is located either on client machine OR on the Application server wheareas my file is on some other than sap application server.
    Please help me as its an urgent issue .
    Points will be rewarded for sure.
    Please help.
    Thanks in advance,
    Suchita.
    p.s. : the http url to the file location is like -->
    http://SomeServerDomain/SomeDirectory/file.xml

    hi,
    interesting task.
    to request the file by a http call you need to create an if_http_client object.
    More info is [here|http://help.sap.com/saphelp_nwmobile71/helpdata/en/e5/4d350bc11411d4ad310000e83539c3/frameset.htm]
    to parse the file you either have to work with the ixml packages ([info|http://help.sap.com/saphelp_nwmobile71/helpdata/en/47/b5413acdb62f70e10000000a114084/content.htm]) or you use an XSLT transformation ([info|http://help.sap.com/saphelp_nwmobile71/helpdata/en/a8/824c3c66177414e10000000a114084/content.htm]).
    uploading the final file isn't so easy. if you only have http, you should write a server script to allow uploading of the new file and copying it into the place of the old file. but you definitely need the script.
    now it's your take. depending on how experienced you are in ABAP and networking this might turn out to be easy or pretty complicated.
    have fun,
    anton

  • URGENT - Posting a XML file to a listener URL

    Hi all,
    I have a situation like this: A servlet Client should post a XML file
    to a listener URL, and the listener responds back with a XML file
    after the processing the posted XML file.
    1. Before posting, the servlet client should establish a session with
    the server on which the listener URL is sitting and the Server will
    return a cookie with the authentication credentials to the servlet
    client.
    2. That cookie should be added to the HTTPResponse and then the
    posting of the file should happen.
    The first part is happening okay ..and i could add that cookie to the
    HTTPresponse.
    Now, did anyone successfully post a XML file to a listener URL like this from a servlet?
    I tried using URLConnection, but my cookie got lost and i got back a 401 error. The key there is i should use the same HTTPrequest and HTTPresponse objects, as the cokie needs to be retained!
    Any example code please!!
    thanks a lot
    Rox

    Thanks for your response, but i dont think using authenticator would work. To tell you exactly what is happening there, the url to which the sevlet posts the XML file is protected by Siteminder ( a Enterprise securty platform) and all it requires is a cookie with authenticated credentials on the httprequest/httpresponse objects which are trying to post to that URL. If it find the cookie with the credentials, then the requestor will not be challenged for credentials.
    Here is what i am doing:
    String urlString = "http://webservicesURL.com/ws";
    Cookie SMSESSION = setSMSession();
              if(SMSESSION != null)
                   response.addCookie(SMSESSION);     
              System.out.println("\n..Cookie confirmation..\n"+SMSESSION.getName()+" : "+SMSESSION.getValue());
    URL u = new URL(urlString);
              URLConnection conn = u.openConnection();
              conn.setDoOutput(true);
              conn.setDoInput(true);
              conn.setRequestProperty(SMSESSION.getName(),SMSESSION.getValue());
              OutputStream out = conn.getOutputStream();
    BufferedReader in = new BufferedReader(new FileReader(file));
              while((s = in.readLine())!= null)
                   xml_line = xml_line+s;
              writer.println("The XML file is ..\n");
              writer.println(xml_line);
              writer.println("\n\n\n");
              out.write(xml_line.getBytes());
              InputStream ins = conn.getInputStream();
    when i execute the servlet, i get a tomcat error 401 on the last line above.
    So the new URLConnection that is being opened, is not carying the credentials with it, or the siteminder is unable to read the credentails from the URLConnection. But i am positive that it can read the credentials from the cookie from the HttpResponse object.
    Do you have any more ideas, please?
    thanks

  • XML over HTTP using BPEL (not using SOAP)... is this possible?

    Hi there.
    We're trying to expose a BPEL process which will be exclusively triggered from a HTTP POST. The Client Partner Link in the BPEL process models Oracle's Transparent PunchOut standard. This standard is strict XML-over-HTTP, SOAP is not involved.
    However, I am getting issues when I POST the XML to BPEL. It is telling me that it requires a SOAPAction in the header. Again, the design dictates that this is raw XML over HTTP, so we are not to use any SOAP specific header values nor any kind of SOAP wrapper.
    I deployed the sample 'HTTPPostService' process which was delivered with BPEL. I am seeing the same error when I try to POST XML to this process as well. I get a response (in a SOAP wrapper) saying that it wants a SOAPAction in the header. The WSDL used to create this sample process clearly does not bind to SOAP, (there are no mentions of the SOAPAction in the operation, etc) so I do not understand.
    So, my question is: Is is possible to POST raw XML to a BPEL process? Or does BPEL require all processes to follow the SOAP 'protocol' ?
    Thanks for any help.
    Message was edited by:
    [email protected]

    I am also trying to do the same stuff. If i deploy the sample application HttpGetService, will i be able to send the request from browser the way we send typical http get request?
    here is the url which i want to use to invoke Http get BPEL
    http://cybage1:9700/httpbinding/default/HTTPGetService?ssn=10&id=20
    but i am getting following exception
    500 Internal Server Error
    java.lang.IndexOutOfBoundsException: Index: 3, Size: 3
         at java.util.ArrayList.RangeCheck(ArrayList.java:507)
         at java.util.ArrayList.get(ArrayList.java:324)
         at com.collaxa.cube.ws.http.HttpBindingServlet.call(HttpBindingServlet.java:113)
         at com.collaxa.cube.ws.http.HttpBindingServlet.doGet(HttpBindingServlet.java:97)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:810)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:322)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:798)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:278)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].server.http.HttpRequestHandler.run(HttpRequestHandler.java:120)
         at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.0)].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)
         at java.lang.Thread.run(Thread.java:534)

  • Accessing External Url using Http Utility | Error when using from Weblogic on Solaris

    We are using Http Utility (http://jakarta.apache.org/commons/httpclient/) from
    Apache for accessing external URL. A XML string is sent as POST parameter to the
    URL and the response is also an XML string. The URL is accessed over HTTPS protocol.
    I am setting the following parameters in the java class:
    Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
    // set the property
    System.setProperty("java.protocol.handler.pkgs","com.sun.net.ssl.internal.www.protocol");
    The java class written to access the external URL using Http Utility works perfectly
    fine when it is run from either the command line (of Windows or Solaris using
    main() ) or from weblogic on windows. The same java class throws an exception
    when run from Solaris instance of Weblogic
    2003-09-30 11:02:12,411 FATAL [com.bp.beyondbp.presentation.userregistration.action.LloydsValidator]
    EXCEPTION: com.bp.beyondbp.presentation.userregistration.exception.LlyodsValidationFailedException,
    MESSAGE: Write Channel Closed, possible SSL handshaking or trust failure;
    CAUSE: (java.io.IOException: Write Channel Closed, possible SSL handshaking or
    trust failure)
    at com.bp.beyondbp.presentation.userregistration.action.LloydsValidator.postXMLtoLloyd(LloydsValidator.java:243)
    at com.bp.beyondbp.presentation.userregistration.action.LloydsValidator.validateLlyodsForNewUser(LloydsValidator.java:95)
    at com.bp.beyondbp.presentation.userregistration.action.PreferencesActionForm.validate(PreferencesActionForm.java:326)
    at org.apache.struts.action.RequestProcessor.processValidate(RequestProcessor.java:942)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:255)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1058)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:401)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:306)
    java.io.IOException: Write Channel Closed, possible SSL handshaking or trust failure
    at com.certicom.tls.record.WriteHandler.write(Unknown Source)
    at com.certicom.tls.interfaceimpl.TLSConnectionImpl.fireAlertSent(Unknown
    Source)
    at com.certicom.tls.record.handshake.HandshakeHandler.fireAlert(Unknown
    Source)
    at com.certicom.tls.record.handshake.HandshakeHandler.fireAlert(Unknown
    Source)
    at com.certicom.tls.record.handshake.HandshakeHandler.handleHandshakeMessage(Unknown
    Source)
    at com.certicom.tls.record.handshake.HandshakeHandler.handleHandshakeMessages(Unknown
    Source)
    at com.certicom.tls.record.ReadHandler.interpretContent(Unknown Source)
    at com.certicom.tls.record.ReadHandler.readRecord(Unknown Source)
    at com.certicom.tls.record.ReadHandler.readUntilHandshakeComplete(Unknown
    Source)
    at com.certicom.tls.interfaceimpl.TLSConnectionImpl.completeHandshake(Unknown
    Source)
    at com.certicom.tls.record.WriteHandler.write(Unknown Source)
    at org.apache.commons.httpclient.HttpConnection$WrappedOutputStream.write(HttpConnection.java:1344)
    at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:67)
    at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:125)
    at org.apache.commons.httpclient.HttpConnection.flushRequestOutputStream(HttpConnection.java:779)
    at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2179)
    at org.apache.commons.httpclient.HttpMethodBase.processRequest(HttpMethodBase.java:2534)
    I tried to debug the problem by looking at system properties on windows and solaris,
    the difference that I found was
    On Windows
    [exec] tModelInstanceInfo_description : com.sun.net.ssl.internal.www.protocol
    On Solaris
    [exec] tModelInstanceInfo_description : weblogic.utils|weblogic.tils|weblogic.net|weblogic.management
    After this I changed the startWLS.sh on Solaris and set
    -Djava.protocol.handler.pkgs=com.sun.net.ssl.internal.www.protocol in java options.
    On looking the system properties again, the output was
    [exec] tModelInstanceInfo_description : com.sun.net.ssl.internal.www.protocol|weblogic.utils|weblogic.utils|weblogic.net|weblogic.management
    But still the error is same. Can somebody help me out here as to what is going
    wrong? Please find the java class attached for reference, please have a look at
    postXMLtoLloyd() method in the class file..
    [LloydsValidator.java]

    We are using Http Utility (http://jakarta.apache.org/commons/httpclient/) from
    Apache for accessing external URL. A XML string is sent as POST parameter to the
    URL and the response is also an XML string. The URL is accessed over HTTPS protocol.
    I am setting the following parameters in the java class:
    Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
    // set the property
    System.setProperty("java.protocol.handler.pkgs","com.sun.net.ssl.internal.www.protocol");
    The java class written to access the external URL using Http Utility works perfectly
    fine when it is run from either the command line (of Windows or Solaris using
    main() ) or from weblogic on windows. The same java class throws an exception
    when run from Solaris instance of Weblogic
    2003-09-30 11:02:12,411 FATAL [com.bp.beyondbp.presentation.userregistration.action.LloydsValidator]
    EXCEPTION: com.bp.beyondbp.presentation.userregistration.exception.LlyodsValidationFailedException,
    MESSAGE: Write Channel Closed, possible SSL handshaking or trust failure;
    CAUSE: (java.io.IOException: Write Channel Closed, possible SSL handshaking or
    trust failure)
    at com.bp.beyondbp.presentation.userregistration.action.LloydsValidator.postXMLtoLloyd(LloydsValidator.java:243)
    at com.bp.beyondbp.presentation.userregistration.action.LloydsValidator.validateLlyodsForNewUser(LloydsValidator.java:95)
    at com.bp.beyondbp.presentation.userregistration.action.PreferencesActionForm.validate(PreferencesActionForm.java:326)
    at org.apache.struts.action.RequestProcessor.processValidate(RequestProcessor.java:942)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:255)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1058)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:401)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:306)
    java.io.IOException: Write Channel Closed, possible SSL handshaking or trust failure
    at com.certicom.tls.record.WriteHandler.write(Unknown Source)
    at com.certicom.tls.interfaceimpl.TLSConnectionImpl.fireAlertSent(Unknown
    Source)
    at com.certicom.tls.record.handshake.HandshakeHandler.fireAlert(Unknown
    Source)
    at com.certicom.tls.record.handshake.HandshakeHandler.fireAlert(Unknown
    Source)
    at com.certicom.tls.record.handshake.HandshakeHandler.handleHandshakeMessage(Unknown
    Source)
    at com.certicom.tls.record.handshake.HandshakeHandler.handleHandshakeMessages(Unknown
    Source)
    at com.certicom.tls.record.ReadHandler.interpretContent(Unknown Source)
    at com.certicom.tls.record.ReadHandler.readRecord(Unknown Source)
    at com.certicom.tls.record.ReadHandler.readUntilHandshakeComplete(Unknown
    Source)
    at com.certicom.tls.interfaceimpl.TLSConnectionImpl.completeHandshake(Unknown
    Source)
    at com.certicom.tls.record.WriteHandler.write(Unknown Source)
    at org.apache.commons.httpclient.HttpConnection$WrappedOutputStream.write(HttpConnection.java:1344)
    at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:67)
    at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:125)
    at org.apache.commons.httpclient.HttpConnection.flushRequestOutputStream(HttpConnection.java:779)
    at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2179)
    at org.apache.commons.httpclient.HttpMethodBase.processRequest(HttpMethodBase.java:2534)
    I tried to debug the problem by looking at system properties on windows and solaris,
    the difference that I found was
    On Windows
    [exec] tModelInstanceInfo_description : com.sun.net.ssl.internal.www.protocol
    On Solaris
    [exec] tModelInstanceInfo_description : weblogic.utils|weblogic.tils|weblogic.net|weblogic.management
    After this I changed the startWLS.sh on Solaris and set
    -Djava.protocol.handler.pkgs=com.sun.net.ssl.internal.www.protocol in java options.
    On looking the system properties again, the output was
    [exec] tModelInstanceInfo_description : com.sun.net.ssl.internal.www.protocol|weblogic.utils|weblogic.utils|weblogic.net|weblogic.management
    But still the error is same. Can somebody help me out here as to what is going
    wrong? Please find the java class attached for reference, please have a look at
    postXMLtoLloyd() method in the class file..
    [LloydsValidator.java]

  • How to send XML file into XI using sender HTTP adapter

    I am using HTTP sender adapter to post the XML file into XI. I tried to form the URL by using the following String query , but I am unable to execute file.
    String urlString = "http://<servername:portno>/sap/xi/adapter_plain?namespace=<namespace>&interface=<interface name>&service=<service name>&party=&agency=&scheme=&QOS=BE&sap-user=xiappluser&sap-password=satyam&sap-client=100&sap-language=EN";
    How can I execute xml file by using HTTP sender adapter.
    Any one with better suggestions, about this idea?
    Thanks in advance for all.
    Ram Raj

    Hi
    Just use the following parameter to send xml file using HTTP adapter.
    "http://xiserver:8000/sap/xi/adapter_plain?namespace="senderNamespace"&interface=senderinterface&service=sender service";
    "&party=sender party"&agency=&scheme=&QOS=BE&sap-user=userid &sap-password=password&sap-client=100&sap-language=D";
    with the help of this you are able to point out which interface you would like to use.
    And in payload pass the xml.
    and thats it
    carry on
    Cheers
    Regards
    Piyush

  • HTTP Transformation using POST Method

    Hi, I will have to use POST method with header as application/json to get the results in http transformation. I downloaded the RESTFUL client utility from Chrome, to see how JSON would look like by passing parameters and the result is displayed as expected.  But I'm not sure how the URL to be constructed in HTTP transformation and appreciate if you have any suggestions. My URLL http://dev1.com/contract-api/contract/public/contractValidationMy input parameters:  {"hierarchies":[10],"properties":[18],"licId":123} If I use the above URL and parameters in RESTFUL client, I'm getting the output, but having difficulty in setting up the URL using HTTP transformation.  RegardsSelva

    Thanks Marc.
    Let me rephrase the scenario.
    I have an external application which is capable of sending information only in XML through HTTP requests. It does not send SOAP messages. I guess in this case, we would need to use the HTTP binding using POST method. Much like the sample at http://blogs.oracle.com/reynolds/2005/09/invoking_bpel_from_an_html_for.html which uses the GET method.
    In this sample reynolds is using the GET method. I have been trying to get the POST method to work.
    Regards
    John

  • Client call using   XML over Http using HttpClient

    Using HTTPClient while calling HTTPPost method to generate request for external system using XML over http using below code
    client.getState().setCredentials(new AuthScope(ipAddress,portNumber),new UsernamePasswordCredentials(username, password));
         PostMethod method = new PostMethod(url);
         String str = accDoc.toString();
    method.setRequestEntity(new InputStreamRequestEntity(new ByteArrayInputStream(str.getBytes())));
    method.setDoAuthentication( true );                
    int result = client.executeMethod(method);
    server system getting 2 request. first request without basic authentcation details and second request with full auhentication details.
    So unnecessary eatra call without authentication details is going during calling the client program using above code.
    Please let me know which part of the above code is generationg extra call.
    Thanks in advance for your help

    I don't see nothing wrong with your code, there must be something else happening.
    You sure you are not being some proxy server?? but even then you are making a post request so it shouldn't be happening.
    MeTitus

  • Post data to https URL not working!!

    I currently have an issue with tunnelling through a 1.1 proxy with JSSE.
    I used the SSLTunnelSocketFactory class (as defined in http://www.javaworld.com/javaworld/javatips/jw-javatip111-p2.html) and
    tried to use it in my code.
    Unfortunately, it doesn't work.
    I'm trying to connect to a secure (https) website and post some xml to
    it then read the response.
    I write the xml to the output stream and then try to open the input
    stream for reading back the response.
    I get the following error:
    Connection aborted by peer: socket write error
    Does anyone have an example of code that will do a post of xml (or any
    data) to a secure URL and read the results? Whether it's using apache's
    httpclient, JSSE or something else?
    Thanks for any help you can give.
    Paul
    Here's the code where it tries to connect:
    String proxyHost = "212.120.142.235";
    String proxyPort = "8088";
    String response = "";
    Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
    System.setProperty("java.protocol.handler.pkgs",
    "com.sun.net.ssl.internal.www.protocol");
    System.setProperty("https.proxyHost",proxyHost);
    System.setProperty("https.proxyPort",proxyPort);
    url = "https://website/remote.cgi";
    URL remoteURL = new URL(url);
    HttpsURLConnection connection = (HttpsURLConnection)remoteURL.openConnection();
    if(connection instanceof com.sun.net.ssl.HttpsURLConnection){
    ((com.sun.net.ssl.HttpsURLConnection)connection).setSSLSocketFactory
    (new SSLTunnelSocketFactory(proxyHost,proxyPort));
    connection.setRequestProperty("USER_AGENT", "payandshop.com Connect V1.0 [Java 1.3.0]");
    File f = new File(sFileName);
    FileInputStream fis = new FileInputStream(f);
    StringBuffer sb = new StringBuffer();
    int i = 0;
    while ((i = fis.read()) != -1)
    sb.append((char)i);
    try {
    connection.setDoOutput(true);
    PrintWriter printwriter = new PrintWriter(connection.getOutputStream());
    printwriter.println(sb.toString());
    printwriter.close();
    } catch (IOException ioe) {
    // can anything here be recoverable? - stop
    System.out.println( "Error writing xml"+ioe.getMessage());
    return;
    String inputLine = null;
    try {
    InputStream is = connection.getInputStream();
    InputStreamReader isr = new InputStreamReader(is);
    BufferedReader bufferedreader = new BufferedReader(isr);
    while ((inputLine = bufferedreader.readLine()) != null) {
    response += inputLine;
    bufferedreader.close();

    Hi, the problem is to do with the HTTP 1.1 proxy, not SSL itself.
    Basically, if you connect through a proxy that is a 1.1 proxy, the
    JSSE classes check for HTTP/1.0 in the status of the connection to
    the proxy. This will fail due to the fact that HTTP/1.1 is returned
    as part of the string (see javaworld url above for description of problem).
    Anyway, my problem is trying to implement a workaround. My post
    to the SSL site isn't working correctly.
    Regards,
    Paul

Maybe you are looking for

  • JDBC Receiver Adapter and Oracle BLOB

    Hi, I would like to put some raw data into an ORACLE BLOB using XI. My idea was to put the data in an xml element, but the JDBC sender adapter doesn't seem to be able to cope with writing. Has anybody gathered experiences regarding this topic? Kind r

  • TS3824 my macbook pro has crashed only get whie screen

    my macbook pro crashed has been acting funny since I upgraded to mountain lion

  • Sun Cluster 3.2/Solaris 10 Excessive ICMP traffic

    Hi all, I have inherited a 2 node cluster with a 3510 san which I have upgraded to Cluster 3.2/Solaris 10. Apparently this was happening on Cluster 3.0/Solaris 8 as well. The real interfaces on the two nodes seem to be sending excessive pings to the

  • Trouble while retrieving last material entry per invoice

    Hello experts, I am having a big trouble to select invoices (FI tables J_1BNFDOC & J_1BNFLIN) related to the most recent entry of a given material number inside another invoice (J_1BNFLIN-MATNR). My report is dumping with a memory overflow when I exe

  • Lsmw for xk01

    hello , I have a query in lsmw for xk01. while doing lsmw for xk01, after executing step 1 the system ask for tcode , i gave xk01 there. The next screen shown contains title field which belong to structure sza1_d0100 and field name is Title_medi whos