Consuming a stateful web service

We created and deployed a stateful web service(mail service) in J2EE. It is tested working fine for J2EE consumer. Now we need to create a client from SAP WebAs (abap side). We generated the proxy with logical port, having set those "State Management" and "Session Oriented-communication" features, which I believe supposed to be stateful.
But the program crashed at the second time I call any method in the client proxy, for example, after "CALL METHOD mail_proxy->open_mail_session" to open a mail session, the "CALL METHOD mail_proxy->open_mail_store" throws an exception: "ICF Error when receiving the response: HTTP COMMUNICATION FAILURE".  It doesn’t matter which method  I used, it crashed on the second one any way. If I move the second method to the first call, the method will work fine but still crash on the 2nd called method.
I need more information about how to make the client proxy and logical port working with a stateful web service.
I will appreciate any hint, reference or suggestion!

Hi,
I am also creating a stateful web service for a standalone java client..
Do we need to set the SESSION_MAINTAIN_PROPERTY on the client stub.It gives me a remote exception once I use this.Dont know how this web service keeps track of session..Pls advice
Shashank

Similar Messages

  • How to consume the Abap web service in Java web-dynpro

    Hi Everyone,
    I want to consume ABAP web service in java web dynpro.
    so when i tried to create model in java web-dynpro, it gave me an error message saying "Invalid WSDL or WSDL not found".
    i think this error message is because, to access the WSDL of abap web-service, we need username and password, but the dialog box in java web-dynpro is not programmed to take username and password from us and send it to the server to get the WSDL.
    i came to this conclusion because i was able to successfully test my abap web-service in java portal. the java portal asked me the username and password to open the WSDL.
    So, please help me to consume the abap web service in java web-dynpro.
    Thanks in advance
    Regards
    Vikas

    Hi Vikas ,
       while creating a model in web-dynpro try to use the "import web service model" option and if you are using local server choose the local server option so that you can get the available web services which are in server, select one among them and continue you process.I think this is the some what easy way .
    If you want use the URL for wsdl better to once test the available service in server and copy that WSDL URL and paste over  WSDL textbox.
    I think this is pretty help ful to you
    Best Regards
    Srikatnh

  • Timeout when consuming a SOAP web service

    Hello,
    I'm quite new to Labview and I'm trying to consume a SOAP web service created using a very simple WCF example, but I keep on getting a WebException because of a timeout.
    The web service has been created using the example from the WCF getting started tutotial (to keep things simple) http://msdn.microsoft.com/en-us/library/ms734712.a​spx
    You'll find my .Net solution attached to this message. (You'll have to be administrator to run the service though).
    I have used the import web service tool in Labview to create the VI to connect to the web service and all went fine, it created the VI correctly. You'll find the created VI also attached to this message.
    Then, I'm trying to create a very simple VI to call the webservice and put the return value inside a numeric indicator. Unfortunately, when I run this VI it crashes with a WebException because of a timeout.
    If I run the .Net client, everything goes fine, and if I go to the web service address with a browser, I get the service website, so I know that the server is registered correctly, only Labview can't connect to it for an unknown reason. Everything is setup to connect through localhost:8000, so it can't really be a network problem, I've tried disabling the Windows firewall to see if that was the problem, but it persists.
    I've also tried to do something similar using the CDYNE web service, like in the example http://www.ni.com/white-paper/4728/en/, and it works perfectly.
    Does anybody have an idea about what could be the issue?
    Regards.
    Attachments:
    WcfTestApp.zip ‏453 KB
    _Calculator.zip ‏72 KB

    OK, I found the problem myself, it was a problem with the configuration of the WCF service, I was missing the ServiceMetadata endpoint.
    For reference, if somebody stumbles upon the same issue as I had, here's a service configuration that works with Labview (using .Net >=4.0)
      <system.serviceModel>
        <behaviors>
          <serviceBehaviors>
            <behavior name="">
              <serviceMetadata httpGetEnabled="true" />
              <serviceDebug includeExceptionDetailInFaults="true" />
            </behavior>
          </serviceBehaviors>
        </behaviors>
        <protocolMapping>
          <add scheme="http" binding="basicHttpBinding" />
        </protocolMapping>
      </system.serviceModel>
    And here's how to create and run the service host.
    using (ServiceHost selfHost = new ServiceHost(typeof(Calculator), new Uri("http://localhost:8000/Calculator")))
                    try
                        selfHost.Open();
                        Console.ReadLine();
                        selfHost.Close();
                    catch (CommunicationException e)
                        selfHost.Abort();
                        throw;

  • Need help calling stateful web service from BPEL 10.1.3.1

    I found the tutorial located at http://www.oracle.com/technology/products/ias/bpel/htdocs/callingstatefulwsfrombpel.html which talks about how to call a stateful web service, it is also mentioned on Clemens Utschig's SOA blog.
    The problem is that the code for the handlers will not compile as given under 10.1.3.1 -- it seems that the method signature for the invoke method has changed in the interface com.collaxa.cube.ws.HeaderHandler
    Has anyone gotten this to work in 10.1.3.1 or can anyone give me a tip on how to call a stateful web service in a different manner from BPEL?
    Thanks!

    Hi,
    'm trying to call a username/password secured service,
    with
    <property name="basicHeaders">credentials</property>
    <property name="basicUsername">username</property>
    <property name="basicPassword">password</property>
    But getting the following exception,
    FAIL :: Cause : :exception on JaxRpc invoke: HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Message send failed: Bad Set-Cookie header: JSESSIONID_twos=Lf1VTn7Q5KG5PhtJlGjTTM0nhhJ5FLyR51zZJLLBGfVs04VY8fmv!-728969536; domain=wosdev; path=/; secure=true, WLAUTHCOOKIE_JSESSIONID_btwosfportal=ZHfuVwF5kudqtHEoR6Ap; path=/; secure Expected ';' or ',' at position 131:
    Kindly help!
    Thanks,
    ChandraMouli
    Edited by: user13110451 on Sep 8, 2011 5:52 AM

  • Consuming an External Web Service using HTTPS and WS Security

    Hello everyone,
    I'm having a problem setting the security information in a SOAP header using a generated ABAP Client Proxy to consume an external web service that requires a User ID and Password in the Header section of the SOAP message.  I need to use HTTPS. I'm on a WAS 7.01 SP08 system so from my readings, SAP is supposed to be able to add the username and password into the header section of the message.  I can't seem to get SAP to add this information added to the header.
    Here are the steps that I have taken to set the security values.
    1) Created the client proxy from the WSDL in SE80.  Basic Authentication on the Configuration tab was turned on automatically.
           Note, Transport Security is set to None.  I cannot change it.
    2) Created an outbound set user name profile in transaction WSPROFILE with the appropriate username and password.
    3) Added the profile to the default port in transaction LPCONFIG as an outbound under the WS Security section of the screen.
    When I called the external Web Service, I got back the following error message:
    com.ibm.wsspi.wssecurity.SoapSecurityException: WSEC5509E: A security token whose type is [http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#UsernameToken] is required.
    So, after reading through this Forum, I saw that I needed to use the SOAMANAGER.  I set up a Proxy in the SOAMANAGER and manually created the Logical Port.  This was the only way I could figure out how to set the Authentication Settings in the Logical Port to "User ID / Password".  I then entered the User ID and Password.
    However, I am still getting the same error message.  I feel I am close but missing some small configuration to tell SAP to use WS Security with a Username token.
    I'm not sure what I'm doing wrong, so any help would be appreciated.
    Thanks,
    Stephen

    I had this error again so I thought I would post my solution:
    The issue is SAP needs to know the certificates being used by the web site being called.  These certificates are automatically installed in your browser but need to be manually installed in SAP.  This is what I did:
    How to find/install new certificates
    Make sure you run Internet Explorer as an Administrator so you can export the certificates
    Go to the web site that SAP is trying to call in Internet Explorer
    Double click on the lock in the address bar
    View certificates
    Find the certificates that are being used
    Tools --> Internet Options --> Content --> Certificates
    Click on the “Trusted Root Certification Authorities” tab
    Find the certificate identified in step iii
    Export as a CER certificate
    Click on the “Intermediate Certification Authorities” tab
    Find the certificate identified in step iii
    Export as a CER certificate
    Go to STRUST in SAP
    Import the Certificates in the “Anonymous” or “Standard” SSL client
    Save
    RESTART the ICM via t-code SMICM  <-- Critical!!!
    Test

  • Help: consuming an external web service with user name token

    Hello Together!
    I need to consume an external web service secured with WS-UserNameToken. The way, how did I do it:
    1. I generated a web service consumer (proxy) in SE80 from the wsdl file
    2. I created logical port for the consumer in SOAMANAGER
    3. I created security profile in WSSPROFILE with telpmate SET_USERNAME and assigned it to consumer operation in LPCONFIG  (I use LPCONFIG, because I didn't find any way to do it in SOAMANAGER)
    3. I called the web service and got the error back:  session token is missing or invalid or has inspired
    My questions are:
    1. is this possible to consume an external webservice in SAP, which is secured with WS-Usernametoken?
    2. do I need therefore any settings in java stack? do I need java stack in general?
    3. Is this any way to configure the consumer without writing programs, which set header parameter manually?
    4. if the answer on the third question is no, do you have any examples, how to implement session management in report? (I mean sending session id and checking the validaty of id)
    I appriciate any help of you!
    best regards Anna

    Hi,
    it should be possible to use WS-UserNameToken for consuming web service. It should be available on AS BAP 7.0 and higher. This profile should be under category Document authentication. You can try to dump a message send from SAP to see what is going out of SAP. This should be supported in ABAP so you don't need a Java stack. What exactly do you want to configure? Do you want to just set user name and password for that service which will be used for any calls of that proxy?
    Cheers

  • Stateful web service implementation in Flex 2

    Hello Gurus,
    We are trying to invoke a web service located on a remote
    server using MXML to create a purchase order. One of the
    requirements is that we pass a cookie from our end to this web
    service for authentication and session management purposes. Can
    anyone throw some pointers on passing cookie information to
    webservices from MXML or ActionScript?
    A little bit of research resulted in the following link:
    http://livedocs.adobe.com/livecycle/es/sdkHelp/programmer/lcds/wwhelp/wwhimpl/common/html/ wwhelp.htm?context=LiveDocs_Parts&file=rpc_26.html
    An extract from the above document states the following:
    "Stateful web services
    Flex uses Java server sessions to maintain the state of web
    service endpoints that use cookies to store session information.
    But unfortunately there are no examples on how to pass the
    cookie information itself. Any pointers are appreciated . Thanks
    much!

    This issue caused me much confusion and delay, so I hope that what I am about to say is correct.  When Flex calls a web service that requires a stateful connection, the web service "cookie" is stored in the browser.  Flash automatically attempts to access this cookie value, and returns it to the web service when additional web service operations are called.  The cookie value will be placed in the "Request Headers".
    A couple issues that gave me fits:
    1.  Safari browser on Mac had default "/preferences/Privacy/Block cookies" set to "From third parties and advertisers".  This was preventing the cookie from being sent.  I had to change this setting to "never".
    2.  I work inside the Flash API.  Testing my movie never passed the cookie value back, and I have not figured out how to do this when compiling for Flash Player.
         - NOTE: I am able to test compiling as an Adobe Air App just fine.  I did this to get my web service calls/parsing of returned info correct first.  Cookie issue and Cross Domain issues are not issues in Adobe Air, so I find this is a good place to get the web service working.  After working compiling as Adobe Air, switch to compile for Flash Player to fine tuning other issues.
    3. Cross Domain issues.  Lots of posts on this.  Pay close attention.
    Thanks!

  • Consume an external web service with an ABAP proxy

    Hello,
    I'm working on creating an ABAP Proxy to consume my first web service.  In searching SCN I haven't found a comprehensive list of steps to complete the process, but I have found information on generating a proxy from a WSDL and creating a logical port.
    My first issue arises when I go to SPROXY to generate a proxy from a WSDL, I see the message 'Local objects only (No Connection to ESR)', and I have no ability to 'create'.  The Enterprise Service Repository seems to be the new name for the Integration Repository, if that helps.  Do I need the ESR installed to create a proxy?
    A follow-on question, assuming I do need the ESR, would be what do I do with it?  It appears to serve the purpose of design for interfaces, messages, and mapping, but I thought that happened when I created a proxy in SPROXY.
    We're on ECC 6.0, with a 702 / 0007 basis release.  I appreciate and light you can shed on the topic.
    Thanks

    ESR is part of the PI system, and it is where all interfaces details are stored.You could create an ABAP Proxy from a pre-defined WDSL yet stored in PI as part of some communication, but you can also import directly a WSDL from a local file or even from a URL.
    ABAP proxy generates a proxy class and a set of abap structures , fields and data elements. Simply by filling the data and call a method in the proxy class (depends of syncrhonization a different method name) you can consume your service. No PI is needed if you use the local option.
    There is a very good Tutorial from Thomas Jung. I'll try to find it.
    http://scn.sap.com/people/thomas.jung/blog/2005/05/13/calling-webservices-from-abap-via-https
    Here you have a lot of tutorials
    Best regards

  • Consuming ES Workplace Web Services in CAF - ReadCustomer Example

    Hi,
    I am trying out the steps from [Consuming ES Workplace Web Services in CAF|http://help.sap.com/saphelp_nw72/helpdata/en/6d/00932cf834471789ad286986185acb/content.htm]
    Completed steps 1 through 5 successfully. For step 6 I am unable to locate the options and I guess I missed something here.
    When I am testing the development I get the error Service Mapping is missing.
    More Error info: com.sap.caf.rt.connectivity.exception.CAFWSExecException: The Service mapping is missing.
    Please let me know if I am missing something here or the configuration I might be missing in step 6.
    Environment:
    SDN_Preview_SR_5_CE71.rar
    SDN_Preview_SR_5_IDECE71.rar
    Thanks,

    solved.

  • ESB and Stateful web services

    Folks,
    I’ve got two web services that are called in succession. The first web service performs a search and caches the results on the server, returning only some basic information about how many results were found (in the payload) and a session id (as an attribute in a HTTP header). The second service is called afterwards, passing some page request information (in payload) and the session id (in the HTTP header). The session id is used to find the appropriate search results and return them lazily (based the given page request information).
    The web service requests are done through ESB and OWSM. My problem, however, is that according to the ESB developer’s guide (http://download-west.oracle.com/docs/cd/B31017_01/integrate.1013/b28211.pdf , page 5-29, ‘Limitations of ESB Header Support’) ESB is not capable of setting header attributes (at least not SOAP header attributes).
    Is it possible to use stateful web services with the ESB? If so, how is the SessionID handled on the ESB and how is it correlated with the clients of the ESB who are getting the results back from this stateful web service?
    Thanks in advance,
    Joseph

    Dave,
    We have invoked the two services mentioned above in four different manners using Java code.
    1. We are invoking the services through ESB with no success. The HTTP header (set-cookie) never makes it back.
    2. We are invoking the services through Web Services Manager (the services are registered directly with OWSM) with no success. The HTTP header (set-cookie) never makes it back.
    3. We are invoking the services through Web Services Manager (with ESB providing a wrapper for the services) with no success. The HTTP header never (set-cookie) makes it back.
    4. Invoking the services directly (no OWSM, no ESB). This method is successful. HTTP headers are being exchanged without incident.
    We are using Ethereal to check out the traffic going back and forth so we can see the SOAP headers getting propagated back and forth as you had mentioned. The problem is that the HTTP headers (as mentioned in my first posting) containing the session information are getting dropped when using ESB or Web Services Manager.
    Any suggestions?
    Thanks,
    Joseph

  • Consuming an external web service with WAS 6.40

    Hi all,
    I know this thread isn’t 100% XI forum related, my apologies for that. However, I believe somebody here has experience with this subject.
    I’m trying to consume an external web service through WAS 6.40 with se80. When I try to create my proxy object <u>“package Choose Create > Enterprise Service / Web Service > Proxy Object > URL type</u>”, I receive an error message (SPRX084) -> <i>During proxy generation, an interface description in WSDL format is fetched from the integration builder or from another source and interpreted. This WSDL document must describe the whole interface correctly.</i>
    I don’t have sure, but it seams something within WSDL object/element. Nevertheless, these external web services are working well with other third party client applications, why SAP WAS can’t take this WSDL?
    Anyone has faced an issue like this one?
    Thanks in advance,
    Ricardo.

    Hi,
    some tools do not generate WSDLs correcty (not with all the standards
    or with obsolete parts) and then in ABAP you cannot generate a proxy from it
    you should be able to see the some more details in disgnosis section
    sometimes you just have to change one or two things in the WSDL
    and it will be ok for WAS but you need to find the exect cause
    of the error - it can be done by debugging
    Regards,
    michal
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

  • SuperWebservice supporting stateful Web Service

    Acelet (http://www.acelet.com) has released a new version of Super with SuperWebservice supporting stateful Web service and SuperLogging combining traditional logging and LimpidLog. LimpidLog is a revolutionary logging: there is no need to hard-code logging statement. LimpidLog is an open source program.

    When building the service, there is an option to deploy a stateful service: check the stateful checkbox, in the step 2 of the wizard - Methods definition.
    On the client side, you will have to enable HTTP based cookie, so that the client remember the JSESSION cookie.
    Hope this helps,
    Eric

  • Consume abap based web Service in Visual composer 7.0

    Hi All,
    Can any one provide me sample example or PDF on "consume abap based web Service in Visual 7.0 composer" not WSDL based
    Help will be appricated by awarding point.
    Thanks

    Hi,
    Try the below link.
    Consuming WebService in Visual Composer-1
    Hope it helps...
    Regards
    Basheer

  • Consume an external Web service within an orchestration

    Hi All,
    I am following this link in order to consume external wcf web service in BizTalk server.
    http://blogs.msdn.com/b/sonuarora/archive/2007/04/14/consume-wcf-service-wizard-generates-port-binding-configuration-files-for-import-into-biztalk-server.aspx
    I am following below steps to import binding
    Open BizTalk Server 2013 Administration Console
    Select a BizTalk Application.  Right click, select Import > Bindings.
    after this I am getting following error.
    ===================================
    Failed to update binding information. (mscorlib)
    ===================================
    Could not store transport type data for Primary Transport of Send Port 'WcfSendPort_EdiWcfWebService_BasicHttpBinding_IEdiWcfWeb' to config store. Object reference not set to an instance of an object. (Microsoft.BizTalk.ExplorerOM)
    For help, click:
    http://go.microsoft.com/fwlink/?LinkId=47400&ProdName=Microsoft+BizTalk+Server+2013&ProdVer=3.10.229.0&EvtSrc=Microsoft.BizTalk.ExplorerOM.Resources&EvtID=IDS_ERR_TRANSPORTINFO_SSO_SETCONFIG
    Program Location:
       at Microsoft.BizTalk.ExplorerOM.BtsCatalogExplorer.SaveChangesWithTransaction(Object transactionObj)
       at Microsoft.BizTalk.ExplorerOM.BtsCatalogExplorer.SaveChanges()
       at Microsoft.BizTalk.Deployment.Binding.BindingInfo.Update(SqlConnection sqlConnection, BindingParameters bindingParameters, String applicationName)
    Environment:
    OS:Window server 2012 R2 64 bit
    SQL:SQL Server 2012
    BizTalkServer: BizTalk Server 2013
    Please advice
    Txs,
    Ramesh singh
    Ramesh Kumar

    Hi Ramesh ,
    Enterprise Single Sign on service is used to store the receive and send port configurations of BizTalk. The error comes usually if your SSO server is not started or the SSO service is not running on the SSO server. Login to the SSO server (it is same where
    BTS is installed in a single server environment) and check the service if it is running or not from the services manager. You can type services.msc on the run command to access the services manager console. View the Enterprise Single Sign on status that it
    is started or not. If it is stopped start the service.
    If you dont find SSO service i think than you need to reconfigure your BizTalk Environment.
    Remember the service depends upon SQL Server check that the SQL Server services are running fine or not. Here is a link to explain more about SSO
    http://msdn.microsoft.com/en-us/library/aa578564(BTS.20).aspx
    Thanks
    Abhishek

  • Consuming stateful web service via ABAP proxy

    Hi all,
    I´ve got the following scenario. I´ve a ABAP proxy generated based on a WSDL file. The provider is a WebService provided by a tomcat server. (no PI etc. as middleware). The problem i´ve now is that the webservice is stateful so I need a stateful communication between my ABAP report (client) and the Web Service.
    I´ve already found the possibiliy to switch on the feature "Session-Oriented Communication" on "Preconfiguration Tab" of the ABAP Proxy Screen. But unfortunately it´s not working.
    Anybody knows whether general system settings has to be changed for this. Or anybody has other tips.
    I´m currentliy working on the SAP Discovery System v3 which is a Netweaver 7.0.
    Many thanks in advance for your answers,
    Andy

    Marcelo  Almeida wrote:
    > You can use Logial port for it in LPCONFIG ( Transaction). See this examplo Below:
    >
    > TRY.
    >
    > CREATE OBJECT my_proxy
    > EXPORTING
    > logical_port_name = 'LP01'.
    > CATCH cx_ai_system_fault.
    > ENDTRY.
    >
    > TRY.
    > input-airline_id = p_carrid.
    > input-connection_id = p_connid.
    > input-flight_date = p_fldate.
    >
    > CALL METHOD my_proxy->flight_get_detail
    > EXPORTING
    > input = input
    > IMPORTING
    > output = output.
    > CATCH cx_ai_system_fault.
    > CATCH cx_ai_application_fault.
    > ENTRY.
    >
    > Its necessary create a connection in SM59 (type H) and setting in the call parameters logical port (LPCONFIG).
    Hi,
    thanks for your answer. It´s working!
    Cheers,
    Andy

Maybe you are looking for

  • Import WSDL description in zip file from was into xi

    Hallo, i´m trying to import externe Definitions into xi. I generated an zip file in the was. Here are three files: main.wsdl, bindingsxy.wsdl, porttypesxy.wsdl. How I must handle this to use the message-types for my interface? Thanks in advance, Fran

  • Any standard way of making sure a file name is valid

    Hi everyone, I would like to say thanks to all who participate in this forum because it is one of the most important part of the java community. I am having some problems with a desktop application that am workin on at this time. Having a small windo

  • DB Migration and ECC 6.0 Upgrade

    I have a number of questions, we have a SAP R/3 4.7x200 landscape that is currently Windows 2003 and SQL2000 both 32 bit, we want to do the following, move to Windows 2003 and SQL2005 64bit, perform a Unicode and ECC6.0 Upgrade. here are the steps I

  • My tabs are NOT restored after I reopen close and open firefox. I have tried all the suggested decisions- didn't work.

    My tabs are NOT restored after I reopen close and open firefox. I have tried the default page - on it I don't have "Restore Previous Session" button. I tried with the history menu - the "Restore Previous Session" option is not even available, like I

  • Wacom intuos4 medium tablet mouse problems

    Hello folks, I wonder if you can help me. I have a wacom intuos4 medium tablet that I use with my Mac Pro under OSX 10.6.8. Lately, my mouse is not working properly.  When I click, it behaves like a double-click. I checked all my setting and everythi