SocketTimeoutException when calling a web service from a WD application

I'm trying to call a method of a web service from my WD application. The execution of the method longs more than 60 sec, so I'm always getting:
Service call exception; nested exception is: java.net.SocketTimeoutException: Read timed out
I've got this post, which tells to change the property "socketTimeout" of the client.
Read Timed Out Error
But I don't know what is the client in my WD application, does this refer to the logical port ?
I've tried inserting this into wdInit:
com.hesa.hesanet3.h3wsmodel.proxies.Hesanet3Impl service = com.hesa.hesanet3.h3wsmodel.H3WSModel.getServiceImpl();
logicalPort =(com.hesa.hesanet3.h3wsmodel.proxies.Hesanet3ViDocument) service.getLogicalPort("Config1Port_Document", com.hesa.hesanet3.h3wsmodel.proxies.Hesanet3ViDocument.class);
logicalPort._setProperty("socketTimeout", "30000");
But it doesn't work.
I've tried getting the logical port from the model object corresponding to the method of the webservice unsuccesfully.
I've tried with Visual Administrator -> instance -> Web Service Container -> Settings -> WS Clients Socket Timeout, increasing to 120 secs. No result, still stop at 60s.
I've tried with Visual Admin -> global configuration -> Http provider -> KeepAliveTimeout, increasing to 120 secs, and still stop at 60s.
I can't change model object code, but I've tried to debug it and setting the property in stubForLogicalPort and in _getGlobalFeatureConfig(), without change.
I'm using a HTTP Destination, does this have something to do?
I'm getting insane with this and I'm in urgent need of help.
How can I change the time the WD waits for the WebService to answer ?
Thanks in advance.

Find solution. Check this thread:
https://www.sdn.sap.com/irj/sdn/wiki?path=/display/wdjava/faq%2b-%2bmodels%2b-%2badaptive%2bweb%2bservice
The com.sap.tc.webdynpro.model.webservice.api.IWDWSInvocationModifier interface can be implemented by an application using the Adaptive Web Service model in order to modify the web service invocation object just before it's execution. Invocation modifiers need to be registered with the executable model class for which invocation is to be modified:
Request_NumberToWords requestMO = new Request_NumberToWords(model);
requestMO.wdSetInvocationModifier(
  new IWDWSInvocationModifier() {
    public void doModifyInvocation(Object port) {
      HTTPControlInterface httpItf = HTTPControlFactory.getInterface(port);
      //timeout for this WS invocation is 120 sec; don't use global config. setting of WS-Runtime
      httpItf.setSocketTimeout(120000);
    public void doModifyAfterInvocation() {}
Best regards.

Similar Messages

  • Error when calling Java Web Services from ABAP.

    Hello experts:
        In my project, I will call Java Web Services with ABAP coding. With WSDL, I generated a proxy class and created a HTTP connection (t-code: SM59) and a logical port (t-code:lpconfig) for this proxy class. But when running, I would receive the folllowing errors:
       SOAP:1.023 SRT: Processing error in Internet Communication Framework: ("ICF Error when receiving the response: HTTP COMMUNICATION FAILURE")
       If I used HTTPS, there is no problem.
    Regards
    Bob

    Hi Bob,
    It might be the possibility that your java web server is configured to listen only on HTTPS.
    If your HTTPS is working fine, then first check with your JAVA server for HTTP connectivity, then try it calling through ABAP.
    Regards,
    Piyush

  • Calling a web service from a portal application / SOAP Action

    Hallo,
    Ich möchte aus einer Portal Applikation auf einen Web Service zugreifen.
    Dafür habe ich mit dem Wizard "Portal Service from Wsdl file - Client side"
    eine Portal Service erzeugt, auf den ich dann zugreife.
    Leider wird dabei ein Fehler ausgegeben (Stacktrace-Ausschnitt s.u.).
    Ich habe ein Posting zu dem Fehler hier im SDN gefunden, leider hatte dort niemand eine Antwort. Vielleicht hat inzwischen jemand eine Idee?
    Das Feld soapaction ist in der soapconfig.xml leer angegeben (soapaction="").
    Es ändert aber nichts an der Fehlermeldung, wenn ich dort etwas eintrage.
    Ein weiterer Gedanke ist, dass die soapaction, die wenn ich es richtig verstehe eine URL auf die web service methode enthalten soll, im Grunde dynamisch sein sollte, da der Web Service lokal in dem Portal läuft, auf dem die Applikation gerade deployed ist. Auf den Web Service wird mit WebDynPro erfolgreich zugegriffen (dynamisch). Meine Vermutung ist, dass hier das Problem liegt und es entweder mit diesem Wizard nicht möglich ist oder ein Bug vorliegt.
    Also ist die Frage: Wie erzeuge ich dasselbe für eine Portal-Applikation?
    Ich hoffe, dass mir jemand mit einer Antwort oder Hinweisen wo man weiterforschen kann, weiterhelfen kann.
    Freundliche Grüße,
    Daniel Dehnhard
    Stacktrace:
    Component finished with error: (com.sapportals.portal.prt.service.soap.exception.PRTFaultEnvelopeVersion)
    java.lang.IllegalArgumentException: The SOAP Action "" include in the soap request not corresponding to the Portal service method.
    at com.sapportals.portal.prt.service.soap.element.PRTSOAPBodyElement.processParams(PRTSOAPBodyElement.java:253)
    at com.sapportals.portal.prt.service.soap.element.PRTSOAPBodyElement.init(PRTSOAPBodyElement.java:190)
    at com.sapportals.portal.prt.service.soap.element.PRTSOAPBodyElement.(PRTSOAPBodyElement.java:56)
    at com.sapportals.portal.prt.service.soap.element.PRTSOAPBody.init(PRTSOAPBody.java:94)
    at com.sapportals.portal.prt.service.soap.element.PRTSOAPBody.(PRTSOAPBody.java:36)
    at com.sapportals.portal.prt.service.soap.element.PRTSOAPEnvelope.init(PRTSOAPEnvelope.java:113)
    at com.sapportals.portal.prt.service.soap.element.PRTSOAPEnvelope.(PRTSOAPEnvelope.java:54)
    at com.sapportals.portal.prt.service.soap.element.PRTSOAPMessage.processSOAPMessage(PRTSOAPMessage.java:58)
    at com.sapportals.portal.prt.service.soap.element.PRTSOAPMessage.(PRTSOAPMessage.java:40)
    at com.sapportals.portal.prt.service.soap.SOAPService.call(SOAPService.java:180)
    at com.sapportals.portal.prt.service.soap.PRTSOAPCall.invokeMethod(PRTSOAPCall.java:209)
    at de.enviam.ep.egk.km.webservicewrapper.Z_EP_EM_EGK_CustomerGroupToCRMData.getCustomerGroup2CrmDataByGPNr(Z_EP_EM_EGK_CustomerGroupToCRMData.java:218)
    at de.enviam.ep.egk.km.imp.EPImpSchedulerTask.resolveGroupId(EPImpSchedulerTask.java:764)

    Hi,
      I am accessing a web service from a Portal Component through a Portal Web Service. First i created a web service, then a portal web service which is made to access the wsdl file of the web service. Now i access the Portal Web Service from a Portal Component. Now i am getting an error as,
    Exceptionjava.lang.IllegalArgumentException: The SOAP Action "" include in the soap request not corresponding to the Portal service method.
    The code which i wrote in component is below
    String text = "word";
    FuncHelloResponse res=new FuncHelloResponse();
    FuncHello fn= new FuncHello() ;          
    fn.setName(text);
    res= (  (INewPortal) PortalRuntime.getRuntimeResources().getService(INewPortal.KEY)).FuncHello(fn);
    response.write(res.getResponse());
    Can any one solve this problem?

  • Calling a web service from a Java application

    Does anyone have sample code showing how to call a web service over from a Java application? I'm deploy to HP-UX and seeking out the most standard and reliable approach.
    Thank you in advance.

    Keith,
    Download JWSDP 1.2, look at the tutorial for JAXRPC, especially
    the client portion.

  • Slow response when calling a web service from an ADF client in JDev 11g

    I have generated a web service (WS) for a stored procedure package with 3 functions. The WS has less than 1 second response times when I use the standard WS testing facility. I then created a data control for the WS selecting the default values in the JDev wizard. When I test the functions from a very basic ADF client the response times for the same functions are between 3-4 seconds i.e. very SLOW compared to the actual response time of WS. I need some advice on how to investigate this performance degredation as seen from the ADF client.
    Could the problem be that the data control was created from a web service in the same project? Maybe it is necessary to have them in separate projects or create a proxy?
    I created and tested the web service with the standard WS test tool and then simply went on to create a data control from this web service for use from a ADF client.
    Some background info:
    I saw the following warning in step 8 of the WS creation wizard:
    "The configured policy store location at "C:\Oracle\Middleware\jdeveloper\j2ee\home\gmds" is invalid. Application cannot read policies from this location. Check that the directory name is correct and the location exists."
    Also I can confirm that there is no j2ee directory in my environment.
    The application server logs the following for each call from the ADF client:
    009-apr-01 15:55:22 oracle.adf.model.connection.webservice.impl.WebServiceConnectionMessages debugGetSaajInteraction
    INFO: Creating a SaajInteraction for oracle.j2ee.ws.model.OperationImpl@1c81d2c
    2009-apr-01 15:55:22 oracle.adf.model.connection.webservice.impl.WebServiceConnectionMessages debugGetSaajInteractionResult
    INFO: Created [email protected]79edc for oracle.j2ee.ws.model.OperationImpl@1c81d2c
    2009-apr-01 15:55:22 oracle.j2ee.ws.rm.LogMessages logExceptionAsWarning
    VARNING: Internal error: oracle.wsm.policy.model.PolicyModelException: WSM-01647 : There are no policies that match the specified category wsrm and resource pattern {1}.
    2009-apr-01 15:55:22 oracle.fabric.common.AbstractSecurityInterceptor init
    INFO: AbstractSecurityInterceptor:init(), client.mode.jse==ture and isJEE==true, probably is a case of JEE client calling JSE client
    2009-apr-01 15:55:22 oracle.wsm.agent.WSMAgent init
    INFO: WSMAgent is initialized for category=management, function=agent.function.client, topologyNodePath=null, isJ2EE=true
    2009-apr-01 15:55:22 oracle.fabric.common.AbstractSecurityInterceptor init
    INFO: AbstractSecurityInterceptor:init(), client.mode.jse==ture and isJEE==true, probably is a case of JEE client calling JSE client
    2009-apr-01 15:55:22 oracle.wsm.agent.WSMAgent init
    INFO: WSMAgent is initialized for category=security, function=agent.function.client, topologyNodePath=null, isJ2EE=true
    2009-apr-01 15:55:24 oracle.wsm.common.logging.WsmMessageLogger logSevere
    ALLVARLIG: error in the Oracle WSM Policy Resolver Initialization, because incorrect configuration is passed: {0} {1}
    Edited by: user10601664 on Apr 8, 2009 7:11 AM

    Find solution. Check this thread:
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/wdjava/faq%2b-%2bmodels%2b-%2badaptive%2bweb%2bservice
    The com.sap.tc.webdynpro.model.webservice.api.IWDWSInvocationModifier interface can be implemented by an application using the Adaptive Web Service model in order to modify the web service invocation object just before it's execution. Invocation modifiers need to be registered with the executable model class for which invocation is to be modified:
    Request_NumberToWords requestMO = new Request_NumberToWords(model);
    requestMO.wdSetInvocationModifier(
      new IWDWSInvocationModifier() {
        public void doModifyInvocation(Object port) {
          HTTPControlInterface httpItf = HTTPControlFactory.getInterface(port);
          //timeout for this WS invocation is 120 sec; don't use global config. setting of WS-Runtime
          httpItf.setSocketTimeout(120000);
        public void doModifyAfterInvocation() {}
    Best regards.

  • ORA-01403: no data found when calling a web service from HTMLDB

    I am working through Section 6 How to Implement a Web Service of the HTML DB 2 Day Developer tutorial. I can get the first example to work but not the second one. I am able to add the web reference and create the form and report. However, when I run the page and click submit, I get ORA-01403: no data found.
    When I test the service, this is what shows in the Message Request:
    <?xml version='1.0' encoding='UTF-8'?><SOAP-ENV:Envelope
    xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/1999/XMLSchema">
    <SOAP-ENV:Header><namesp1:Header xmlns:namesp1="http://www.xignite.com/services/"><namesp1:Username xsi:type="xsd:string"></namesp1:Username><namesp1:Password xsi:type="xsd:string"></namesp1:Password><namesp1:Tracer xsi:type="xsd:string"></namesp1:Tracer></namesp1:Header></SOAP-ENV:Header><SOAP-ENV:Body><namesp1:ListFuturesByExchange xmlns:namesp1="http://www.xignite.com/services/"><namesp1:Exchange xsi:type="xsd:string">NYMEX</namesp1:Exchange></namesp1:ListFuturesByExchange></SOAP-ENV:Body></SOAP-ENV:Envelope>
    Nothing shows in the Message Response.
    I have also tried to call a simple web service that I created in .NET. It exhibits the same behavior. I am able to add the reference and create the form. But when I click the submit button, I get ORA-01403: no data found.
    Windows 2000
    HTMLDB 2.0.0.00.49
    Oracle9i 9.2.0.6.0
    Any help will be greatly appreciated.

    I'm having a similar problem!, Although, distressing as it is to observe the lack of response this thread has had for 9 months, I'm still seeking help here!
    I created a web service reference according to the following WSDL : "http://OgAppExpress:[email protected]:5555/invoke/OgAdminUtils.pub:WSDL_HLR" (operation name="getSubscriberInfoByMSISDN") and a form on that web service, all of which went very nicely. But! When I ran the form, inserted the value ("3546933599") into the parameter and pressed submit.... => "ORA-01403: no data found"
    The debug action displays very limited information and sheds no light on the problem :( Multiple attempts, on recreating the project from scratch, have resulted in the same utter failure! Needless to say, this nulls the affect of my Prozac proscription....
    Is there anybody out there who can help me and defend APEX's reputation?

  • "Invalid text value" error when calling a web service from a workflow in SharePoint Online

    I'm trying to create a workflow that loops through a list in SharePoint Online using a REST web service call. However, I'm having
    some trouble trying to pass the authentication token as described in the following article.
    http://www.fabiangwilliams.com/2013/09/03/more-on-sharepoint-2013-r...
    Basically, the workflow stops right at the "Call web service" action, and the only error it tells me is the following.
    Invalid text value.
    A text field contains invalid data. Please check the value and try again
    Has anyone had success with web service calls to SharePoint Online?
    Dan Kreitz, Solutions Architect, Séafra Inc.

    Hi DanPoint,
    Thank you for your sharing!
    Best Regards,
    Wendy
    Forum Support
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact
    [email protected]
    Wendy Li
    TechNet Community Support

  • Exception in calling a web service from a composite application service

    Hi,
    I have created a composite application service with external service as a web service. My web service is deployed on localhost as well as I am running my composite application service in localhost. When i try to test the application service, I get the exception
    com.sap.caf.mp.base.exception.InvocationException: Invalid parameters
    The exception happens in MPConnector.java 'process' method where I am calling the execute operation on the service.
    I have tried testing this through Service Browser as well as creating a callable object on the Application service and testing the callable object.
    I am using the NWDS 7.0.06 version
    and EP installed on my machine is the Sneak Preview 7.0 sp 7
    Will appreciate all help in this regard.
    Thanks,
    Prachi

    Hi Navneet,
    I have verified the input/output parameters. They are simple types. All are Strings. Nothing really complex there.
    I have the Service Exceptions added already.
    And definitely the permissions are disabled but still this isn't working.
    Any more clues might be helpful.
    Thanks,
    Prachi

  • QName error while calling a web service from Sourcing

    I need to call a web service from Sourcing script. The web service team has provided us the WSDL and I have generated the required stubs using wsimport and packaged the required java classes in a custom JAR. Now while calling a web method using this jar from my script, I am getting and exception. The exception message that I printed out was this:
    Caught exception e with msg Connection IO Exception. Check nested exception for details. (Connection
    IO Exception. Check nested exception for details. (Connection Exception; nested exception is:
    java.lang.IllegalArgumentException: cannot create QName from "null" or "" String).)
    The same jar and same code works fine when called from a standalone java program.
    I am not using or creating QName anywhere in my script. The only place where QName is used is in the generated java class and there it is created from the correct namespace URL
    Can anyone please help me out in figuring out what is the issue?

    This is the stack trace of the error:
    #2.0 #2014 05 08 09:02:30:915#+00#Error#com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding#
    #BC-ESI-WS-JAV-RT#webservices_lib#C000CF8242BA4B800000002100002648#2174850000000005#sap.com/E-Sourcing-Server#com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding#VAC53324#89##D811EE96D68E11E3C9E0000000212F82#3cf7fe38d68f11e3c963000000212f82#3cf7fe38d68f11e3c963000000212f82#0#Thread[RequestHandler.RqThread: fullsave,5,Dedicated_Application_Thread]#Plain##
    Connection IO Exception. Check nested exception for details. (Connection IO Exception. Check nested exception for details. (Connection Exception; nested exception is:
        java.lang.IllegalArgumentException: cannot create QName from "null" or "" String).).
    [EXCEPTION]
    com.sap.engine.services.webservices.espbase.client.bindings.exceptions.TransportBindingException: Connection IO Exception. Check nested exception for details. (Connection IO Exception. Check nested exception for details. (Connection Exception; nested exception is:
        java.lang.IllegalArgumentException: cannot create QName from "null" or "" String).).
        at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.writeSOAPRequestMessage(SOAPTransportBinding.java:256)
        at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.call_SOAP(SOAPTransportBinding.java:1318)
        at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.callWOLogging(SOAPTransportBinding.java:991)
        at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.call(SOAPTransportBinding.java:945)
        at com.sap.engine.services.webservices.espbase.client.jaxws.core.WSInvocationHandler.processTransportBindingCall(WSInvocationHandler.java:168)
        at com.sap.engine.services.webservices.espbase.client.jaxws.core.WSInvocationHandler.invokeSEISyncMethod(WSInvocationHandler.java:121)
        at com.sap.engine.services.webservices.espbase.client.jaxws.core.WSInvocationHandler.invokeSEIMethod(WSInvocationHandler.java:84)
        at com.sap.engine.services.webservices.espbase.client.jaxws.core.WSInvocationHandler.invoke(WSInvocationHandler.java:65)
        at $Proxy2539.grantOrganizationRoles(Unknown Source)
    I tested the same custom JAR, that is deployed in Sourcing, separately using a standalone java program and there it gave back the correct SOAP response

  • How to call COPY web service from sharepoint in SAP

    Hello Experts,
    I want to call COPY web service from SharePoint in SAP  web dynpro / JAVA application.
    However, when I try to connect to web service and download wsdl using   http:// <hostname:port>/_vti_bin/copy.asmx?wsdl
    it results in Unauthorized error and doesnt complete the setup. Detail error is :
     Error occurred while downloading WSIL file. Error message: Deserializing xml stream  http:// <hostname:port>/_vti_bin/copy.asmx?wsdl
    failed.com.sap.engine.services.webservices.espbase.wsdl.exceptions.WSDLException: Invalid Response Code: (401) Unauthorized. The requested URL was:"Connect to 
    http:// <hostname:port>/_vti_bin/copy.asmx?wsdl , used user to connect: userid"
    I am trying to connect with server user account. Any idea on what authorizations might be required or any help on the scenario .
    -Abhijeet

    Here's an example on how to delete a list item, hopefully this helps
    package com.jw.sharepoint.examples;
    import java.io.File;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    import java.util.Properties;
    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;
    import org.w3c.dom.Element;
    import org.w3c.dom.Node;
    import org.w3c.dom.NodeList;
    import com.microsoft.sharepoint.webservices.CopySoap;
    import com.microsoft.sharepoint.webservices.GetListItems;
    import com.microsoft.sharepoint.webservices.GetListItemsResponse;
    import com.microsoft.sharepoint.webservices.ListsSoap;
    import com.microsoft.sharepoint.webservices.UpdateListItems.Updates;
    import com.microsoft.sharepoint.webservices.UpdateListItemsResponse.UpdateListItemsResult;
    public class SharePointDeleteListItemExample extends SharePointBaseExample {
     private String delete = null;
     private String deleteListItemQuery = null;
     private String queryOptions = null;
     private static final Log logger = LogFactory.getLog(SharePointUploadDocumentExample.class);
     private static Properties properties = new Properties();
     public Properties getProperties() {
      return properties;
      * @param args
     public static void main(String[] args) {
      logger.debug("main...");
      SharePointDeleteListItemExample example = new SharePointDeleteListItemExample();
      try {
       example.initialize();
       CopySoap cp = example.getCopySoap();
       example.uploadDocument(cp, properties.getProperty("copy.sourceFile"));
       ListsSoap ls = example.getListsSoap();
       example.executeQueryAndDelete(ls);
      } catch (Exception ex) {
       logger.error("Error caught in main: ", ex);
     public void executeQueryAndDelete(ListsSoap ls) throws Exception {
      Date today = Calendar.getInstance().getTime();
      SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
      String formattedDate = simpleDateFormat.format(today);
      String queryFormatted = String.format(deleteListItemQuery,formattedDate);  
      GetListItems.QueryOptions msQueryOptions = new GetListItems.QueryOptions();
      GetListItems.Query msQuery = new GetListItems.Query();
      msQuery.getContent().add(createSharePointCAMLNode(queryFormatted));
      msQueryOptions.getContent().add(createSharePointCAMLNode(this.queryOptions));
      GetListItemsResponse.GetListItemsResult result = ls.getListItems(
        properties.getProperty("folder"), "", msQuery, null, "",
        msQueryOptions, "");
      writeResult(result.getContent().get(0), System.out);
      Element element = (Element) result.getContent().get(0);
      NodeList nl = element.getElementsByTagName("z:row");
      for (int i = 0; i < nl.getLength(); i++) {
       Node node = nl.item(i);
       String id = node.getAttributes().getNamedItem("ows_ID").getNodeValue();
       String fileRefRelativePath = node.getAttributes().getNamedItem("ows_FileRef").getNodeValue();
       logger.debug("id: " + id);
       logger.debug("fileRefRelativePath: " + fileRefRelativePath);
       String fileRef = properties.getProperty("delete.FileRef.base") + fileRefRelativePath.split("#")[1];
       logger.debug("fileRef: " + fileRef);
       deleteListItem(ls, properties.getProperty("folder"), id, fileRef);
     public void deleteListItem(ListsSoap ls, String listName, String listId, String fileRef) throws Exception {
      String deleteFormatted = String.format(delete, listId, fileRef);  
      Updates u = new Updates();
      u.getContent().add(createSharePointCAMLNode(deleteFormatted));
      UpdateListItemsResult ret = ls.updateListItems(listName, u);
      writeResult(ret.getContent().get(0), System.out);
     public void initialize() throws Exception {
      logger.info("initialize()...");
      properties.load(getClass().getResourceAsStream("/SharePointDeleteListItemExample.properties"));
      super.initialize();
      this.delete = new String(readAll(new File(this.getClass().getResource("/Delete.xml").toURI())));
      this.deleteListItemQuery = new String(readAll(new File(this.getClass().getResource("/DeleteListItemQuery.xml").toURI())));
      this.queryOptions = new String(readAll(new File(this.getClass().getResource("/QueryOptions.xml").toURI())));
    Brandon James SharePoint Developer/Administrator

  • Calling a Web Service from an Abap Program

    Hi Everyone,
    I have been put to task to write an RFC that has web service calls within it. My question is if anyone has a coding examples, and or best practices when calling a web service, like connections, event handling, asynchronous, synchronous, return values, xml, acknowledgements.
    Thanks a lot,
    Steve

    BSP a Developer's Journal Part XIV - Consuming WebServices with ABAP
    Calling WebServices from ABAP via HTTPS
    Consuming Web Service from ABAP by Durairaj Athavan Raja
    Search on SDN wiki, and you will find above mentioned links.

  • Calling a Web Service from Java Webdynpro

    Hi,
    Can any one give me step by setp details on how to call a Web Service from Java Webdynpro ?
    I tried creating a model using Import Web Service Model but when I completed creating the model, I got some errors as shown below.
    Error               The method setRouteGeometryLineArray(double[][]) in the type Trip is not applicable for the arguments (double[])     ComplexType_Trip.java     WS_INVOKE/gen_wdp/packages/com/cintas/test/model/p1     line 249
    thanks
    SBK

    Hi SBK,
    I assume you may already have read the [help guide|http://help.sap.com/saphelp_nw70/helpdata/EN/81/12703e5da3e946e10000000a114084/content.htm] This gives a pretty good idea of how to do it (step by step).
    Is there a typo in the error you pasted?
    Error The method setRouteGeometryLineArray(double][) in the type Trip is not applicable for the arguments (double[]) ComplexType_Trip.java WS_INVOKE/gen_wdp/packages/com/cintas/test/model/p1 line 249
    The square brackets [] after double in the method call appear to be reversed. Is that also in the code? or just a mistake here?
    Hope this points you in the right direction.
    BRgds,
    Simon

  • Call a web services from oracle forms 10

    I have to call a web services from oracle forms.
    The version of the database is oracle 11gr2. the version of the forms is 10.1.2.0.2.
    I allready did the proxy creation and the import class within forms.
    I have 2 questions:
    1.
    I created the following procedure:
    PROCEDURE call_WS IS
         vobject1 ORA_JAVA.JOBJECT;
         vobject2 ORA_JAVA.JOBJECT;
    BEGIN
    vobject1 := WSEvaluarReglaCondicionComerci.new();
    vobject2 := WSEvaluarReglaCondicionComerci.listarValoresAtributoEvento(vobject1, 702, 2217, null, null, null);
    END;
    the function I calling:
    FUNCTION listarValoresAtributoEvento(
    obj ORA_JAVA.JOBJECT,
    a0 ORA_JAVA.JOBJECT,
    a1 ORA_JAVA.JOBJECT,
    a2 ORA_JAVA.JOBJECT,
    a3 VARCHAR2,
    a4 ORA_JAVA.JOBJECT) RETURN ORA_JAVA.JOBJECT;
    Note that the parameters is ORA_JAVA_JOBJECT and I need to send numbers. I understand that when I import the classes, because in the WS those parameters are defined as BigDecimal, Forms understand them as java object but when I compile it reports the error: "numero o tipo de argumento erroneo al llamar..." type error.
    So the question is, how Cast the numbers to Java Object to send them.
    I have read in a web page that one option is to change in the web service the type of the parameters but that is not an option.
    2.
    The WS returns a super big XML as answer, so how I can parse the result into an Object type?...
    The object structure is:
    TYPE opciones_obj AS OBJECT
    (strindice VARCHAR2 (4000),
    nombrecompleto VARCHAR2 (4000),
    nombre VARCHAR2 (4000),
    strtipodato VARCHAR2 (4000),
    codigoopcion NUMBER,
    floatval FLOAT,
    strtipo VARCHAR2 (4000),
    strval VARCHAR2 (4000));
    and the tags to extract is:
    COLUMNS strindice VARCHAR2 (4000)
    PATH 'ns2:mapEntry[ns2:key="strIndice"]/ns2:value',
    nombrecompleto VARCHAR2 (4000)
    PATH 'ns2:mapEntry[ns2:key="nombreCompleto"]/ns2:value',
    nombre VARCHAR2 (4000)
    PATH 'ns2:mapEntry[ns2:key="nombre"]/ns2:value',
    strtipodato VARCHAR2 (4000)
    PATH 'ns2:mapEntry[ns2:key="strTipoDato"]/ns2:value',
    codigoopcion NUMBER
    PATH 'ns2:mapEntry[ns2:key="codigoOpcion"]/ns2:value',
    floatval FLOAT
    PATH 'ns2:mapEntry[ns2:key="floatVal"]/ns2:value',
    strtipo VARCHAR2 (4000)
    PATH 'ns2:mapEntry[ns2:key="strTipo"]/ns2:value',
    strval VARCHAR2 (4000)
    PATH 'ns2:mapEntry[ns2:key="strVal"]/ns2:value') x;
    xquery / xmltype aparently is not an option because the xml is too big.
    I will appreciate your answers.
    Thanks.
    Edited by: user13058213 on 26-ene-2012 16:02

    i created jar file to call it from forms
    Could you be a little bit less vague about what you exactly did?
    Anyway; see here http://bit.ly/10VVoMR
    cheers

  • Unable to call a web service from BPEL Project

    I am running my BPEL PM on Windows XP SP3. The platform is weblogic 9.2, SOA 10.1.3.1.
    I created a simple BPEL project to call a web service and when I run the project from BPELConsole I getting the following error:
    exception on JaxRpc invoke: HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Bad response: 407 Proxy Authentication Required ( The ISA Server requires authorization to fulfill the request. Access to the Web Proxy filter is denied. )
    I am able to call this web service from soapUI client.
    Any help or hint is appreciated.
    Thanks

    I have had this issue before when calling a .NET service, it was firewall related. I didn't actually make the fix so I can't tell you exactly how it was fixed on the server. I hope this info makes sense as this this the info I got from the IT boys
    I’ve install this tool on your computer:
    http://www.microsoft.com/downloads/details.aspx?FamilyID=05C2C932-B15A-4990-B525-66380743DA89&displaylang=en
    which does that:
    Firewall Client for ISA Server can be optionally installed on client computers protected by Microsoft ISA Server. Firewall Client for ISA Server provides enhanced security, application support, and access control for client computers. It provides authentication for Winsock applications that use TCP and UDP, supports complex secondary protocols, and supplies user and application information to the ISA Server logs.
    When a client computer running Firewall Client for ISA Server makes a request, the destination is evaluated by the Firewall Client software, and external requests are directed to the ISA Server computer for handling. No specific routing infrastructure is required. Firewall Client sends user information transparently with each request, enabling you to create a firewall policy on the ISA Server computer with rules that use the authentication credentials presented by the client. ISA Server allows you to configure automatic discovery for Firewall client computers, using a WPAD entry in DNS or DHCP to obtain correct Web proxy settings for clients, depending on their location.
    and I’ve added a exception in IE to the tools-lan settings-advanced-exceptions to be creditworks.* Did this by modifying the GPO that applies to your account, so all the users in National Office should have that exception.
    hope you can use this.
    cheers
    James

  • Help calling a web service from pl/sql

    Hi, i have a web service that is called from a php, i needed to do this but from pl sql:
    this is the call of web service from php:
    <?PHP
    //Variables de prueba - Se tienen que tomar los valores de la base de datos, de la compra y el usuario
    $p_id_emec=urlencode("33355555"); //Identificador del sitio dentro de Pago Fácil
    $p_id_operacion=urlencode("151"); //Identificador unívoco de la compra en el sitio
    $p_id_mone_ecom=urlencode("01"); //Identificador de moneda - '01'=pesos - '02=dolares
    //Inicializa Variables de URL
    $serviceName="Pago XX";
    $protocol="http://";
    // DESARROLLO
    $ipUrl="desa.e-pagoxx.com";
    $port=80;
    //Llamada
    $call="/2130/index.php";
    //Abro la conexion al port
    $URLsola = $protocol.$ipUrl;
    //Concatenacion del string
    $txtURL = $protocol.$ipUrl.$call;
    $txtURL .="?p_id_emec=".$p_id_emec;
    $txtURL .="&p_id_operacion=".$p_id_operacion;
    $txtURL .="&p_id_mone_ecom=".$p_id_mone_ecom;
    $txtURL = $txtURL;
    //* Se comunica con el servidor, pasa los datos y recibe el HTML con el comprobante *//
    $fp = fsockopen($ipUrl, $port, &$errno, &$errstr, 30);
    if(!$fp)
    echo "No me puedo comunicar con $serviceName";
    exit;
    else
    $file=@fopen($URLsola,"r");
    $pageData=file($txtURL);
    for($i=0;$i<count($pageData);$i++)
              $sText.=$pageData[$i];
    @fclose($file);
    @fclose($fp);
    echo($sText);
    ?>
    I need to call this webservice from pl sql
    any ideas?
    thanks!!

    Madhu BR wrote:
    You might want to try the webservice call using utl_http specified here : http://orclpps.blogspot.com/2007/12/invoking-webservices-from-oracle-9i-or.html
    Or even to expand on that to deal with responses larger than 32K...
    -- skeleton code
      PROCEDURE p_soap_request(p_username IN VARCHAR2, p_password IN VARCHAR2, p_proxy IN VARCHAR2) IS
        soap_request  VARCHAR2(30000);
        soap_respond  CLOB;
        http_req      utl_http.req;
        http_resp     utl_http.resp;
        resp          XMLType;
        soap_err      exception;
        v_code        VARCHAR2(200);
        v_msg         VARCHAR2(1800);
        v_len number;
        v_txt Varchar2(32767);
      BEGIN
        IF p_proxy IS NOT NULL THEN
          UTL_HTTP.SET_PROXY(p_proxy);
        END IF;
        -- Define the SOAP request according the the definition of the web service being called
        soap_request:= '<?xml version = "1.0" encoding = "UTF-8"?>'||
                       '<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">'||
                       '  <SOAP-ENV:Body>'||
                       '    <m:DownloadRequest xmlns:m="http://www.website.net/messages/GetDetails">'||
                       '      <m:UserName>'||p_username||'</m:UserName>'||
                       '      <m:Password>'||p_password||'</m:Password>'||
                       '    </m:DownloadRequest>'||
                       '  </SOAP-ENV:Body>'||
                       '</SOAP-ENV:Envelope>';
        http_req:= utl_http.begin_request
                  ( 'http://www.website.net/webservices/GetDetailsService.asmx'
                  , 'POST'
                  , 'HTTP/1.1'
        utl_http.set_header(http_req, 'Content-Type', 'text/xml');
        utl_http.set_header(http_req, 'Content-Length', length(soap_request));
        utl_http.set_header(http_req, 'Download', ''); -- header requirements of particular web service
        utl_http.write_text(http_req, soap_request);
        http_resp:= utl_http.get_response(http_req);
        utl_http.get_header_by_name(http_resp, 'Content-Length', v_len, 1); -- Obtain the length of the response
        FOR i in 1..CEIL(v_len/32767) -- obtain response in 32K blocks just in case it is greater than 32K
        LOOP
            utl_http.read_text(http_resp, v_txt, case when i < CEIL(v_len/32767) then 32767 else mod(v_len,32767) end);
            soap_respond := soap_respond || v_txt; -- build up CLOB
        END LOOP;
        utl_http.end_response(http_resp);
        resp:= XMLType.createXML(soap_respond); -- Convert CLOB to XMLTYPE
      END;

Maybe you are looking for

  • Audio not in sync with TV download

    I just downloaded "Lost" from iTunes. The video streaming was excellent, but the audio was out of sync with the video. Is there a fix I can do? Morgan

  • Can I use VCC (Virtual Credit Card) For my apple id ?

    I want to ask , Can I use VCC (Virtual Credit Card) For my apple id ?

  • Premier CS4 will export H.264 Blu Ray, but not a H.264 file.

    When I export the file under H.264, Adobe Encoder won't even load the project file. However, it loads and completely exports my 25 minute 1080p HD 24 fps film under the H.264-Blu Ray option which takes about 17 hours on my Dinosaur PC. So basically,

  • Uploaded style sheet problem

    I put a holding page up for a web site I am developing that took it's colour and font info from a CSS Template in dreamweaver 8. I have altered the template with different colours etc and when I do a preview using IE on my desktop it looks fine. I up

  • How to migrate file & printers to office 365

    Hi all, Sorry if this is a silly question but new to o365. We're looking to put everything up in the cloud- before management will entertain the idea they need confirmation all services can be put in there. I've looked around (perhaps not enough) for