Http keep-alive with SOAP webservices

Just had an interesting experience with a web service setup behind UAG...under low load conditions all SOAP responses were coming across with no issue...once a high load was introduced by the client app the behavior changed where an initial request was
processed and subsequent requests were rejected by UAG with a Bad Parameter : Length message...but high load (relatively) on a web browser ran without issue...the client app had to wait ~100 seconds before the next request would process correctly...browser
works - app has problems...turns out it was the keep-alive "default" settings on both the client app server, as well as my web service in IIS...so -apparently UAG thought the 2nd (and subsequent < 100 seconds) were a parameter of the first request...and
was way too long and got rejected...I unchecked the keep-alive enabled box on the http response header (set common headers) and all is fine now! Apparently the browsers were closing the connection with each page load and the service responded appropriately
- so it looked like all was well. Using SOAP UI revealed the error...but it also had it's connection set to keep-alive...once that was disabled in SOAP UI all requests ran correctly...that's when I poked around and found that response header setting.

ejp wrote:
and also an incorrect implementation of the timeout period. This code will still wait forever if no data arrives.You're right... actually I didn't mean to put that while loop there! What I meant was simply
if (!reader.ready())
    wait(keepAliveTimeout);
if (!reader.ready())
    break mainLoop;
// If we get here there is a new request to read...and I agree that it's ugly, that's why I'm asking you guys for help!
setSoTimeout() is of course a way to go... didn't think of that although I have kind of already added it to my code but with a different timeout. Thanks!
Last question then is:
does reader.readLine() block like reader.read(), or do I have to use the latter?
I would test for myself I could, but at the moment I can't...

Similar Messages

  • GF3.0 - Enabling HTTP keep-alive?

    In GF 2.0, there's a handy-dandy tab on the HTTP Listener configs for enabling and configuring HTTP keep-alives. In GF 3.0, there is not.
    I've been combing various sites and blogs and docs and have been unable to find any information on enabling HTTP keep-alives. Some data I've found seems to suggest that raising the Max Connections and Timeout values for the listener to values greater than 1 implicitly enables keep-alives, but if I test the server with AB it shows zero keep-alive requests.
    Any help that anyone could provide would be greatly appreciated.

    [glassfish@appserver ~]$ asadmin get -m \*keep-alive.\*count
    Enter admin user name> admin
    Enter admin password for user "admin">
    Command get executed successfully.
    [glassfish@appserver ~]$ asadmin get "server\*keep-alive.\*"
    Enter admin user name> admin
    Enter admin password for user "admin">
    com.sun.enterprise.admin.cli.CommandException: remote failure: Dotted name path server\*keep-alive.\* not found.
    Command get failed.

  • Need help with HTTP keep-alive

    Hi folks!
    I have this very simple web server and I would like to add keep-alive support. I've been trying to get my head around it for a while and could need some help (I found this question in the archive, but those replies didn't help)...
    This is my starting point (stripped down to the basics):
    /* A listener thread that accept incoming requests by creating new request handlers */
    public class HTTPListener implements Runnable
        private ServerSocket serverSocket;
        public HTTPListener(int port)
            // Try to create a server socket on specified port
            try
                serverSocket = new ServerSocket(port, 0);
            catch (IOException ex)
                System.err.println("Oops!");
        public void run()
            while (!Thread.interrupted())
                try
                    // Listen on server socket until a request arrives
                    Socket s = serverSocket.accept();
                    // Create handler to service request
                    RequestHandler h = new RequestHandler(s);
                    new Thread(h).start();
                // Server socket closed when listening
                catch (SocketException ex)
                    Thread.currentThread().interrupt();
                // Failed to close socket or failure during server socket accept
                catch (IOException ex)
                    System.err.println("Failed to accept request");
            try
                serverSocket.close();
            catch (IOException ex)
                System.err.println("Hmpf...");
    /* Handler that prints out requests and always answers with status 200 */
    public class RequestHandler implements Runnable
        private Socket socket;
        public RequestHandler(Socket s)
            socket = s;
        public void run()
            System.out.println(">>> New request handler");
            try
                BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
                String str;
                while ((str = reader.readLine()) != null)
                    System.out.println(str);
                sendDummyReplyWithKeepAlive();
                reader.close();
                socket.close();
            catch (IOException ex)
                System.err.println("Crap, got an exception!");
    }When I run the server (which in reality has a little more to it) I never get more than one request printed for each ">>> New request handler", which is not surprising!
    Now, with keep-alive support I expect to get consecutive requests from the same client printed by the same handler instance. What I have to do (as I've understood from my readings) is to modify the while loop in the request handler that reads from the socket so that it spins until the connection is closed by the client (or a keep-alive timeout occurs) and blocks while there is nothing to read.
    Perhaps I'm being stupid now, but how do I actually do this?

    ejp wrote:
    and also an incorrect implementation of the timeout period. This code will still wait forever if no data arrives.You're right... actually I didn't mean to put that while loop there! What I meant was simply
    if (!reader.ready())
        wait(keepAliveTimeout);
    if (!reader.ready())
        break mainLoop;
    // If we get here there is a new request to read...and I agree that it's ugly, that's why I'm asking you guys for help!
    setSoTimeout() is of course a way to go... didn't think of that although I have kind of already added it to my code but with a different timeout. Thanks!
    Last question then is:
    does reader.readLine() block like reader.read(), or do I have to use the latter?
    I would test for myself I could, but at the moment I can't...

  • HTTP Error 501 with SOAP Sender channel

    Hello,
    i've am simple Question:
    I want to call the following SAP XI SOAP Sender channel "MySoapSenderChannel":
    XI-Parameters:
    namespace: <myInterfaceNamespace>
    Interface:   <myAsynchInterface>
    QoS: Exactly Once in Order
    Queue: MY_QUEUE
    We do not care about the Response - so the processing is asynchron.
    Thus my interface mapping maps to asynch interfaces. The desitnation
    is an ABAP Proxy. The configuration has been done and tested.
    Here my question:
    according the documentation, the URL has the following syntax:
    http://host:port/XISOAPAdapter/MessageServlet?channel=party:service:channel.
    In our case:
    http://<myHost>:8002/XISOAPAdapter/MessageServlet?channel=:MyService:MySoapSenderChannel.
    But when i generate a WSDL for the interface out of the Configuration, the address is:
    <soap:address location="http://<myHost>:8002/sap/xi/engine?type=entry&amp;version=3.0&amp;Sender.Service=MyService&amp;Interface=...
    and so forth.
    But was is the difference between these 2 possibilities?
    Why do i get HTTP Error 501 when i use the URL from the documentation (the first one)?
    Thanx in advance
    Gunnar

    Gunnar,
    I will suggest you to go through it once to check all your connection.
    /people/vijaya.kumari2/blog/2006/01/26/how-do-you-activate-abap-proxies
    Regards,
    Sarvesh

  • Tomcat http keep-alives

    Can someone briefly explain what these are? I've searched online and found that they can hold connections open and possibly allow users to make several simultaneous requests, but nothing definitive.
    The issue is a web-site that seems to stall after a moderate amount of use (100 - 200 concurrent users). The setup is Windows Server running IIS making requests to Tomcat. Eventually the site starts giving white screens -- no error messages in the browser and none in the tomcat logs. Looking in the IIS logs I find the vague 503 error, which I'm starting to think could be originating in Tomcat.
    I'm not doing any extra Tomcat settings (as far as maxThreads, minThreads, maxKeepAlives...) so I'm looking for ideas and if they could possibly be the culprit of my problem. I'd like to configure them but only if I can get a solid idea of what I should use.
    Also, in searching the Tomcat docs I've found that by default maxThreads is set to 200 and I'm curious would that translate to 1 thread per user accessing the site or could one user possibly be using several threads at once? Would the keepalives setting impact this?
    thanks guys!!

    only bumping this once.

  • Keep alive in HttpURLConnection

    I'm trying to keep my connection open in HttpURLConnection.
    This is the code in the client's side, the server is Weblogic 8.1, with support in http keep alive.
    Even thogt I'm setting request property - connection:Keep-Alive for the HttpURLConnection and setting http.keepAlive=true, I steel receive Connection :close in the header.
    Here is my code:
    URL url = new URL("http://bla");
    HttpURLConnection httpUC = (HttpURLConnection)url.openConnection();
    httpUC.setDoOutput(true);
    httpUC.setRequestMethod("POST");
    // set the keep alive in the HttpURLConnection
    httpUC.setRequestProperty("Connection","Keep-Alive");
    //set the keep aive in the system properties
    System.getProperties.put("http.keepAlive", true);
    // just check the response from the server:
    System.out.println(httpUC.getResponseCode);
    // print all of the headers
    for(int i=0; ;i++){
         String header = httpUC.getHeaderField(i);
         String key = httpUC.getHeaderFieldKey(i);
         if(key==null || header==null)
              break; 
         System.out.println(key + ":" + header);----------------------------------------------
    And this is the result I receive
    200
    Date:...
    Server:..
    Connection:Close
    ...

    OK,
    I moved forward a little.
    I hava HTTP 1.1 at the server side.
    more than that - when I print the server's headers I receive:
    Connection: Keep-Alive
    But -
    If what I'm doing is read from the server in for loop - everithing is OK.
    if I'm trying to read and write in for loop (code below) - I receive the following exception:
    Protocol Exception: can't write output after reading input
    So, can I only read reaptedly, not write?
    This is the code I'm using:
    for(int i=0; i<2; i++){
    ///////// these lines caught the ProtocolException in the second run in the loop
    ObjectOutputSream oos = new ObjectOutputStream(httpUrlConnection.getOutputStream);
    System.out.println(i);
    oos.write("bla".getBytes());
    oos.close;
    System.out.println(httpUrlConnection.getContent());
    this is the output:
    0
    ......InputStream@b.......
    java.net.ProtocolException:
    cannot write output after reading input

  • How to Post XML Messages with SOAP Headers to a Trading Partner URL

    Hi All,
    Greeting to the Oracle B2B Community. We are currently working on how to post a Custom XML Message with SOAP Headers to a Trading Partner URL. I would really appreciate if anybody could provide me some inputs or links to some documentation on how to achieve the above requirement. The details are below:
    1. Our Internal Application generates a Flat File (PO Extract).
    2. The Extract then needs to be transformed to an XML Message. We are planning to use BPEL to do the transformation to XML Message.
    3. Once it is transformed to an XML message it needs to be posted to the Trading Partner URL as an HTTP Post and with SOAP Headers.
    We are planning to use B2B to do the posting but I am not sure on how to do the set-ups and what all parameter files in B2B needs to be updated in order to achieve the same. Also it is mandatory that we send SOAP Headers in the XML Message.
    Thanks In Advance for your help.
    Regards,
    Dibya

    Hello Dibya,
    As you are already doing the transformation from Flat file to XML in BPEL which is typically the capability of B2B, please use the Soap binding in BPEL to send the document to Trading partner.
    Rgds,Ramesh

  • How to add network .keep alive back to firefox... it's missing and my browser is too slow. i need your help i can't work like this

    <blockquote>Locking duplicate thread.<br>
    Please continue here: [[/questions/954029]]</blockquote>
    keep alive missing from about:config settings can it be added back? tell me how and i will

    No, you can't add this missing pref back.<br />
    Support to disable keep-alive has been removed and keep-alive is always enabled.
    See "A Preference to disable HTTP Keep-Alive has been removed":
    *https://developer.mozilla.org/en-US/docs/Site_Compatibility_for_Firefox_17
    *Bug 770331 – Remove HTTP Keep-Alive disable pref

  • Keep alive script for HTTPS service with GET method

    Hello,
    I tried to implement a keep alive to services that support HTPS connections. I’ve created a script that opens a tcp connection on port 443 and tries to do a GET of a test web page. This web page only displays “OK”.
    In a resumed form I used the following script commands:
    Socket connect host 192.168.136.134 port 443 tcp
    Socket send ${SOCKET} “GET /teste.template\n\n”
    Socket waitfor ${SOCKET}” 200 “ 2000
    Socket disconnect ${SOCKET} graceful
    I was unable to receive the expected “ 200 “response and received a message saying string not found, I used the socket inspect command to inspect the socket’s internal data buffer and the result was nothing, it seemed empty.
    I tried the same operation using a linux machine that has IP connectivity with the Webservers and I was successful.
    In the same CSS I have services configured to respond to HTTP sessions. I tried the following script and everything went well
    Socket connect host 192.168.136.151 port 80 tcp
    Socket send ${SOCKET} “HEAD /index.html\n\n”
    Socket waitfor ${SOCKET}” 200 “ 2000
    Socket disconnect ${SOCKET} graceful
    When I issued the socket inspect command I could in fact see the socket’s internal data buffer content.
    The CSS is running WebNS 5.0 build 66
    Can someone give me a help?
    Thanks,
    Ricardo Lourenço

    Hello,
    There is no direct no direct link between TCP and SSL.
    So, in spite of having success with the TCP port 443 connection the CSS will not be able to negotiate de security parameters necessary to establish the SSL session.
    This was the reason for not having success through the use of the socket commands, as i refered in my original message.
    Thanks for your collaboration,
    Ricardo Lourenço

  • How to resolve setPrefix() in SOAP(saaj API) with weblogic/webservices jar?

    Hi,
    I am facing a problem deploying a Web-Application in Weblogic containing SOAP related code.
    My environment is as below:
    1) Weblogic 8.1 SP2 server
    2) Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_04-b05)
    3) A method is exposed as web-service
    4) A client program(which is a part of Action class of Webb-app) written with SOAP APIs containing the following section:
         MessageFactory mf = MessageFactory.newInstance();
         SOAPMessage sm = mf.createMessage();
         SOAPPart sp = sm.getSOAPPart();
         sp.setPrefix("soapenv");
         SOAPEnvelope se = sp.getEnvelope();
         se.addNamespaceDeclaration("soapenv","http://orion:7001");
    giving the following error at runtime:
    Exception in thread "main" java.lang.AbstractMethodError:
    weblogic.were.soap.SOAPEnvelopeImpl.setPrefix(Ljava/lang/String;)V
    at Client.main(Client.java:39)
    I am able to compile without any error/warning all the time.
    This is giving only when putting the saaj(jwsdp-1.4) jars along with weblogic/webservices jars in classpath.
    I am able to run the same application(outside Web-application as a stand-alone java program) without
    any error while not using weblogic/webservices jar in the classpath.
    The saaj jars needed to run without any error are:
    saaj-api.jar
    saaj-impl.jar
    mailapi.jar
    activation.jar
    xercesImpl.jar
    xalan.jar
    dom.jar
    jdom.jar
    I thinks this is a compatibility issue. Please suggest to resolve it.
    Thanks in advance,
    pal_sk

    Hi,
    I am facing a problem deploying a Web-Application in Weblogic containing SOAP related code.
    My environment is as below:
    1) Weblogic 8.1 SP2 server
    2) Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_04-b05)
    3) A method is exposed as web-service
    4) A client program(which is a part of Action class of Webb-app) written with SOAP APIs containing the following section:
         MessageFactory mf = MessageFactory.newInstance();
         SOAPMessage sm = mf.createMessage();
         SOAPPart sp = sm.getSOAPPart();
         sp.setPrefix("soapenv");
         SOAPEnvelope se = sp.getEnvelope();
         se.addNamespaceDeclaration("soapenv","http://orion:7001");
    giving the following error at runtime:
    Exception in thread "main" java.lang.AbstractMethodError:
    weblogic.were.soap.SOAPEnvelopeImpl.setPrefix(Ljava/lang/String;)V
    at Client.main(Client.java:39)
    I am able to compile without any error/warning all the time.
    This is giving only when putting the saaj(jwsdp-1.4) jars along with weblogic/webservices jars in classpath.
    I am able to run the same application(outside Web-application as a stand-alone java program) without
    any error while not using weblogic/webservices jar in the classpath.
    The saaj jars needed to run without any error are:
    saaj-api.jar
    saaj-impl.jar
    mailapi.jar
    activation.jar
    xercesImpl.jar
    xalan.jar
    dom.jar
    jdom.jar
    I thinks this is a compatibility issue. Please suggest to resolve it.
    Thanks in advance,
    pal_sk

  • WSRM Adapter replaced with soap in PO7.4. Getting error "Response message contains an errorXIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION - HTTP 500 Internal Server Error"

    Hello All,
    We have scenario proxy->pi->webservice. In older versions of PI system they used wsrm adapter at receiver side and it's working fine.
    Receiver interface is asynchronous. So no response structute is present and receiver service is business component(since receiver is a third party).
    During migration, we have replaced the receiver adapter with SOAP adapter and used message protocol as SOAP 1.1 but the message is failing and in communication channel it is showing error "Response message contains an errorXIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION - HTTP 500 Internal Server Error". In this case the receiver interface is stateless xi 3.0 compatible(re using the old), after changing it to just stateless also issue persists.
    In target url field if i prefix the url with "http" then above mentioned error is occurring otherwise if i use the hostname:port/path.. then it is giving error
    "soap: Call failed: com.sap.aii.af.sdk.xi.srt.BubbleException: Unsupported protocol". So maintaing the url as http://hostname:port/pat.....
    As in old channel wsrm channel there is no userid and password, i haven't given any userid/pwd in receiver channel.
    used the bean sap.com/com.sap.aii.af.soapadapter/XISOAPAdapterBean with  parameters
    Module Key  =  soap
      Parameter Name  =  noSOAPMakeSysErrFromResponseFault
    Parameter Value  =  false
    and
    xmbws.No SOAPIgnoreStatus = true
    but not successful.
    Please help me. I got stcuk here.

    Hello Jannus,
    The connectivity is working fine. Network team has confirmed it. I doubt that any strucutre(header) difference might be present in message when sending with wsrm adapter compared to sending with soap adapter.
    Please let me know the exact difference between soap and wsrm functionality in receiving end.
    By considering the structure issue, i have checked the "do not use soap envelope" check box, then i got error "Response message contains an errorXIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION - HTTP 415 Unsupported Media Type"
    Then i used message transform bean, but not successful.
    Regards,
    Ch.Venkat.

  • HTTP- XI- SOAP(webservice) - error in outbound mapping

    Scenario is HTTP(request)->XI->SOAP(webservice) ->XI->HTTP(response)
    2 messsage mappings for request and response (syncronous)
    1 interface mapping
    HTTP payload reaches XI from there it appears problem translating request data to webservice external URL "http://webservices.imacination.com/distance/Distance.jws". 
    Message mappings when tested with sample xml in intergration repository results in success. Meaning source populated data gets copied to target in IR testing (both for request and response).
    Here is the log from SXMB_MONI
    - - - - SystemError synchronous 034E60D2-1D22-6B44-B424-E7A4527B7375 54F73912-E6A9-A741-A815-1F623FC79293 2007-01-23T14:50:58Z - vservice4 mi_inb_ws - vservice4 mi_out mi_out - BestEffort - Application <b>EXCEPTION_DURING_EXECUTE</b> com/sap/xi/tf/_mm_ws_ java.lang.NullPointerException During the application mapping com/sap/xi/tf/_mm_ws_ a <b>java.lang.NullPointerException was thrown</b>: N - - HTTP
    server-protocol HTTP/1.1 user-agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0) host <xiapp>:8050 content-length 230 remote-addr 10.20.40.120 <b>COMMIT is expected by application</b> !
    SAP_CENTRAL - - - - R E C E I V E R - D E T E R M I N A T I O N Cache Content is up to date - - - - I N T E R F A C E - D E T E R M I N A T I O N Cache Content is up to date - - - - number of receivers: 1 Single-receiver split case - - - - Interface Mapping urn:
    vmyvendor.org\http2webservice im_ws RuntimeException during appliction Java mapping com/sap/xi/tf/_mm_ws_ java.lang.NullPointerException at com.sap.aii.mappingtool.tf3.AMappingProgram.exceptionCaught$(AMappingProgram.java:59)
    Any pointers would be greatly appreciated. Thanks

    From XML request message->SOAP Header->Trace & using XML spy problem is in <b>CL_XMS_MAIN-CALL_PLSRV</b>. The log also talks about message persist processing, is it valid for sync webservice?
      <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Request Message Mapping
      -->
    - <SAP:Trace xmlns:SAP="http://sap.com/xi/XI/Message/30">
    + <Trace level="1" type="B" name="CL_HTTP_PLAIN_INBOUND">
      <Trace level="1" type="T">server-protocol HTTP/1.1</Trace>
      <Trace level="1" type="T">user-agent Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)</Trace>
      <Trace level="1" type="T">host xiapp:8050</Trace>
      <Trace level="1" type="T">content-length 229</Trace>
      <Trace level="1" type="T">remote-addr 10.20.40.101</Trace>
      </Trace>
      <Trace level="1" type="T">COMMIT is expected by application !</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="B" name="CL_XMS_MAIN-CALL_UC_EXECUTE" />
    - <!--  ************************************
      -->
      <Trace level="1" type="T">Message-GUID = 69CB2C55A02E1048AC67316A17FD109D</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="PLSRV_RECEIVER_DETERMINATION">
    - <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV">
    - <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL">
    - <Trace level="1" type="B" name="CL_RD_PLSRV-ENTER_PLSRV">
      <Trace level="1" type="T">R E C E I V E R - D E T E R M I N A T I O N</Trace>
      <Trace level="1" type="T">Cache Content is up to date</Trace>
      </Trace>
      </Trace>
      </Trace>
      </Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_LOG_TO_PERSIST" />
    + <Trace level="1" type="B" name="PLSRV_INTERFACE_DETERMINATION">
    - <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV">
    - <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL">
    - <Trace level="1" type="B" name="CL_ID_PLSRV-ENTER_PLSRV">
      <Trace level="1" type="T">I N T E R F A C E - D E T E R M I N A T I O N</Trace>
      <Trace level="1" type="T">Cache Content is up to date</Trace>
      </Trace>
      </Trace>
      </Trace>
      </Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_LOG_TO_PERSIST" />
    + <Trace level="1" type="B" name="PLSRV_RECEIVER_MESSAGE_SPLIT">
    - <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV">
    - <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL">
    - <Trace level="1" type="B" name="CL_XMS_PLSRV_RECEIVER_SPLIT-ENTER_PLSRV">
      <Trace level="1" type="T">number of receivers: 1</Trace>
      <Trace level="1" type="T">Single-receiver split case</Trace>
      </Trace>
      </Trace>
      </Trace>
      </Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_LOG_TO_PERSIST" />
      <Trace level="1" type="B" name="PLSRV_MAPPING_REQUEST" />
    - <!--  ************************************
      -->
    + <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV">
      <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL" />
    - <!--  ************************************
      -->
      <Trace level="1" type="B" name="CL_MAPPING_XMS_PLSRV3-ENTER_PLSRV" />
    - <!--  ************************************
      -->
      <Trace level="1" type="T">Interface Mapping urn:
    vendor\http2webservice im_ws</Trace>
      <Trace level="1" type="T">RuntimeException during appliction Java mapping com/sap/xi/tf/_mm_ws_</Trace>
      <Trace level="1" type="T">java.lang.NullPointerException at com.sap.aii.mappingtool.tf3.AMappingProgram.exceptionCaught$(AMappingProgram.java:59) at com.sap.aii.mappingtool.tf3.Transformer.checkParserException(Transformer.java:182) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:149) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:102) at com.sap.aii.ibrun.server.mapping.JavaMapping.executeStep(JavaMapping.java:64) at com.sap.aii.ibrun.server.mapping.Mapping.execute(Mapping.java:91) at com.sap.aii.ibrun.server.mapping.MappingHandler.run(MappingHandler.java:90) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleMappingRequest(MappingRequestHandler.java:95) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleRequest(MappingRequestHandler.java:68) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceImpl.processFunction(MappingServiceImpl.java:79) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceObjectImpl0.processFunction(MappingServiceObjectImpl0.java:131) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.engine.services.ejb.session.stateless_sp5.ObjectStubProxyImpl.invoke(ObjectStubProxyImpl.java:187) at $Proxy176.processFunction(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:100) at com.sap.engine.services.rfcengine.RFCJCOServer.handleRequestInternal(RFCJCOServer.java:113) at com.sap.engine.services.rfcengine.RFCJCOServer$ApplicationRunnable.run(RFCJCOServer.java:157) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)</Trace>
      <Trace level="1" type="T">Runtime exception occurred during execution of application mapping program com/sap/xi/tf/_mm_ws_: java.lang.NullPointerException; null</Trace>
      <Trace level="1" type="T">com.sap.aii.ibrun.server.mapping.MappingRuntimeException: Runtime exception occurred during execution of application mapping program com/sap/xi/tf/_mm_ws_: java.lang.NullPointerException; null at com.sap.aii.ibrun.server.mapping.JavaMapping.executeStep(JavaMapping.java:73) at com.sap.aii.ibrun.server.mapping.Mapping.execute(Mapping.java:91) at com.sap.aii.ibrun.server.mapping.MappingHandler.run(MappingHandler.java:90) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleMappingRequest(MappingRequestHandler.java:95) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleRequest(MappingRequestHandler.java:68) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceImpl.processFunction(MappingServiceImpl.java:79) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceObjectImpl0.processFunction(MappingServiceObjectImpl0.java:131) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.engine.services.ejb.session.stateless_sp5.ObjectStubProxyImpl.invoke(ObjectStubProxyImpl.java:187) at $Proxy176.processFunction(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:100) at com.sap.engine.services.rfcengine.RFCJCOServer.handleRequestInternal(RFCJCOServer.java:113) at com.sap.engine.services.rfcengine.RFCJCOServer$ApplicationRunnable.run(RFCJCOServer.java:157) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) Root Cause: java.lang.NullPointerException at com.sap.aii.mappingtool.tf3.AMappingProgram.exceptionCaught$(AMappingProgram.java:59) at com.sap.aii.mappingtool.tf3.Transformer.checkParserException(Transformer.java:182) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:149) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:102) at com.sap.aii.ibrun.server.mapping.JavaMapping.executeStep(JavaMapping.java:64) at com.sap.aii.ibrun.server.mapping.Mapping.execute(Mapping.java:91) at com.sap.aii.ibrun.server.mapping.MappingHandler.run(MappingHandler.java:90) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleMappingRequest(MappingRequestHandler.java:95) at com.sap.aii.ibrun.sbeans.mapping.MappingRequestHandler.handleRequest(MappingRequestHandler.java:68) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceImpl.processFunction(MappingServiceImpl.java:79) at com.sap.aii.ibrun.sbeans.mapping.MappingServiceObjectImpl0.processFunction(MappingServiceObjectImpl0.java:131) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.engine.services.ejb.session.stateless_sp5.ObjectStubProxyImpl.invoke(ObjectStubProxyImpl.java:187) at $Proxy176.processFunction(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.engine.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:100) at com.sap.engine.services.rfcengine.RFCJCOServer.handleRequestInternal(RFCJCOServer.java:113) at com.sap.engine.services.rfcengine.RFCJCOServer$ApplicationRunnable.run(RFCJCOServer.java:157) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)</Trace>
      <Trace level="1" type="E">CL_XMS_PLSRV_MAPPING~ENTER_PLSRV</Trace>
      </Trace>
      <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_TO_PERSIST" />
    - <!--  ************************************
      -->
      </SAP:Trace>

  • URLConnection POST to external server requiring keep-alive fails because request is HTTP/1.0

              I have a class that when run as a "main" transmits a HTTP/1.1 post successfully
              to an external server. This external server requires keep-alive connections.
              However when instantiated inside a weblogic servlet container, the post fails
              because the HTTP protocol is set to HTTP/1.0. I have tried this with V5.1 SP11
              and then with V6.1 SP2 with the same result. The code works under Tomcat.
              I can find no way to force HTTP/1.1 in the URLConnection. Any suggestions?
              

    Great. I have a question to BEA folks, if they ever read this newsgroup:
              what is the reason for installing WLS protocol handlers, and, if there is
              one, why the implementation is still buggy? I saw many, many instances when
              code making outgoing connections failed to work in WLS, and the solution is
              always the same - use handler which comes with the JVM.
              Bob Bowman <[email protected]> wrote:
              > <[email protected]> wrote:
              >>If it works as a standalone application and fails inside WebLogic, most
              >>likely this
              >>is caused by WebLogic http handler implementation. You can try to modify
              >>your code
              >>like this:
              >>
              >>URL url = new URL(null, "http://some_url", new sun.net.www.protocol.http.Handler());
              >>HttpURLConnection conn = (HttpURLConnection)url.openConnection();
              >>
              >>(you will need to modify weblogic.policy to allow your code to specify
              >>protocol
              >>handler).
              >>
              >>Bob Bowman <[email protected]> wrote:
              >>
              >>> I have a class that when run as a "main" transmits a HTTP/1.1 post
              >>successfully
              >>> to an external server. This external server requires keep-alive connections.
              >>> However when instantiated inside a weblogic servlet container, the
              >>post fails
              >>> because the HTTP protocol is set to HTTP/1.0. I have tried this with
              >>V5.1 SP11
              >>> and then with V6.1 SP2 with the same result. The code works under
              >>Tomcat.
              >>
              >>> I can find no way to force HTTP/1.1 in the URLConnection. Any suggestions?
              >>
              >>--
              >>Dimitri
              > Worked like a champ! Thanks.
              Dimitri
              

  • Webservice doesn't work with: soap-env:mustUnderstand="1"

    Hi friends,
    I created a Webservice Consumer with the assistant, indicating the URL of my WSDL.
    Then I created the logical port in SOAMANAGER, using the same URL.
    When I test the Webservice Consumer I get the following error:
    SoapFaultCode:3  MustUnderstand headers:
    [Action,
    To] are not understood.
    The XML petition to the Webservice is:
    <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
         <soap-env:Header>
              <sap:Trace xmlns:sap="http://www.sap.com/webas/630/soap/features/runtime/tracing/">
                   <sap:TraceLevel>Error</sap:TraceLevel>
                   <sap:TraceContext>
                        <TRC_PATTERN>WSTEST</TRC_PATTERN>
                        <TRC_KEY>4D635EAAEFA70022E10000009353966F</TRC_KEY>
                        <TRC_SSID>EDU_02</TRC_SSID>
                        <TRC_USER>DES005</TRC_USER>
                        <TRC_TS>20110223153559</TRC_TS>
                        <TRC_COUNTER>99</TRC_COUNTER><TRC_EXTERN></TRC_EXTERN><TRC_REQBASED></TRC_REQBASED><TRC_PPVERS>2</TRC_PPVERS>
                   </sap:TraceContext>
              </sap:Trace>
              <wsa:To soap-env:mustUnderstand="1" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">
                   http://soades.upc.edu:8193/EconomiaFinances/InformacioPersona
              </wsa:To>
              <wsa:From xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">
                   <wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:Address>
              </wsa:From>
              <wsa:ReplyTo xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">
                   <wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:Address>
              </wsa:ReplyTo>
              <wsa:FaultTo xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">
                   <wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:Address>
              </wsa:FaultTo>
              <wsa:Action soap-env:mustUnderstand="1" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">http://comprovacio.ws.upcnet.com/InformacioPersonaImpl/consultaCNRequest</wsa:Action>
              <wsa:MessageID xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing">uuid:4d635ec2-efa7-0022-e100-00009353966f</wsa:MessageID>
         </soap-env:Header>
         <soap-env:Body>
              <n0:consultaCN xmlns:n0="http://comprovacio.ws.upcnet.com" xmlns:prx="urn:sap.com:proxy:EDU:/1SAI/TAS65AC049944F09BF8D2C4:701:2010/02/19">
                   <n0:cn>joan.ayala</n0:cn>
              </n0:consultaCN>
         </soap-env:Body>
    </soap-env:Envelope>
    People from my systems team, told me that if instead of having:
    soap-env:mustUnderstand="1"
    I had:
    soap-env:mustUnderstand="0"
    Then, It would work properly. Does anybody know if it is possible to change this value of the XML ?
    Or any other solution can be helpful. Thanks !!!

    Hi,
    You can not modify the SOAP Request just like that. But it seems that your provider does not understand the WS-Addressing protocol properties. If this is synchrnous WS call ,you can try via soamanager to eclude addressing protocol via SOAMANAGER transaction.
    Find your logical port , go to Messaging Tab and set Message ID Protocol to "suppressTransfer".
    Best Regards,
    Desi

  • HTTP persistent connection (keep Alive) problem

    Hi,
    I'm trying to deploy a RPC web service and I would like to use the HTTP 1.1 keep alive feature (which should be the default).
    I generated the server side and client side code using jdev 903. The AS is OC4j 903.
    The problem is that the server is sending a ‘Connection: close:’ header in the SOAP response, despite the client sending a ‘Connection: keep-alive’ header in the request. This is obviously causing the client to close the connection and open another for the next message.
    The documentation implies that the server will always try to use persistent connections, even so, in the file:
    <OC4J_HOME>/j2ee/home/config/http-web-site.xml
    there is a config option ‘use-keep-alives’. Setting this to true has no effect.
    I’m guessing there must be another option somewhere to turn on connection persistence.
    Can anyone please help ?

    Does anyone know whether Oracle Supports persistent connections ?
    I tested this on JBOSS and I seems to get better performance.
    cheers.

Maybe you are looking for

  • Reversing a document

    how do we reverse a particular document and how do we split dos documents in FP08? Is there any BADI for it?

  • How to setup a Firefox update server on a Windows 2012 server?

    Are there any instructions available on how to setup a Firefox update server that can automatically download updates from the Mozilla site and users can then grab the updates from the internal server? I'm using wampserver so that I can utilize Apache

  • How to stop the auto change of the desktop background picture ?

    How to stop the auto change of the desktop background picture ?

  • Interface Programing thru ABAP

    Hi Abapers, I have created LLD for one interface, but do not know how to convert it to actual coding.  Please help me out in same.  please help me in atleast as much points in which you can. A) For standard price change:- A.1) Update the pricing date

  • Match just not working on iOS devices

    Didn't work on my iPhone 4S. Song would start then stop or not even start. Didn't matter if it was purchased, uploaded or matched. Once songs were downloaded it would play but too many issues with accessing my library on my devices. Took 4 days to fi