Object to trigger an HTTP request

I'm looking for an ABAP object that will trigger an HTTP request without bringing it up in the Internet Explorer?

Hi,
Please check this sap help link..
http://help.sap.com/SAPHELP_NW04S/helpdata/EN/1f/93163f9959a808e10000000a114084/content.htm
Thanks
Naren

Similar Messages

  • Simultaneous remote object calls in one http request?

    I am noticing when I have two remote object calls happen at the same time they are being bundled into one http request.  This is causing problems in my application becuase the result is not coming back until both have finished.
    So basically I have to calls that happen at the sametime.  One does not take anytime and the other is a long running task.  I will not get the result for the first until the long running task completes.
    Has anyone else seen this?
    Any help would be appreciated.

    "suspend the main thread, pending a remote call.." No. Can't
    be done.
    ..."pass arguments into the resultHandler..." Yes, this is
    done using the AsyncToken. (ACT pattern)
    The send() methods returns an AsyncToken object. You can use
    this dynamic object to add almost anything you want to the token,
    including strings, and functions (google the term "closure").
    As I am still not comfortable with anonymous functions, I
    like to pass strings. I pass an identifier, which I can use in a
    switch statement to determine the next step. Sometimes I pass a
    "nextStep" string to define finer grain conditionality.
    I use a single dataService object and result handler function
    for all calls.
    Tracy

  • Setting the header in http request object

    I am facing a problem while trying to test a particular flow of my application.The details are given below:
    The controller servlet of my main application reads the header "Referer" from the request object and then based on this it forwards the request to appropriate servlets.For testing my application I am writing a test servlet which receives a request object from a test jsp and sets all the necessary attributes in the request object and passes this request object to the doGet () method of the main application's controller servlet. But while trying with this I find that the main controller fails to forward to the correct servlet because it receives incorrect referer information. So my question is how can I set my customised "Referer" in the header of the http request so that the application's controller servlet forwards to the correct servlet?Is there any means to set the request header in servlet or jsp?

    As far as I know you can't change the request in a servlet or .jsp, but you can in a Filter. Wrap the original request object in a wrapper class before passing it to chain.doFilter().

  • HTTP request/response object not thread safe.

    According to the serlvet spec. Http Request/Response
    are not thread safe. Quoting from the Spec:
    " Implementations of the request and response objects are not guaranteed to be thread safe. This means that they should only be used within the scope of the request handling thread. References to the request and response objects must not be given to objects executing in other threads as the resulting behavior may be nondeterministic."
    This has prompt me to ask the following question.
    For Example I have a servlet which does the following
    request.setAttribute("myVar","Hello");
    The request and response is dispatched(using RequestDispatch.include(request,response)) to another
    servlet which retrieve this attribute i.e request.getAttribute("myVar");
    Is this safe?
    The Spec only said "The Container Provider must ensure that the dispatch of the request to a target
    servlet occurs in the same thread of the same VM as the original request." I take this meaning that the targeting servlet does not have to run in the same thread(only dispatch), otherwise it would be safe.

    To put it another way, you can only have onle thing working on a request at a time. For instance, the ServletContext is available to all servlets running on a server. If you tried to save a particular request to the ServletContext, it would potentially be available to many concurrently running servlets. They could all change whatever in it at the same time. Each servlet is in its own running thread. Hope that helps some.

  • Hi Gurus, message star throw a http request as a trigger

    Hi Gurus,
    we want config a scenario where we get a http request as a trigger for start a message with JDBC-channel.
    We have to select data from 5 tables with the value from the request and than transform this in a IDOC-Type and the receiver from the idoc is BI.
    Have anybody an example for this scenario?
    Thanks for your help.
    best regards Michael
    Edited by: Michael Kappe on Oct 9, 2008 10:37 AM

    Hi,
    I think need BPM for your scenario, according to ur requirement whenever got http request need to take data from tables and pass to IDOC.
    i.e
    HTTP-->JDFC--
    IDOC
    .................................Data Base TAbles

  • Null values in Weblogic 7 HTTP Request Parameters

    It appears weblogic 7 handles nulls passed from the request object
              differently than the previous versions. In my jsp's, if a parameter
              was not passed, I used to get a java null value:
              String s = request.getParameter("something_not_passed");
              if(s == null) {
              //do stuff
              Now, weblogic seems to return the string literal "null" so I would
              have to use:
              if(s.equals("null")) {
              //do stuff
              Is this a bug or am I missing something?
              Thanks,
              Paul
              

    HI, Thanks for the reply. I am using getString() to fetch values.
    DO u think its due to driver incompatibility?? Because, BEA claims WL7.0 supports
    Oracle 8.1.7 onwards!
    Thanks,
    Yogesh
    Joseph Weinstein <[email protected]> wrote:
    >
    >
    Yogesh wrote:
    Hi, I have ported my web application from weblogic 5.1 to weblogic 7.Set up is weblogic
    7 with database Oracle 8.1.6 and i am using OCI driver for DB connectionpool. I
    am facing some problems like, the values that were retrieved as blanksin weblogic
    5.1 are being retrieved as null(string literal value) in 7. The same thinghappens
    when parameters were passed through HTTP request object. Any idea aboutthis?
    Thanks,
    YogeshHi. This sounds like a driver bug. Let's isolate it to a simple standalone
    program
    that uses our driver to select null data. How are you asking for the object?
    GetString(),
    GetObject()?
    Joe

  • How to pass a HTTP request from a simple java class

    Is it possible to pass an HTTP request from a simple java class.if yes how?

    Is it possible to pass an HTTP request from a simple
    java class.if yes how?If you're talking about creating a HttpRequest object and passing it to a servlet, that would be a red flag to me that your design is flawed. You shouldn't have to do that - the application server (Tomcat, Weblogic, etc) should be the only thing that has to worry about creating that kind of object and passing it to you.

  • Creation of shopping cart through HTTP request

    Hello all, I am trying to create a shopping cart through a HTTP request.
    The URL I am managing is the same that the one that the Web Service BBPSC01 uses.
    Using the following code I cannot connect to the server in background, the error "This browser is not supported" is launched.
    In addition to this, I can open the URL successfully via R/3 when executing online.
    Help very appreciated!
    Thanks.
    data declarations
    DATA: client TYPE REF TO if_http_client.
    DATA: host      TYPE string VALUE 'host',
          host2      TYPE string,
          service   TYPE string VALUE '8000',
          path      TYPE string VALUE '/sap/bc/gui/sap/its/bbpsc01/?sap-client=020&sap-language=EN',
          errortext TYPE string. "used for error handling
    DATA: dest(13) TYPE c.
    dest = 'ZPORTAL_CESTA'.
    CALL METHOD cl_http_client=>create_by_destination
      EXPORTING
        destination              = dest
      IMPORTING
        client                   = client
      EXCEPTIONS
        destination_not_found    = 1
        internal_error           = 2
        argument_not_found       = 3
        destination_no_authority = 4
        plugin_not_active        = 5
        OTHERS                   = 6.
    IF sy-subrc NE 0.
      WRITE: / 'Create failed, subrc = ', sy-subrc.
      EXIT.
    ENDIF.
    set http method POST
    CALL METHOD client->request->set_method(
      if_http_request=>co_request_method_post ).
    client->request->set_version(
         if_http_request=>co_protocol_version_1_1 ).
    client->request->set_header_field( name = '~request_method'
    value = 'GET' ).
    set request uri (/<path>[?<querystring>])
    DATA uri TYPE string.
    uri = path.
    cl_http_utility=>set_request_uri( request = client->request
                                      uri     = uri ).
    FIN: conectamos el final de la peticion
    Send
    DATA timeout TYPE i.
    CALL METHOD client->send
      EXPORTING
        timeout                    = timeout
      EXCEPTIONS
        http_communication_failure = 1
        http_invalid_state         = 2
        http_processing_failed     = 3
        OTHERS                     = 4.
    IF sy-subrc NE 0.
      DATA: subrc TYPE sy-subrc.
      CALL METHOD client->get_last_error
        IMPORTING
          code    = subrc
          MESSAGE = errortext.
      WRITE: / 'communication_error( send )',
             / 'code: ', subrc,
             / 'message: ', errortext.
      EXIT.
    ENDIF.
    CALL METHOD client->receive
      EXCEPTIONS
        http_communication_failure = 1
        http_invalid_state         = 2
        http_processing_failed     = 3
        OTHERS                     = 4.
    IF sy-subrc NE 0.
      CALL METHOD client->get_last_error
        IMPORTING
          code    = subrc
          MESSAGE = errortext.
      WRITE: / 'communication_error( receive )',
             / 'code: ', subrc, 'message: '.
      EXIT.
    ENDIF.
    DATA return_str TYPE string.
    return_str = client->response->get_cdata( ).
    close
    CALL METHOD client->close
      EXCEPTIONS
        http_invalid_state = 1
        OTHERS             = 2.
    DATA html_control TYPE REF TO cl_gui_html_viewer.
    DATA container   TYPE REF TO cl_gui_custom_container.
    DATA html_table TYPE TABLE OF char255.
    Create container for HTML viewer
    CREATE OBJECT container
      EXPORTING
        container_name              = 'CONTAINER'
      EXCEPTIONS
        cntl_error                  = 1
        cntl_system_error           = 2
        create_error                = 3
        lifetime_error              = 4
        lifetime_dynpro_dynpro_link = 5.
    IF sy-subrc NE 0.
      MESSAGE e208(00)
         WITH 'The control HTML_CONTAINER could not be created'.
    ENDIF.
    CREATE OBJECT html_control
      EXPORTING
        parent = container.
    CALL FUNCTION 'CONVERT_STRING_TO_TABLE'
      EXPORTING
        i_string         = return_str
        i_tabline_length = 255
      TABLES
        et_table         = html_table.
    DATA: l_doc_url(255) TYPE c.
    CALL METHOD html_control->load_data
      EXPORTING
        type         = 'text'
        subtype      = 'html'
      IMPORTING
        assigned_url = l_doc_url
      CHANGING
        data_table   = html_table.
    CALL METHOD html_control->show_url
      EXPORTING
        url = l_doc_url.

    Dear Poster
    Your thread has had no response since it's creation over
    2 weeks ago, therefore, I recommend that you either:
    - Rephrase the question.
    - Provide additional Information to prompt a response.
    - Close the thread if the answer is already known.
    Thank you for your compliance in this regard.
    Jason Boggans
    SAP SRM SDN Moderator

  • Can CSS route based on cookie info in HTTP request

    Hi
    I am new to CSS and am interested as it might be able to provide a solution to a problem I have seen.
    We currently have 3 Windows Servers running an ASP-based web application with a clustered SQL Server backend. The front end uses windows load balancing to distribute the load. All 3 servers are configured the same and there is only one application.
    The problem lies with the way an the application maintains session state. I am told it uses a non-persistant cookie on the client which corresponds to a session object on the server. This is opposed to maintaining state in central location such as the database. Obviously this means the client needs to be stuck to a particular server for that session. This is currently achieved by setting the Windows NLB to single affinity which places traffic from a particular IP address to the same server. This does work but the clients source IP is changed by a downstream firewall to a NAT overload address meaning all clients appear with the same IP address (different port) and hence always end up on just one server.
    The obvious next step in my mind would be to change the way NAT is done but this is not possible. The next obvious idea would be to change the application so that it maintains state in the database so the affinity of the Windows NLB could be disabled meaning requests would be dealt with using the source IP and port and hence distributed evenly. I am told this cannot be done either :) Joy!
    So I have begain to look at other possible solutions. Apologies for my very limited knowledge on the CSS as I am trying to get my head around how it can be configured. I am thinking that it may be able to help me if I used it instead of Windows NLB. I am interested in the way you can use Layer 5 stickiness. Would it be able to examine the cookie in the HTTP request and route the traffic to the correct server?
    I am aware that this will not alleviate the failover issue. If one of the servers were to fall over then the client would have to login again, however I am under the impression that this is acceptable behaviour. The main driver here is to provide load balancing to improve application performance by using all resources opposed to just one.
    Many many thanks to anyone who can give me advise on this.

    Hi Gilles
    Thanks for the info. Sounds like we are on the right path. Unfortunately I am unable to get much information from the developers. Long story. I did logon to the system whilst doing a network trace. The following is what I found in the HTTP header:
    Hypertext Transfer Protocol
    GET /XXXXX/Includes/style.asp HTTP/1.1\r\n
    Accept: */*\r\n
    Referer:
    http://xxx.xxxxx.xxx/xxxxx/login.asp\r\n
    Accept-Language: en-gb\r\n
    Accept-Encoding: gzip, deflate\r\n
    User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322)\r\n
    Host: xxxx.xxxxx.xxxxx\r\n
    Connection: Keep-Alive\r\n
    Cookie: ASPSESSIONIDQCBCDSCR=AEHBCJEDDGMMCCBHBICLELGD\r\n
    \r\n
    Why do you configure 2 services? How would I go about this given the cookie in the HTTP request?
    Many thanks
    Gary

  • How to send a document in net.HTTP.request as a POST variable?

    I have read and reread the doc on net.HTTP.request, and it says I can pass an argument of oRequest, but I have not succeeded at passing in the current document, which is what I want to do.
    I've tried app.activeDocs[0], or encoding that to a string, but though it makes the call without error, nothing is sent.
    Should oRequest be simply a document, or a variable made up of name-value pairs? How do we send multiple parameters to a POST otherwise?
    I've succeeded fine with calling using GET, but when I tried to pass the document as a GET variable, I got nothing either.
    I'm sending to a LiveCycle REST end point so either POST or GET is fine.
    Thanks!

    POSTing the current document is straightforward *provided* your script is running outside the document context (i.e. in the console or a folder-level script). There's no access from doc-level scripts for obvious reasons.
    For example, putting this in the JS console will POST the current file to a URL:
    Net.HTTP.request({
      cVerb:'POST',
      cURL: 'http://localhost/submit.php',
      oRequest: Collab.documentToStream(this),
      oHandler: {
        response: function (msg, uri, err) {
           if (err!=undefined) app.alert(msg);
    Your problem with talking to a vanilla webservice is that you cannot send the RFC1867 delimeters (i.e. form a "multipart/form-data" request) as the ReadStream object doesn't have a concatenation method in the Acrobat JSAPI. That's also how you would usually prepend other form fields, but if you're careful with your server-side coding you can send those as GET parameters in cURL. Normally you'd be polite and pass a Context-Type header in the aHeaders array - it won't matter to the transmission process but will allow your webservice to predict what the heck it's been sent.
    Your webservice will then have to read the raw data. In PHP for example, you won't get anything in the $_FILES global but you can grab the PDF by reading everything from the input buffer, with the line:
    $pdf = file_get_contents("php://input");
    If that line was in the server script that the above JS code was aimed at, the variable $pdf will contain an exact binary copy of the currently-open document.

  • Autoscaling Application block for Azure worker role console app not working. Get error as The HTTP request was forbidden with client authentication

    I have written a console application to test the WASABi(AutoScaling Application Block) for my worker role running in azure. The worker role processes the messages in the queue and I want to scale-up based on the queue length. I have configured and set the
    constraints and reactive rules properly. I get the following error when I run this application.
    [BEGIN DATA]{}
        DateTime=2013-12-11T21:30:02.5731267Z
    Autoscaling General Verbose: 1002 : Rule match.
    [BEGIN DATA]{"EvaluationId":"4f9f7cb0-fc0d-4276-826f-b6a5f3ea6801","MatchingRules":[{"RuleName":"default","RuleDescription":"The default constraint rule","Targets":["AutoscalingWebRole","AutoscalingWorkerRole"]},{"RuleName":"ScaleUpOnHighWebRole","RuleDescription":"Scale
    up the web role","Targets":[]},{"RuleName":"ScaleDownOnLowWebRole","RuleDescription":"Scale down the web role","Targets":[]},{"RuleName":"ScaleUpOnHighWorkerRole","RuleDescription":"Scale
    up the worker role","Targets":[]},{"RuleName":"ScaleDownOnLowWorkerRole","RuleDescription":"Scale down the worker role","Targets":[]},{"RuleName":"ScaleUpOnQueueMessages","RuleDescription":"Scale
    up the web role","Targets":[]},{"RuleName":"ScaleDownOnQueueMessages","RuleDescription":"Scale down the web role","Targets":[]}]}
        DateTime=2013-12-11T21:31:03.7516260Z
    Autoscaling General Warning: 1004 : Undefined target.
    [BEGIN DATA]{"EvaluationId":"4f9f7cb0-fc0d-4276-826f-b6a5f3ea6801","TargetName":"AutoscalingWebRole"}
        DateTime=2013-12-11T21:31:03.7516260Z
    Autoscaling Updates Verbose: 3001 : The current deployment configuration for a hosted service is about to be checked to determine if a change is required (for role scaling or changes to settings).
    [BEGIN DATA]{"EvaluationId":"4f9f7cb0-fc0d-4276-826f-b6a5f3ea6801","HostedServiceDetails":{"Subscription":"psicloud","HostedService":"rmsazure","DeploymentSlot":"Staging"},"ScaleRequests":{"AutoscalingWorkerRole":{"Min":1,"Max":2,"AbsoluteDelta":0,"RelativeDelta":0,"MatchingRules":"default"}},"SettingChangeRequests":{}}
        DateTime=2013-12-11T21:31:03.7516260Z
    Autoscaling Updates Error: 3010 : Microsoft.Practices.EnterpriseLibrary.WindowsAzure.Autoscaling.ServiceManagement.ServiceManagementClientException: The service configuration could not be retrieved from Windows Azure for hosted service with DNS prefix 'rmsazure'
    in subscription id 'af1e96ad-43aa-4d05-b3f1-0c9d752e6cbb' and deployment slot 'Staging'. ---> System.ServiceModel.Security.MessageSecurityException: The HTTP request was forbidden with client authentication scheme 'Anonymous'. ---> System.Net.WebException:
    The remote server returned an error: (403) Forbidden.
       at System.Net.HttpWebRequest.GetResponse()
       at System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
       --- End of inner exception stack trace ---
    Server stack trace: 
       at System.ServiceModel.Channels.HttpChannelUtilities.ValidateAuthentication(HttpWebRequest request, HttpWebResponse response, WebException responseException, HttpChannelFactory`1 factory)
       at System.ServiceModel.Channels.HttpChannelUtilities.ValidateRequestReplyResponse(HttpWebRequest request, HttpWebResponse response, HttpChannelFactory`1 factory, WebException responseException, ChannelBinding channelBinding)
       at System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
       at System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)
       at System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, TimeSpan timeout)
       at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
       at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs)
       at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
       at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)
    If anyone know why I am getting this anonymous access violation error. My webrole is secured site but worker role not.
    I appreciate any help.
    Thanks,
    ravi
      

    Hello,
    >>: The service configuration could not be retrieved from Windows Azure for hosted service with DNS prefix 'rmsazure' in subscription id **************
    Base on error message, I guess your azure service didn't get your certificate and other instances didn't have certificate to auto scale. Please check your upload the certificate on your portal management. Also, you could refer to same thread via link(
    http://stackoverflow.com/questions/12843401/azure-autoscaling-block-cannot-find-certificate ).
    Hope it helps.
    Any question or result, please let me know.
    Thanks
    Regards,
    Will 
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Going through messages in PI using http requests

    Hi,
    I'm researching for an external tool that will handle PI channels.
    I'm aware of the stop, start and status actions that can be used in an http request.
    But what if I want more detailed information?
    For example, if a channel is in status error, is there an http request to get details about the error?
    What about messages? Is there a request I can use to find out what messages came through the channel?
    So what else can I get using http requests besides the basic 3 actions?
    What about RFC calls? Can they be used to get more information on channels/errors/messages?
    Someone has a guide, about the http calls/RFC that can be used.
    Thanks!

    Thing is that one of the requirements is to limit the need to go to SAP and check the errors.
    Also, there is a need to watch for certain message, not necessarily if only error occurred and trigger stuff in my application.
    The tool I'm working on is an enterprise one that also interacts with other applications in the organization, so if I want to create dependencies between different applications covered in my tool I need to get more information than just the status of the channel.
    So, I hope for some additional http calls to get more information, but if there are none, then I'll have to do with what we have

  • 415 Unsupported Media Type - Inbound HTTP request

    Hi All,
      mY scanario is
      HTTP Request --> XI ---> FTP ( Without any IR objects..Just a file transfer )
    Whenever our partner is trying to post a file pI, they are gettig 415 unsupported type. They are using content type as application/text and we tried with as text/xml as well. No luck.
    Please adviice

    Rajesh,
    The error definitely says request sent by the client especially the content-type header is not a valid one. Check this trace and ask them to change accordingly:
    http://help.sap.com/saphelp_nw04/helpdata/en/8f/2f2c4142aef623e10000000a155106/content.htm
    Regards,
    ---Satish

  • How best to make a transaction span multiple HTTP requests?

    Hi, all. What is the best way to implement a transaction that spans multiple
    HTTP requests? Many J2EE applications must solve this problem, but I can't
    any guidelines for an implementation.
    Consider an application that implements a multi-step wizard. Each step
    gathers data from the user; step one gets the user's name, and step two gets
    his dog's name. When the user completes the wizard, the application saves
    the user & dog in two entity beans. Conceptually, the application treats
    this wizard like a single, long-running transaction. The transaction begins
    when the user launches the wizard. Submitting the JSP for step one adds the
    Boy bean to the transaction, and submitting step two adds the Dog bean.
    Finishing the wizard commits the transaction. Exiting the wizard or timing
    out causes the transaction to rollback.
    Although the wizard looks like a transaction, the entire sequence of user
    interactions can't be captured in a single JTA UserTransaction. A
    UserTransaction must be associated with a single thread, but each wizard
    step is handled asynchronously by its own execution thread. It's impossible
    to funnel the conversation through one thread that can demarcate the
    transaction. (This would be a pretty dumb solution for other reasons, but I
    don't want to get lost in details.)
    I think the standard way to solve this problem is to store conversation
    state in a stateful session bean (or the http session) and create / update
    both entity beans in a transactional EJB method after the wizard completes.
    Unfortunately, this solution prevents me from leveraging a lot of great
    transaction management features provided by the app server. For example, I
    can't use optimistic concurrency to make sure that the dog object hasn't
    changed in the database between the start and end of the wizard. Also, I'm
    forced to keep track of changes to the dog object in the conversation state,
    then replicate these changes to an entity bean at the end of the wizard.
    Keeping track of state in a stateful bean is pretty straightforward, but it
    seems like there must be an existing solution that leverages the appserver's
    concurrency and state management features. Am I missing something? Is there
    code, a pattern, or an article that describes the best way to implement a
    multi-step process that looks transactional? I suppose WLI does what I want,
    but that feels like killing a roach with a SCUD missle. Thanks for any
    advice.
    Dave

    Dave Smith wrote:
    Without a transaction, will the app server manage the version column
    automatically, assuming of course that <concurrency-strategy> is
    "Optimistic" and <verify-columns> is set to "Version"? Of course, I'll have
    to expose the version as a cmp-field, which is fine with me.Yes
    >
    Do you know offhand, so that I don't have to get off my lazy ass and write a
    test, whether the CMP service will create the version column when it
    generates db tables? (I realize it's not good to let WLS generate the tables
    in a production system.)No, I don't think it does.
    >
    I assume from your answer that I'm on my own for implementing stuff like and
    transaction inheritance and tracking object modifications? Well, we'll give you a bit of help on the object modifications. The
    usual pattern is when you're pushing the JavaBean back to the CMP you
    call all the setXXX methods on the CMP bean. Our CMP container will
    check if the value you are setting is the same as read from the db. If
    so, it will not update that column.
    -- Rob
    If so, no big
    deal. I was just hoping somebody would say, "Oh, you want the Jakarta
    SuperBeans project" or something.
    Thanks,
    Dave
    "Rob Woollen" <[email protected]> wrote in message
    news:[email protected]...
    I'd recommend that you include a separate version or timestamp column in
    your db schema.
    Then do something like this:
    Client Server
    1) First HTTP Request
    2) Read current Dog and Boy Entity Beans
    (if any) and copy their values into a JavaBean.
    You want to include the version
    column(s) in the JavaBean(s) along with the data values.
    You probably also want to store the JavaBeans in
    your HTTP Session.
    3) Client proceeds through wizard interacting with JavaBeans
    4) Finish with Wizard, copy JavaBean values (including
    version columns) to CMP 2.0 Entity Beans.
    The version column will give you the optimistic concurrency protection
    that you desire without opening a JTA transaction to span user input.
    -- Rob
    Dave Smith wrote:
    Hi, all. What is the best way to implement a transaction that spans
    multiple
    HTTP requests? Many J2EE applications must solve this problem, but Ican't
    any guidelines for an implementation.
    Consider an application that implements a multi-step wizard. Each step
    gathers data from the user; step one gets the user's name, and step twogets
    his dog's name. When the user completes the wizard, the applicationsaves
    the user & dog in two entity beans. Conceptually, the application treats
    this wizard like a single, long-running transaction. The transactionbegins
    when the user launches the wizard. Submitting the JSP for step one addsthe
    Boy bean to the transaction, and submitting step two adds the Dog bean.
    Finishing the wizard commits the transaction. Exiting the wizard ortiming
    out causes the transaction to rollback.
    Although the wizard looks like a transaction, the entire sequence ofuser
    interactions can't be captured in a single JTA UserTransaction. A
    UserTransaction must be associated with a single thread, but each wizard
    step is handled asynchronously by its own execution thread. It'simpossible
    to funnel the conversation through one thread that can demarcate the
    transaction. (This would be a pretty dumb solution for other reasons,but I
    don't want to get lost in details.)
    I think the standard way to solve this problem is to store conversation
    state in a stateful session bean (or the http session) and create /update
    both entity beans in a transactional EJB method after the wizardcompletes.
    Unfortunately, this solution prevents me from leveraging a lot of great
    transaction management features provided by the app server. For example,I
    can't use optimistic concurrency to make sure that the dog object hasn't
    changed in the database between the start and end of the wizard. Also,I'm
    forced to keep track of changes to the dog object in the conversationstate,
    then replicate these changes to an entity bean at the end of the wizard.
    Keeping track of state in a stateful bean is pretty straightforward, butit
    seems like there must be an existing solution that leverages theappserver's
    concurrency and state management features. Am I missing something? Isthere
    code, a pattern, or an article that describes the best way to implementa
    multi-step process that looks transactional? I suppose WLI does what Iwant,
    but that feels like killing a roach with a SCUD missle. Thanks for any
    advice.
    Dave

  • Re: (forte-users) HTTP request through proxy server

    Daniel -
    No, it does not. ;)
    How do you say to HTTPRequest to go through proxy?
    Thanks,
    Taras
    Daniel Nguyen wrote:
    >
    Hi,
    It works very well. I have experienced this model for a distant Forte client
    calling a Forte Server service Object for instance without any environment
    and without TCP access (passing through firewall for instance).
    It has also worked very well to make an injectot to improve Web Enterprise
    and IIS using the SendRequest from HTTPAccess.
    Hope this helps,
    Daniel Nguyen
    Freelance Forte Consultant
    http://perso.club-internet.fr/dnguyen/
    Taras Katkov a &eacute;crit:
    HTTP request through proxy server using forte HTTP library?
    Any experience?
    Thanks,
    Taras
    For the archives, go to: http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com--
    For the archives, go to: http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com

    You can also use the HTTP-DC project.... You don't
    need Web Enterprise for this. From what I can tell,
    this is available in L.x on....
    There is api documentation in M.2 (with scant
    examples.)
    There's a special process to put the project in your
    repository (it isn't installed in the repository in
    the standard install,) the documentation in M.2
    (probably in M.0 too, AFAIK) that tells you how to do
    this (look for HTTP-DC in the online help.)
    I haven't done much with it yet, I've just installed
    it. If anybody out there has examples, that'd be
    great. I'll try to contribute more the moment I get a
    chance to explore it....
    Christopher Fury
    BellSouth Communications Systems
    --- Daniel Nguyen <dnguyenclub-internet.fr> wrote:
    Hi,
    If you have Web Enterprise, you can user
    HttpAccess.SendRequest().
    Hope this helps,
    Daniel Nguyen
    Freelance Forte Consultant
    Amin, Kamran a &eacute;crit:
    Is there any way to make a HTTP request from TOOLto another HTTP Service?
    thanks in advance.
    For the archives, go to:
    http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive. Tounsubscribe, send in a new
    email the word: 'Unsubscribe' to:forte-users-requestlists.xpedior.com
    For the archives, go to:
    http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive. To
    unsubscribe, send in a new
    email the word: 'Unsubscribe' to:
    forte-users-requestlists.xpedior.com
    Kick off your party with Yahoo! Invites.
    http://invites.yahoo.com/

Maybe you are looking for

  • Report for multiple IDOCs with multiple POs

    Hi, In our project PO goes out to vendor through EDI 850 and Outbound IDOC is generated for this.Some times its failed due to connection issue at vendors end. so sometimes  we need to send  PO nos and its related IDOC nos  to EDI team as per their re

  • Asset-uploading

    Experts:-In asset data uploading what we can make the settings before , after uploading what make the settings,( i face this my client interview) plz.....help for me.

  • " Routing Chaining Failure ".Why i am facing this error? and How to Resolve it??

    Forefront TMG detected a proxy server loop. There may be a problem in the configuration of the Forefront TMG Web chaining policy. Alternatively, in Enterprise Edition, when CARP is enabled and there are intermittent interruptions of intra-array conne

  • When will iPod 16 GB be available in Egypt?

    Hello, I live in Egypt and the iPod 5th Gen. 32 GB and 64 GB are already released,SO,I wanted to know when the 16 GB will be available to Egypt?

  • PR auto close

    Dear all, My plant wants the scenario like if PR is open from more than 2 months without any action then system auto. close the PR. Is it possible if yes then how? Neha