BBB web service or method call

Hi,
My customer needs to integrate his IVR and CRM. When the calling number has been detected by the IVR it must be transferred to the CRM side. I found the IciPhoneCallService web service and tried its dial method. I could not succeed to call the mentioned method withour getting a SOAP Error with text: "SAP BCB:callHandle is unknown". Where can I find a documentation about calling BCB web services?
My second question is:
The web service mentioned above is on Java stack. Is there any web service on the ABAP stack that can be consumed by the IVR sorftware?
thanks,

You could deploy your EJB or Java under a web service into your OC4J, after that, you invoke a partnerlink from BPEL to the destination of wsdl will do. Also don't forget to add in your XSD schema as well.
Thanks,
Jyno

Similar Messages

  • Calling https web service POST method from ABAP

    Hi all,
    I'm having some problems trying to call a credit card https web service from ABAP on 2004s SP11. I'm not using a proxy server and a call from a test https page on my local machine works fine. The page does not require a certificate.
    Do I need to do anything in particular to make https work ? I've done calls to http services without any problems. The only difference from a programming perspective as far as I know is the scheme 2 instead of 1, and the server protocol changed to HTTPS.
    All is fine until  I call method http_client->receive, at that point I get a return code of 1, http_communication_failure. 
    Your suggestions & contributions will be greatly appreciated.
    Cheers,
    Wouter.
    report zcreditcardtest .
    data: wf_user type string .
    data: wf_password type string .
    data: rlength type i,
          txlen type string  .
    data: http_client type ref to if_http_client .
    data: wf_string type string .
    data: wf_string1 type string .
    data: wf_proxy type string ,
          wf_port type string .
    selection-screen: begin of block a with frame .
    parameters: crcard(16) type c lower case default '4242424242424242',
                cvn(4)     type c lower case default '564',
                year(2)    type c lower case default '07',
                month(2)   type c lower case default '11',
                amount(10) type c lower case default '100.00',
                cukey(4)   type c lower case default 'AUD',
                order(10)  type c lower case default 'AB1322-refund'.
    selection-screen skip 1.
    parameters: user(50) lower case,
                password(50) lower case ,
                p_proxy(100) lower case default '' ,
                p_port(4) default ''.
    selection-screen: end of block a .
    at selection-screen output.
      loop at screen.
        if screen-name = 'PASSWORD'.
          screen-invisible = '1'.
          modify screen.
        endif.
      endloop.
    start-of-selection .
      clear wf_string .
      concatenate
      'order.type=capture&customer.username=SOMEUSER'
      '&customer.password=SOMEPASSWORD'
      '&customer.merchant=SOMEMERCHANT'
      '&card.PAN=' crcard
      '&card.CVN=' cvn
      '&card.expiryYear=' year
      '&card.expiryMonth=' month
      '&order.amount=' amount
      '&customer.orderNumber=' order
      '&card.currency=' cukey
      '&order.ECI=IVR'
      '&customer.captureOrderNumber=' order
      '&order.priority=1'
      '&message.end=null'
      into wf_string .
      break-point.
      clear :rlength , txlen .
      rlength = strlen( wf_string ) .
      move: rlength to txlen .
      clear: wf_proxy, wf_port .
      move: p_proxy to wf_proxy ,
            p_port to wf_port .
      call method cl_http_client=>create
        exporting
          host          = 'api.somewhere.com'
          service       = '80'
          scheme        = '2'                        "https
          proxy_host    = wf_proxy
          proxy_service = wf_port
        importing
          client        = http_client.
      http_client->propertytype_logon_popup = http_client->co_disabled.
      wf_user = user .
      wf_password = password .
    * proxy server authentication
      call method http_client->authenticate
        exporting
          proxy_authentication = 'X'
          username             = wf_user
          password             = wf_password.
      call method http_client->request->set_header_field
        exporting
          name  = '~request_method'
          value = 'POST'.
      call method http_client->request->set_header_field
        exporting
          name  = '~server_protocol'
          value = 'HTTPS/1.0'.
      call method http_client->request->set_header_field
        exporting
          name  = '~request_uri'
          value = '/post/CreditCardAPIReceiver'.
      call method http_client->request->set_header_field
        exporting
          name  = 'Content-Type'
          value = 'application/x-www-form-urlencoded; charset=UTF-8'.
      call method http_client->request->set_header_field
        exporting
          name  = 'Content-Length'
          value = txlen.
      call method http_client->request->set_header_field
        exporting
          name  = 'HOST'
          value = 'api.somewhere.com:80'.
      call method http_client->request->set_cdata
        exporting
          data   = wf_string
          offset = 0
          length = rlength.
      call method http_client->send
        exceptions
          http_communication_failure = 1
          http_invalid_state         = 2.
      call method http_client->receive
        exceptions
          http_communication_failure = 1
          http_invalid_state         = 2
          http_processing_failed     = 3.
      if sy-subrc <> 0.
        message e000(oo) with 'Processing failed !'.
      endif.
      clear wf_string1 .
      wf_string1 = http_client->response->get_cdata( ).
    * Further Processing of returned values would go here.

    Well, finally got this running !
    First of all I needed to download SAP Cryptographic Software and install it on the Web Application Server. Added some parameters to the profile, then set up some nodes in strust. Note 510007 describes the full process.
    I then installed the certifcate I needed by opening the website in internet explorer and exporting it to a CER file and then importing it into the SSL client (Anonymous). The blog from Thomas Yung, "BSP a Developer's Journal Part XIV - Consuming WebServices with ABAP" describes the process of exporting and importing certificates.
    I then had to start the HTTPS service on my NW 2004s ABAP preview edition SP11. I set this up for port 443.
    /osmicm --> GOTO --> SERVICES --> SERVICE --> CREATE
    Then finally, the program needed a few changes :
      call method cl_http_client=>create
        exporting
          host          = 'api.somewhere.com'
          service       = '443'                       " <<-----  443 NOT 80
          scheme        = '2'                        "https
          ssl_id        = 'ANONYM'              " <<----- SSL_ID Added
          proxy_host    = wf_proxy
          proxy_service = wf_port
        importing
          client        = http_client.
    and further in the program (thanks Andrew !) :
      call method http_client->request->set_header_field
        exporting
    *   name  = '~server_protocol'             " <<<--- DELETE
          name  = '~request_protocol'         " <<<-- INSERT must be request
          value = 'HTTPS/1.0'.
    and presto, we can now consume a https webservice via a POST method from within an ABAP program ! Nice.... Can I give myself 10 points ?

  • Web services Connection_Operations.Logon call fails on Data Services 4.0

    Hello,
    We recently installed Data Services 4.0.  We have a custom Java app which makes use of the web services interface.  We had previously used Axis to generate the java class.  With DS 4, it looks like the Logon method did change as it now requires the cms system and authentication.  We manually updated the java classes to includes these, which has been our general approach in the past for newer releases.  However DS 4 uses Axis2 and I'm not sure that this approach would work.
    My problem is that the "Logon" call fails with very little details.
    In viewing  both the webadmin.log  and WebService.log it only reports the following:
    11/02/2011 18:42:17 [  SEVERE ] Logon failed.  Error: null
    I understand that I can control the logging detail .  The Integrator Guide for DS 4.0, has the following instruction, yet there is no log4j.properties file on my system?
    "To control the level of detail in the webadmin.log file, you must edit the log4j.properties file.
    The properties file is located in:
    LINK_DIR\ext\webserver\webapps\acta_web_admin\WEB-INF
    To obtain a debug trace of events, change the log level from the default of INFO to DEBUG. For example,
    log4j.rootLogger=DEBUG, A"
    Any advise would be greatly appreciated
    Thanks

    Hello,
    Unfortunately, stdout.log below doesn't show anything possibly due to some mis-configuaration of log4j.properties.  In my previous post I requested info on which log4j.properties should be modified as the documentation in the DS 4.0 Integrator's guide mentions a none-existent path?
    log4j:WARN No appenders could be found for logger (org.apache.commons.digester.Digester).
    log4j:WARN Please initialize the log4j system properly.
    log4j:WARN No appenders could be found for logger (com.sun.faces.config.ConfigureListener).
    log4j:WARN Please initialize the log4j system properly.
    log4j:WARN No appenders could be found for logger (org.apache.commons.digester.Digester).
    log4j:WARN Please initialize the log4j system properly.
    log4j:WARN No appenders could be found for logger (com.sun.faces.config.ConfigureListener).
    log4j:WARN Please initialize the log4j system properly.
    com.businessobjects.webpath.rebean3ws.Activator
    log4j:WARN No appenders could be found for logger (org.apache.commons.digester.Digester).
    log4j:WARN Please initialize the log4j system properly.
    null

  • Tutorial - Web Services - 405 Method Not Allowed

    Hi,
    I am going thru the tutorial "Building and Using Web Services with JDeveloper" from Oracle JDeveloper 11g Release 2 (11.1.2.0.0) Tutorials. I am using Studio Edition Version 11.1.2.1.0. At the end of the first section on POJO Annotation-Driven Service when I press the "Send Request" button, nothing comes back or is displayed. The HTTP Analyzer shows "405 Method Not Allowed" for every HEAD request. GET and POST are fine. I don't get a response and the logs don't show any errors.
    Does anyone know what is causing the 405 error?
    Thanks.

    Hi Frank,
    I have not written any code. I am following the JDeveloper Tutorial step-by-step. The tutorial is called "Building and Using Web Services with JDeveloper", "Part 1: Building a POJO Annotation-Driven Service ". Near the end of the tutorial, you are instructed to run "Test Web Service" from the menu on MyCompany.java. When JDeveloper runs the test, a new tab opens with the HTTP Analyzer. You are then instructed to enter a '20' as arg(0) in the parameters section of the HTTP request header panel and press the 'Send Request' button. After pressing the button, JDeveloper starts the integrated server and issues the request. The right hand side of the analyzer tab shows the results of the test as HTTP Response Headers. The tutorial shows data from getDeptInfo(int id). The result on my screen shows nothing - blank.
    In the logs frame at the bottom, there is a tab that shows the output logs of the HTTP Analyzer. It shows that 15 calls were made: 6 GET methods, 8 HEAD methods and 1 POST method. The status of each call is '200 OK' except for the HEAD method calls which show '405 Method Not Allowed'.
    The tutorial is at [http://docs.oracle.com/cd/E18941_01/tutorials/jdtut_11r2_52/jdtut_11r2_52_1.html] I wonder if maybe there is a parameter in the integrated Weblogic server that prevents the method call because of policy or security settings.
    If you have any ideas, please let me know.
    Thanks, Rick

  • New to Web Services - need to call a HTTPS web service from PL/SQL

    I am new to Web Services and need to call HTTPS web service from PL/SQL program. I am using 10g Database.
    I have been reading there are 2 options -
    1. UTL_HTTP - with this package its possible to call HTTPS web services
    2. UTL_DBWS
    Questions -
    1. Is it possible to call a HTTPS web service using UTL_DBWS ? I have not been able to find any information on it.
    2. Can someone point me to UTL_HTTP and UTL_DBWS examples calling a HTTPS web service ?
    3. The HTTPS web service that I need to call needs username/password to connect - how will I incorporate this in the pl/sql code ?
    Appreciate the help.
    Cheers,
    newWebServicesUser

    Hi,
    1. UTL_DBWS not work for https from what I understand
    2. Here is a sample example:
    [http://www.oracle-base.com/articles/9i/ConsumingWebServices9i.php#]
    Be careful, you must change http/1.0 IN 1.1 inside package SOAP_API.
    Here is an example for a prime number where the SOAP message is already construct:
    CREATE OR REPLACE procedure test_ws_2
    IS
    http_req utl_http.req;
    http_resp utl_http.resp;
    request_env varchar2(32767);
    response_env varchar2(32767);
    begin
    -- Set proxy details if no direct net connection.
    UTL_HTTP.set_proxy('http://<USER>:<PASS>@10.0.2.21:8070', NULL);
    UTL_HTTP.set_persistent_conn_support(TRUE);
    request_env:='<?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:Body><GetPrimeNumbers xmlns="http://microsoft.com/webservices/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">'||
    '<max xsi:type="xsd:int">10</max>'||
    '</GetPrimeNumbers></SOAP-ENV:Body></SOAP-ENV:Envelope>';
    dbms_output.put_line('Length of Request:' || length(request_env));
    dbms_output.put_line ('Request: ' || request_env);
    http_req := utl_http.begin_request('http://www50.brinkster.com/vbfacileinpt/np.asmx','POST', utl_http.HTTP_VERSION_1_1);
    utl_http.set_header(http_req, 'Content-Type', 'text/xml; charset=utf-8');
    utl_http.set_header(http_req, 'Content-Length', length(request_env));
    utl_http.set_header(http_req, 'SOAPAction', '"http://microsoft.com/webservices/GetPrimeNumbers"');
    utl_http.write_text(http_req, request_env);
    dbms_output.put_line('');
    http_resp := utl_http.get_response(http_req);
    dbms_output.put_line('Response Received');
    dbms_output.put_line('--------------------------');
    dbms_output.put_line ( 'Status code: ' || http_resp.status_code );
    dbms_output.put_line ( 'Reason phrase: ' || http_resp.reason_phrase );
    utl_http.read_text(http_resp, response_env);
    dbms_output.put_line('Response: ');
    dbms_output.put_line(response_env);
    utl_http.end_response(http_resp);
    end test_ws_2;
    Otherwice for testing url, i recommand you to use that function: Re: Error using UTL_HTTP over HTTPS
    it's a verry helpful function when you have an error.
    wrote:
    When testing using UTL_HTTP, you MUST ensure that you open a new session after importing the SSL certificates into your Wallet,
    as I've learned (the hard way) that existing sessions point to the wallet contents that were present when the session was opened.
    If you don't realise/know this, it can cause a lot of additional frustration during testing, when you keep getting the ORA-29024 exception AFTER
    you've imported the SSL certificates................. ;) 3. i think you can use that after the begin_request but not sure :
    UTL_HTTP.set_authentication(r => http_req,
    username => ,
    password => ,
    scheme => ,
    for_proxy => );
    Edited by: Malebodja on Oct 22, 2009 6:53 AM
    Edited by: Malebodja on Oct 22, 2009 6:55 AM

  • PL/SQL Web Service altered method names

    Using JDev 10.1.3 production, creating a web service from a PL/.SQL procedure results in 3 names for the service. Why is this? Will it change in a future release?
    PL/SQL parameter list:
    procedure calc_slots(pdrive in out varchar2,
    pName in varchar2,
    pfunc in number,
    pstart in date,
    pend in date,
    pwbslots in number,
    pbkst in date,
    pbkend in date,
    pOutval out varchar2,
    pautoequip in number := 0,
    pautoslots in number := 0) is
    Method 1:
    calcSlots
    parameters
    xsd:string pdrive_inout =
    xsd:string pname =
    xsd:decimal pfunc =
    xsd:dateTime pstart =
    xsd:dateTime pend =
    xsd:decimal pwbslots =
    xsd:dateTime pbkst =
    xsd:dateTime pbkend =
    Method2:
    calcSlotsvSSBTTBTTSB
    parameters
    xsd:string pdrive_inout =
    xsd:string pname =
    xsd:decimal pfunc =
    xsd:dateTime pstart =
    xsd:dateTime pend =
    xsd:decimal pwbslots =
    xsd:dateTime pbkst =
    xsd:dateTime pbkend =
    xsd:decimal pautoequip =
    Method3:
    calcSlotsvSSBTTBTTSBB
    [parameters
    xsd:string pdrive_inout =
    xsd:string pname =
    xsd:decimal pfunc =
    xsd:dateTime pstart =
    xsd:dateTime pend =
    xsd:decimal pwbslots =
    xsd:dateTime pbkst =
    xsd:dateTime pbkend =
    xsd:decimal pautoequip =
    xsd:decimal pautoslots =
    }

    Yes, we tried with databse adapter with out any problem. we want specifically with the PL/SQL Web service using the web service wizard.
    Thanks in advance.

  • Exception when trying to use web service login method

    Hi all,
    we've installed Discoverer, upgraded OAS to version 10.1.2 and installed the web service patch successfully. I can get the list of web service methods through
    http://app1.localdomain:7778/discoverer/wsi
    We've also created a bipublisher user in oiddas, and got it's guid. When I try to use the login method of the web services I get this exception:
    <?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/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <SOAP-ENV:Body>
    <SOAP-ENV:Fault>
    <faultcode>SOAP-ENV:Server.Exception:</faultcode>
    <faultstring>oracle.discoverer.applications.ws.util.DiscovererWSException: An error occurred during SSOUsername/GUID lookup.</faultstring>
    <faultactor>/discoverer/wsi</faultactor>
    </SOAP-ENV:Fault>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>Does anyone have a clue what the problem is? I should also mention that after my DBA's advice we didn't upgrade the infrastructure instance, only the middle tier discoverer installation and then installed the repository upgrade.
    A few months back on a test installation I had tried to switch to SSO and then reverted back and managed to connect without SSO enabled.
    Edited by: dvm on Nov 11, 2008 7:22 AM

    Well... this is definitelly not a requirement.
    The code snippet came from the test (junit) for something which is much bigger. And of course the 1-char long table name has nothing to do with desing. At all.
    We have a system where a user defines (named) xml structures, so to say. The structures are then "translated" into DB entities. So the result DB schema is fully auto-generated. The system supports 4 different SQL dialects. Oracle is just one of them.
    Having restrictions like "name of a structure must be at least two characters" is no problem. But I still can`t believe Oracle has such a limitation. It does not sound logical (to me at least). And I had a hope may be someone has an explanation for that thing.
    The code above works just fine if I do not request certain columns back after the statement is executed. (e.g. without the second parameter).
    But anyway... I would post a bug for this, if I knew where to post it to :)
    Thanks.

  • Problem with OBIEE Web Service getHTMLForReport() Method

    Hello, I´m trying to develop an example using the OBIEE Web Services and I have a problem with the method “getHTMLForReport(String pageID,String pageReportID,String sessionID)” (http://download.oracle.com/docs/cd/E12103_01/books/AnyWebServ/AnyWebServ_Methods8.html).
    The problem is the next one: In the pageReportID parameter should contain a character string ID returned by the addReportToPage() method, but the addReportToPageMethod is a void method. (http://download.oracle.com/docs/cd/E12103_01/books/AnyWebServ/AnyWebServ_Methods4.html#wp1008810)
    Which is the value of the pageReportID parameter?
    Thank you.

    Yes, there seems to be a bug in the oracle documentation. Basically, the second parameter of the addReportToPage() method is a free text. You can put "report101" as value of second parameter. Then you have to use the same string in the getHTMLForReport()method.
    For example ..
    addReportToPage(pageId, "report2", reportRef, "Jaggi Di Report", null, null, sessionID);
    getHtmlForReport(pageId, "report2", sessionID);
    Regards
    Jagdeep Singh

  • Web Services and method overloading

    I have a number of web services which was implemented with AXIS. These services uses method overloading which
    seems to be a problem in JDeveloper (9 as well as 10 preview) JDeveloper simply won't accept the wsdl, and wont
    regenerate the web service because it doesn't support method overloading. Does anyone have a solution to this
    problem or know if it is planned to be fix'ed in the future?
    thanks
    Claus

    JAXRPC spec does not require webservice runtime to handle method overloading.
    What about creating a wrapper for the SEI to make each method name unique?

  • Getting Error when executing Web Service Model method in WD Application

    hi ,
       I have written WD Application which has Web Service Model(Deprecated). I did the context mapping between WS Model-->Comp Controller --> iView Controller. When i try to execute a method in Web Service method in Component Controller after binding. its shows the following error at the line of coding execute().
    "java.lang.NoSuchMethodError: com.sap.engine.services.webservices.jaxrpc.wsdl2java.BaseGeneratedStub._initParameter(Lcom/sap/engine/services/webservices/jaxrpc/wsdl2java/ServiceParam;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class;)V
    Any help appreciated. Thanks.
    Thanks,
    Saravanan

    Hi,
    First, can you check whether you able to access your web service url in browser?
    or
    you can test your webservice from the NWDI Web service perspective, here you can test your web service is correctly functioning or not before using in your Web Dynpro application.
    This document clearly explains How to test the web service url and what is the correct procedure to consume the web service in SAP portal.
    [https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/b07992b3-b5af-2a10-9886-affcbeccc4c9]
    [http://help.sap.com/saphelp_nw70/helpdata/en/f4/1a1041a0f6f16fe10000000a1550b0/content.htm]
    Regards
    Raghu

  • Not able to call BPEL web service using RMI call from different machine

    Hi,
    1. I have created a smiple Helloworld asynchoronous BPEL process
    2. I am able to call that BPEL process using java program (RMI call) which I have written in JDeveloper 10.1.3.3 and the java program is running in the embeded OCJ4 instance of JDeveloper sucessfully.
    3. Now I am trying to run the same Java program in my unix machine where oracle application is installed.
    4. I have set all the CLASSPATH for required jars which I have used in JDeveloper and also kept the jar file in Unix machine.
    5. The java codes are complied successfully.
    6. But when I am trying to run it , getting the following exception:
    bash-3.00$ java HelloworldAsyn
    name is Debkanta
    property file data are: {java.naming.provider.url=opmn:ormi://172.18.19.169:6003:home/orabpel, java.naming.factory.initial=com.evermind.server.rmi.RMIInitialContextFactory, orabpel.platform=ias_10g, java.naming.security.principal=oc4jadmin, java.naming.security.credentials=welcome1}
    hello3
    java.lang.Exception: Failed to create "ejb/collaxa/system/DeliveryBean" bean; exception reported is: "javax.naming.NameNotFoundException: ejb/collaxa/system/DeliveryBean not found
    at com.evermind.server.rmi.RMIClientContext.lookup(RMIClientContext.java:52)
    at javax.naming.InitialContext.lookup(InitialContext.java:351)
    at com.oracle.bpel.client.util.BeanRegistry.lookupDeliveryBean(BeanRegistry.java:279)
    at com.oracle.bpel.client.delivery.DeliveryService.getDeliveryBean(DeliveryService.java:250)
    at com.oracle.bpel.client.delivery.DeliveryService.post(DeliveryService.java:174)
    at com.oracle.bpel.client.delivery.DeliveryService.post(DeliveryService.java:149)
    at HelloworldAsyn.main(HelloworldAsyn.java:64)
    at com.oracle.bpel.client.util.BeanRegistry.lookupDeliveryBean(BeanRegistry.java:293)
    at com.oracle.bpel.client.delivery.DeliveryService.getDeliveryBean(DeliveryService.java:250)
    at com.oracle.bpel.client.delivery.DeliveryService.post(DeliveryService.java:174)
    at com.oracle.bpel.client.delivery.DeliveryService.post(DeliveryService.java:149)
    at HelloworldAsyn.main(HelloworldAsyn.java:64)
    bash-3.00$
    I need to solve it urgently. Can anyone please help me.
    Is it relaed to some user access issue in unix?
    Thanks & Regards
    Deb
    Message was edited by:
    user587916

    actually , I have laready given print stataement for the data in the context property file that you can see in the output. Today I am also able to call the bpel process using the same java program from my DOS command promt(cmd). Don't understand why the problem is occuring in unix.
    please help.

  • Error while calling a web service from Entity CRUD methodes

    Hi All,
    I have created an entity service with remote persistency(web service).I have mapped the entity service create methode with the web service create method.Similarly entity service edit method with the web service edit method.But when i am testing this in service browser i am getting a dataaAcess exception.
    And an empty row is being created in the data base. This is the exception sequence.
    com.sap.caf.rt.exception.CAFUpdateException: Data Layer Issues
    at com.hcl.xiprcas.besrv.iprtestservice.iprTestServiceServiceBean.update(iprTestServiceServiceBean.java:177)
    at com.hcl.xiprcas.besrv.iprtestservice.iprTestServiceServiceBean.update(iprTestServiceServiceBean.java:135)
    at com.hcl.xiprcas.besrv.iprtestservice.iprTestServiceServiceLocalLocalObjectImpl0.update(iprTestServiceServiceLocalLocalObjectImpl0.java:478)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at com.sap.caf.rt.services.serviceaccess.ServiceWrapper.updateDependentObject(ServiceWrapper.java:489)
    at com.sap.caf.rt.services.serviceaccess.ServiceWrapper.createDataContainerBean(ServiceWrapper.java:198)
    at com.sap.caf.rt.services.serviceaccess.CAFServiceAccessBeanImpl.createDataObject(CAFServiceAccessBeanImpl.java:159)
    at com.sap.caf.rt.services.serviceaccess.CAFServiceAccessLocalLocalObjectImpl20.createDataObject(CAFServiceAccessLocalLocalObjectImpl20.java:775)
    at com.sap.caf.rt.ui.cool.generic.AspectServiceAccess.insertAspectRow(AspectServiceAccess.java:215)
    at com.sap.caf.rt.ui.cool.generic.Aspect.insertRows(Aspect.java:1425)
    at com.sap.caf.rt.ui.cool.generic.Aspect.sendChanges(Aspect.java:1543)
    at com.sap.caf.rt.ui.cool.generic.ServiceModule.sendChanges(ServiceModule.java:298)
    at com.sap.caf.ui.servicebrowser.components.visualizer.controllers.TableViewCC.saveData(TableViewCC.java:379)
    at com.sap.caf.ui.servicebrowser.components.visualizer.controllers.wdp.InternalTableViewCC.saveData(InternalTableViewCC.java:208)
    at com.sap.caf.ui.servicebrowser.components.visualizer.views.TableViewCV.onActionSave(TableViewCV.java:394)
    at com.sap.caf.ui.servicebrowser.components.visualizer.views.wdp.InternalTableViewCV.wdInvokeEventHandler(InternalTableViewCV.java:371)
    at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.invokeEventHandler(DelegatingView.java:87)
    at com.sap.tc.webdynpro.progmodel.controller.Action.fire(Action.java:67)
    at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doHandleActionEvent(WindowPhaseModel.java:420)
    at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:132)
    at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335)
    at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143)
    at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:299)
    at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:711)
    at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:665)
    at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:232)
    at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:152)
    at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62)
    at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:53)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390)
    at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)
    at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)
    at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)
    at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)
    at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)
    at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
    at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)
    at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
    at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
    at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
    at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    Caused by: com.sap.caf.rt.exception.DataAccessException: Data Layer Issues
    at com.sap.caf.rt.bol.da.remote.RemoteDataAccessService.store(RemoteDataAccessService.java:1198)
    at com.hcl.xiprcas.besrv.iprtestservice.iprTestServiceServiceBean.update(iprTestServiceServiceBean.java:172)
    ... 47 more
    Caused by: com.sap.caf.mp.base.exception.EngineException: Data Layer Issues
    at com.sap.caf.mp.core.data.service.DataServiceFactory.executeOperationCommon(DataServiceFactory.java:648)
    at com.sap.caf.mp.core.data.service.DataServiceFactory.executeOperation(DataServiceFactory.java:511)
    at com.sap.caf.rt.bol.da.remote.RemoteDataAccessService.executeOperation(RemoteDataAccessService.java:159)
    at com.sap.caf.rt.bol.da.remote.RemoteDataAccessService.store(RemoteDataAccessService.java:1180)
    ... 48 more
    Caused by: com.sap.caf.mp.base.exception.EngineException: Data Layer Issues
    at com.sap.caf.mp.core.data.service.manager.wsdl11.WSDL11ServiceManager.executeOperation(WSDL11ServiceManager.java:247)
    at com.sap.caf.mp.core.data.service.DataServiceFactory.executeOperation(DataServiceFactory.java:259)
    at com.sap.caf.mp.core.data.service.DataServiceFactory.executeConsiderSSO(DataServiceFactory.java:1056)
    at com.sap.caf.mp.core.data.service.DataServiceFactory.executeOperationCommon(DataServiceFactory.java:622)
    ... 51 more
    Plz tell me what is the wrong with my approach?.
    Thanks
    Sampath.G

    Hi Swapna,
    from your screenshot it seems that you actually try to call the service in your Data Source Expression field. You should set path to the WSDL file here actually - this could be either URL to SAP or to filesystem, as Anton suggested (this could be faster). Have you created endpoint binding for your service in transaction SOAMANAGER? If yes, then simply download the corresponding WSDL with binding or copy the URL which leads to it. But also test whether you are able to retrieve the WSDL without logging into SAP (close all browser windows and then open a new one otherwise session ID from other browser windows can be reused).
    If you have to give username and password, then setup anonymous alias in transaction SICF, for example.
    Pleas, check my previous post on the same subject here: Re: BCM7 IVR : SOAP request for client identification in CRM .
    Maybe it could help.
    Regards,
    Dawood.

  • Calling DOO standard web service in ADF custom order Capture form

    Hi
    I am trying to call the standard DOO web service in my ADF form and I am using web service data control to call that service. But when I am dragging and drooping the method in my page with the parameters needed for that particular method and try to run the page. Its giving a null pointer exception. The main parameter for that method is _payload which wants an EBM to be passed to it.
    DOO is a distributed Order Orchestration which is part of SCM fusion module. In fusion we can capture the order from different places from a legacy system from an EBS or any other application and then that captured order is passed to
    DOO of fusion by calling a standard web service. But we don't have a order capture form built in ADF from where we can enter order and then pass this info to the DOO web service.
    EBM is Enterprise business message,it is an xml format file which is passed to the DOO of fusion.It accept only EBM format xml in which capture order data is dere with EBM header and the data area which contains the order information.
    The name of the method in web service which is called in j developer is SalesOrderOrchestrationService_pt_SubmitTransformAssignLaunch(__payload). payload is the parameter which accepts the EBM file.
    The sample of an EBM or the xml which is passed to this method of web service as a payload is below.
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Header>
    <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    <wsse:UsernameToken>
    <wsse:Username>ALALL</wsse:Username>
    <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">ssiER3#1</wsse:Password>
    </wsse:UsernameToken>
    </wsse:Security>
    </soap:Header>
    <soap:Body xmlns:ns1="http://xmlns.oracle.com/EnterpriseObjects/Core/EBO/SalesOrder/V2">
    <ProcessSalesOrderFulfillmentEBM xmlns="http://xmlns.oracle.com/EnterpriseObjects/Core/EBO/SalesOrder/V2" xmlns:coresalesorder="http://xmlns.oracle.com/EnterpriseObjects/Core/EBO/SalesOrder/V2">
    <corecom:EBMHeader xmlns:corecom="http://xmlns.oracle.com/EnterpriseObjects/Core/Common/V2">
    <corecom:Sender>
    <corecom:ID>LEG1</corecom:ID>
    <corecom:Application>
    <corecom:ID>CRM</corecom:ID>
    <corecom:Version>8.0</corecom:Version>
    </corecom:Application>
    <corecom:ContactName>Siebel contact</corecom:ContactName>
    <corecom:ContactEmail>[email protected]</corecom:ContactEmail>
    <corecom:ContactPhoneNumber>1234567891</corecom:ContactPhoneNumber>
    </corecom:Sender>
    </corecom:EBMHeader>
    <coresalesorder:DataArea>
    <corecom:Process responseCode="OBJECT" xmlns:corecom="http://xmlns.oracle.com/EnterpriseObjects/Core/Common/V2"/>
    <coresalesorder:ProcessSalesOrderFulfillment>
    <corecom:Identification xmlns:corecom="http://xmlns.oracle.com/EnterpriseObjects/Core/Common/V2">
    <corecom:BusinessComponentID schemeAgencyID="AIA_01" schemeID="SALESORDER_ID_GUID">31343933343333353331383237343632</corecom:BusinessComponentID>
    <corecom:ID schemeAgencyID="SEBL_01" schemeID="OrderNumber">TEST-ALALL-2</corecom:ID>
    <corecom:ApplicationObjectKey>
    <corecom:ID schemeAgencyID="SEBL_01" schemeID="OrderId">TEST-ALALL-2</corecom:ID>
    </corecom:ApplicationObjectKey>
    </corecom:Identification>
    <coresalesorder:CurrencyCode>USD</coresalesorder:CurrencyCode>
    <coresalesorder:OrderDateTime>2013-02-04T10:58:32Z</coresalesorder:OrderDateTime>
    <coresalesorder:PartialShipmentAllowedIndicator/>
    <coresalesorder:PricingDateTime>2013-02-04T10:58:32Z</coresalesorder:PricingDateTime>
    <coresalesorder:RequestedShipDateTime/>
    <coresalesorder:FulfillmentModeCode/>
    <coresalesorder:ShipmentPriorityCode>NEXTDAY</coresalesorder:ShipmentPriorityCode>
    <coresalesorder:TypeCode>ORDER</coresalesorder:TypeCode>
    <corecom:Status xmlns:corecom="http://xmlns.oracle.com/EnterpriseObjects/Core/Common/V2">
    <corecom:Code>BOOKED</corecom:Code>
    <corecom:EffectiveDateTime>2013-02-04T23:40:42</corecom:EffectiveDateTime>
    </corecom:Status>
    <corecom:CurrencyExchange xmlns:corecom="http://xmlns.oracle.com/EnterpriseObjects/Core/Common/V2">
    <corecom:ConversionTypeCode/>
    <corecom:ConversionRate/>
    <corecom:ConversionRateDateTime/>
    </corecom:CurrencyExchange>
    <corecom:BusinessUnitReference xmlns:corecom="http://xmlns.oracle.com/EnterpriseObjects/Core/Common/V2">
    <corecom:BusinessUnitIdentification>
    <corecom:BusinessComponentID schemeAgencyID="AIA_01" schemeID="ORGANIZATION_ID">A40A64204F0811DDBFBB6925DE4959D4</corecom:BusinessComponentID>
    <corecom:ID schemeAgencyID="SEBL_01" schemeID="InventoryOrganizationId">300000001130177</corecom:ID>
    <corecom:ApplicationObjectKey>
    <corecom:ID schemeAgencyID="SEBL_01" schemeID="OrganizationId">300000001130053</corecom:ID>
    </corecom:ApplicationObjectKey>
    <corecom:AlternateObjectKey>
    <corecom:ID schemeAgencyID="SEBL_01" schemeID="OrganizationId">300000001130053</corecom:ID>
    </corecom:AlternateObjectKey>
    </corecom:BusinessUnitIdentification>
    </corecom:BusinessUnitReference>
    <corecom:CustomerPartyReference xmlns:corecom="http://xmlns.oracle.com/EnterpriseObjects/Core/Common/V2">
    <corecom:PartyIdentification>
    <corecom:BusinessComponentID schemeAgencyID="AIA_01" schemeID="CUSTOMERPARTY_PARTYID_GUID">2d383037373236333033353335383233</corecom:BusinessComponentID>
    <corecom:ApplicationObjectKey>
    <corecom:ID schemeAgencyID="SEBL_01" schemeID="AccountId">300000002605080</corecom:ID>
    </corecom:ApplicationObjectKey>
    </corecom:PartyIdentification>
    <corecom:OrganizationName/>
    <corecom:CustomerPartyAccountIdentification>
    <corecom:BusinessComponentID schemeAgencyID="AIA_01" schemeID="CUSTOMERPARTY_ACCOUNTID_GUID">2d363038363737353331313735393632</corecom:BusinessComponentID>
    <corecom:ApplicationObjectKey>
    <corecom:ID schemeAgencyID="SEBL_01" schemeID="AccountId">300000002605080</corecom:ID>
    </corecom:ApplicationObjectKey>
    </corecom:CustomerPartyAccountIdentification>
    </corecom:CustomerPartyReference>
    <coresalesorder:SalesOrderLine>
    <corecom:Identification xmlns:corecom="http://xmlns.oracle.com/EnterpriseObjects/Core/Common/V2">
    <corecom:BusinessComponentID schemeAgencyID="AIA_01" schemeID="SALESORDER_LINEID_GUID">31373632363632373039363139343635</corecom:BusinessComponentID>
    <corecom:ID schemeAgencyID="SEBL_01" schemeID="LineNumber">1</corecom:ID>
    <corecom:ApplicationObjectKey>
    <corecom:ID schemeAgencyID="SEBL_01" schemeID="LineId">101</corecom:ID>
    </corecom:ApplicationObjectKey>
    <corecom:AlternateObjectKey>
    <corecom:ID schemeAgencyID="SEBL_01" schemeID="IntegrationId">88290</corecom:ID>
    </corecom:AlternateObjectKey>
    </corecom:Identification>
    <corecom:ParentSalesOrderLineIdentification xmlns:corecom="http://xmlns.oracle.com/EnterpriseObjects/Core/Common/V2">
    <corecom:BusinessComponentID schemeAgencyID="AIA_01" schemeID="SALESORDER_LINEID_GUID">31373632363632373039363139343635</corecom:BusinessComponentID>
    <corecom:ID schemeAgencyID="SEBL_01" schemeID="LineNumber">1</corecom:ID>
    <corecom:ApplicationObjectKey>
    <corecom:ID schemeAgencyID="SEBL_01" schemeID="ParentLineId"/>
    </corecom:ApplicationObjectKey>
    <corecom:AlternateObjectKey>
    <corecom:ID schemeAgencyID="SEBL_01" schemeID="IntegrationId">88290</corecom:ID>
    </corecom:AlternateObjectKey>
    </corecom:ParentSalesOrderLineIdentification>
    <corecom:RootParentSalesOrderLineIdentification xmlns:corecom="http://xmlns.oracle.com/EnterpriseObjects/Core/Common/V2">
    <corecom:BusinessComponentID schemeAgencyID="AIA_01" schemeID="SALESORDER_LINEID_GUID">31373632363632373039363139343635</corecom:BusinessComponentID>
    <corecom:ID schemeAgencyID="SEBL_01" schemeID="LineNumber">1</corecom:ID>
    <corecom:ApplicationObjectKey>
    <corecom:ID schemeAgencyID="SEBL_01" schemeID="RootParentLineId"/>
    </corecom:ApplicationObjectKey>
    <corecom:AlternateObjectKey>
    <corecom:ID schemeAgencyID="SEBL_01" schemeID="IntegrationId">90</corecom:ID>
    </corecom:AlternateObjectKey>
    </corecom:RootParentSalesOrderLineIdentification>
    <coresalesorder:SubstitutionAllowedIndicator/>
    <coresalesorder:SourceTypeCode/>
    <coresalesorder:PreferredGradeCode/>
    <coresalesorder:CatchWeightMeasure/>
    <corecom:EffectiveTimePeriod xmlns:corecom="http://xmlns.oracle.com/EnterpriseObjects/Core/Common/V2">
    <corecom:StartDateTime/>
    <corecom:EndDateTime/>
    </corecom:EffectiveTimePeriod>
    <coresalesorder:GrossWeightMeasure>0</coresalesorder:GrossWeightMeasure>
    <coresalesorder:TypeCode>ORDER</coresalesorder:TypeCode>
    <coresalesorder:Description>Servers</coresalesorder:Description>
    <coresalesorder:OrderQuantity unitCode="EA">1</coresalesorder:OrderQuantity>
    <corecom:Status xmlns:corecom="http://xmlns.oracle.com/EnterpriseObjects/Core/Common/V2">
    <corecom:Code>PENDING</corecom:Code>
    </corecom:Status>
    <corecom:ItemReference xmlns:corecom="http://xmlns.oracle.com/EnterpriseObjects/Core/Common/V2">
    <corecom:ItemIdentification>
    <corecom:BusinessComponentID schemeAgencyID="AIA_01" schemeID="ITEM_ID_GUID">61</corecom:BusinessComponentID>
    <corecom:ContextID/>
    <corecom:AlternateObjectKey>
    <corecom:ID schemeAgencyID="SEBL_01" schemeID="ProductId">AS85008</corecom:ID>
    <corecom:ContextID>300000001130177</corecom:ContextID>
    </corecom:AlternateObjectKey>
    <corecom:ApplicationObjectKey>
    <corecom:ID schemeAgencyID="SEBL_01" schemeID="ProductId">AS85008</corecom:ID>
    <corecom:ContextID>300000001130177</corecom:ContextID>
    </corecom:ApplicationObjectKey>
    <corecom:CustomerItemID schemeAgencyID="SEBL_01" schemeID="ProductId"/>
    </corecom:ItemIdentification>
    <corecom:Name/>
    <corecom:TypeCode/>
    <corecom:Description>Computer</corecom:Description>
    </corecom:ItemReference>
    <coresalesorder:FulfillmentModeCode/>
    <coresalesorder:SalesOrderSchedule>
    <corecom:Identification xmlns:corecom="http://xmlns.oracle.com/EnterpriseObjects/Core/Common/V2">
    <corecom:BusinessComponentID schemeAgencyID="AIA_01" schemeID="SALESORDER_SCHEDULE_GUID">31373632363632373039363139343635</corecom:BusinessComponentID>
    <corecom:ID schemeAgencyID="SEBL_01" schemeID="SalesOrderScheduleNumber">1</corecom:ID>
    <corecom:ApplicationObjectKey>
    <corecom:ID schemeAgencyID="SEBL_01" schemeID="SalesOrderScheduleId">101</corecom:ID>
    </corecom:ApplicationObjectKey>
    <corecom:AlternateObjectKey>
    <corecom:ID schemeAgencyID="SEBL_01" schemeID="IntegrationId">201</corecom:ID>
    </corecom:AlternateObjectKey>
    </corecom:Identification>
    <corecom:ShipmentSet xmlns:corecom="http://xmlns.oracle.com/EnterpriseObjects/Core/Common/V2">
    <corecom:Name/>
    </corecom:ShipmentSet>
    <coresalesorder:ExtendedAmount currencyCode="USD">18762.00</coresalesorder:ExtendedAmount>
    <coresalesorder:GrossWeightMeasure>0</coresalesorder:GrossWeightMeasure>
    <coresalesorder:Description>Servers</coresalesorder:Description>
    <coresalesorder:OrderQuantity unitCode="Ea">1</coresalesorder:OrderQuantity>
    <coresalesorder:RequestedShipDateTime>2013-06-25T10:58:32Z</coresalesorder:RequestedShipDateTime>
    <coresalesorder:ScheduledShipDateTime/>
    <coresalesorder:ScheduledArrivalDateTime/>
    <coresalesorder:RequestedDeliveryDateTime/>
    <coresalesorder:LatestRequestedDeliveryDateTime/>
    <coresalesorder:LatestRequestedShipDateTime/>
    <coresalesorder:LatestRequestedShipDateTime/>
    <coresalesorder:EarliestShipDateTime/>
    <coresalesorder:ShipmentPriorityCode/>
    <coresalesorder:FulfillmentModeCode/>
    <coresalesorder:FOBPointCode/>
    <coresalesorder:ModeOfTransportCode>Air</coresalesorder:ModeOfTransportCode>
    <coresalesorder:ReasonCode/>
    <coresalesorder:ServiceLevelCode>Next day air</coresalesorder:ServiceLevelCode>
    <corecom:CarrierPartyReference xmlns:corecom="http://xmlns.oracle.com/EnterpriseObjects/Core/Common/V2">
    <corecom:PartyIdentification>
    <corecom:ApplicationObjectKey>
    <corecom:ID>10010</corecom:ID>
    <corecom:ContextID>100010023895555</corecom:ContextID>
    </corecom:ApplicationObjectKey>
    </corecom:PartyIdentification>
    </corecom:CarrierPartyReference>
    <corecom:Status xmlns:corecom="http://xmlns.oracle.com/EnterpriseObjects/Core/Common/V2">
    <corecom:Code>PENDING</corecom:Code>
    </corecom:Status>
    <corecom:PaymentTerm xmlns:corecom="http://xmlns.oracle.com/EnterpriseObjects/Core/Common/V2">
    <corecom:Code>4</corecom:Code>
    </corecom:PaymentTerm>
    <corecom:CustomerPurchaseOrderShipmentReference xmlns:corecom="http://xmlns.oracle.com/EnterpriseObjects/Core/Common/V2">
    <corecom:PurchaseOrderLineIdentification>
    <corecom:ApplicationObjectKey>
    <corecom:ID>Line # 1</corecom:ID>
    </corecom:ApplicationObjectKey>
    </corecom:PurchaseOrderLineIdentification>
    <corecom:PurchaseOrderIdentification>
    <corecom:ApplicationObjectKey>
    <corecom:ID>PO#A1</corecom:ID>
    </corecom:ApplicationObjectKey>
    </corecom:PurchaseOrderIdentification>
    </corecom:CustomerPurchaseOrderShipmentReference>
    <corecom:UnitListPrice xmlns:corecom="http://xmlns.oracle.com/EnterpriseObjects/Core/Common/V2">
    <corecom:Amount currencyCode="USD">18762.00</corecom:Amount>
    </corecom:UnitListPrice>
    <corecom:UnitSalePrice xmlns:corecom="http://xmlns.oracle.com/EnterpriseObjects/Core/Common/V2">
    <corecom:Amount currencyCode="USD">18762.00</corecom:Amount>
    </corecom:UnitSalePrice>
    <corecom:ShipFromPartyReference xmlns:corecom="http://xmlns.oracle.com/EnterpriseObjects/Core/Common/V2">
    <corecom:LocationReference>
    <corecom:LocationIdentification>
    <corecom:ID>100010023895555</corecom:ID>
    <corecom:ApplicationObjectKey>
    <corecom:ID>300000001130184</corecom:ID>
    <corecom:ContextID/>
    </corecom:ApplicationObjectKey>
    <corecom:AlternateObjectKey>
    <corecom:ID schemeAgencyID="AIA_01" schemeID="CUSTOMERPARTY_PARTYCONTACTID_GUID">300000001201066</corecom:ID>
    </corecom:AlternateObjectKey>
    </corecom:LocationIdentification>
    </corecom:LocationReference>
    </corecom:ShipFromPartyReference>
    <coresalesorder:SalesOrderShipToParty xmlns:corecom="http://xmlns.oracle.com/EnterpriseObjects/Core/Common/V2">
    <corecom:CustomerPartyAccountContactIdentification>
    <corecom:ApplicationObjectKey>
    <corecom:ID>300000003212320</corecom:ID>
    <corecom:ContextID/>
    </corecom:ApplicationObjectKey>
    </corecom:CustomerPartyAccountContactIdentification>
    <corecom:CustomerPartyAccountSiteUsageIdentification>
    <corecom:ApplicationObjectKey>
    <corecom:ID>300000003679213</corecom:ID>
    <corecom:ContextID/>
    </corecom:ApplicationObjectKey>
    </corecom:CustomerPartyAccountSiteUsageIdentification>
    <corecom:ShipToPartyReference>
    <corecom:CustomerPartyAccountIdentification>
    <corecom:ApplicationObjectKey>
    <corecom:ID>300000002605080</corecom:ID>
    <corecom:ContextID/>
    </corecom:ApplicationObjectKey>
    </corecom:CustomerPartyAccountIdentification>
    </corecom:ShipToPartyReference>
    </coresalesorder:SalesOrderShipToParty>
    <coresalesorder:SalesOrderBillToParty xmlns:corecom="http://xmlns.oracle.com/EnterpriseObjects/Core/Common/V2">
    <corecom:CustomerPartyAccountContactIdentification>
    <corecom:ApplicationObjectKey>
    <corecom:ID>300000003212320</corecom:ID>
    <corecom:ContextID/>
    </corecom:ApplicationObjectKey>
    </corecom:CustomerPartyAccountContactIdentification>
    <corecom:CustomerPartyAccountSiteUsageIdentification>
    <corecom:ApplicationObjectKey>
    <corecom:ID>300000003679211</corecom:ID>
    <corecom:ContextID/>
    </corecom:ApplicationObjectKey>
    </corecom:CustomerPartyAccountSiteUsageIdentification>
    <corecom:BillToPartyReference>
    <corecom:CustomerPartyAccountIdentification>
    <corecom:ApplicationObjectKey>
    <corecom:ID>300000002605080</corecom:ID>
    <corecom:ContextID/>
    </corecom:ApplicationObjectKey>
    </corecom:CustomerPartyAccountIdentification>
    </corecom:BillToPartyReference>
    </coresalesorder:SalesOrderBillToParty>
    <coresalesorder:ShipmentInstruction/>
    <coresalesorder:PackingInstruction/>
    <coresalesorder:TotalAmount/>
    <coresalesorder:PricingDateTime/>
    <coresalesorder:PurchaseDate/>
    </coresalesorder:SalesOrderSchedule>
    </coresalesorder:SalesOrderLine>
    <coresalesorder:SalesOrderCustomerParty xmlns:corecom="http://xmlns.oracle.com/EnterpriseObjects/Core/Common/V2">
    <corecom:CustomerPartyAccountContactIdentification>
    <corecom:ApplicationObjectKey>
    <corecom:ID/>
    <corecom:ContextID/>
    </corecom:ApplicationObjectKey>
    </corecom:CustomerPartyAccountContactIdentification>
    <corecom:CustomerPartyReference>
    <corecom:CustomerPartyAccountIdentification>
    <corecom:ApplicationObjectKey>
    <corecom:ID>300000002605080</corecom:ID>
    <corecom:ContextID/>
    </corecom:ApplicationObjectKey>
    </corecom:CustomerPartyAccountIdentification>
    </corecom:CustomerPartyReference>
    </coresalesorder:SalesOrderCustomerParty>
    <coresalesorder:ModeOfTransportCode/>
    <coresalesorder:ServiceLevelCode/>
    <coresalesorder:TotalAmount currencyCode="USD">70.94</coresalesorder:TotalAmount>
    <coresalesorder:EarliestShipDateTime/>
    <coresalesorder:PricingDateTime/>
    <corecom:SourceDocumentReference xmlns:corecom="http://xmlns.oracle.com/EnterpriseObjects/Core/Common/V2">
    <corecom:DocumentIdentification>
    <corecom:ID>ShipOrderGenericProcess</corecom:ID>
    </corecom:DocumentIdentification>
    </corecom:SourceDocumentReference>
    </coresalesorder:ProcessSalesOrderFulfillment>
    </coresalesorder:DataArea>
    </ProcessSalesOrderFulfillmentEBM>
    </soap:Body>
    </soap:Envelope>
    Can I get a help on this and my question is in j developer when I make a web service data control and drag and drop that method in to my pages submit button with text box taking this EBM or xml as entry and when I submit this its giving a null pointer exception. How can I overcome this.
    Regards
    Satbir Singh

    Hi,
    for complex services like this the recommendation is to use a JAX-WS proxy client, put a POJO in front (wrapper) to access information and methods to expose in the application and create a POJO DC from the wrapper. This not only is more powerful and allows you to intercept data calls, it also gives you a netter option for debugging and error handling in case something fails.
    Frank

  • Calling Web Service from SIM

    Hi all,
    We have to call a web service from SIM.
    I don't have any idea how to implement this.
    Do we have to create a custom adapter for this, or we have to use SPML or we can call it direct from workflow?
    Please suggest the appropriate option and also what kind of web services can be called from SIM i.e. they are as simple as other web services or there is any specific implementation details for that. In our web service we only have to call a method that accepts an integer argument and also returns an integer.
    If there is any link or document that can be helpful please provide.
    Thanks
    Edited by: IDM_Discussion on Feb 25, 2008 5:49 AM

    Calling direct to the web service does work. But the advantage of doing a resource adapter is that the calls are integrated into the standard IdM processing. So you will have the standard auditing and tracing capabilities and the ability to see the user in the IdM GUI etc.
    I think as a short cut under time pressure calling direct is ok but architecturally the RA approach is probably better.
    Also a precision: I should have said 'mix and match alomost certainly will not work, out of the box'. We did manage to make Sun JWSDP webservice code run in Web Sphere. But you have to bung all the jars you need into the idm war file and then do a tricky WASsy thing where you set the 'Parent Last' parameter on the IdM web app AND module (two levels) to ensure that the JWSDP classes are loaded before any WAS webservice classes. Oh joy.

  • Using utl_dbws to call web service

    We're calling a web service using utl_dbws and getting a response but the problem is the parameters. I haven't been able to find much documentation about how to use the utl_dbws package and have only one example to work from so could do with some expert help.
    The following code calls the webservice:
    procedure call_web_service(p_application_key in number,
    out_success_message out varchar2)
    is
    v_service utl_dbws.service;
    v_call utl_dbws.call;
    v_service_qname utl_dbws.qname;
    v_port_qname utl_dbws.qname;
    v_operation_qname utl_dbws.qname;
    v_string_type_qname utl_dbws.qname;
    v_return anydata;
    v_send_data anydata;
    v_return_string varchar2 (100);
    v_return_length number;
    v_parameter_string varchar2(32767);
    v_params utl_dbws.anydata_list;
    v_interview_xml xmltype;
    v_policy_number varchar2(14);
    -- return parameters
    v_interviewId varchar2(1000);
    v_statusType varchar2(1000);
    v_error_reason varchar2(1000);
    begin
    message_handler.set_module_name('ostp_to_xpb.call_web_service');
    message_handler.set_current_process('retrieve generated xml');
    begin
         select upload_xml, extractvalue(upload_xml, '/interview/externalReferenceNumber') policy_number
         into v_interview_xml, v_policy_number
              from xpb_upload_data
         where application_key = p_application_key
              and extractvalue(upload_xml, '/interview/externalReferenceNumber') is not null;
    --dbms_output.put_line('xml retrieved');
         exception
         when no_data_found then     
              v_success_message := 'No xml found for application_key = '||p_application_key;
              raise v_procedure_error;
         end;
         message_handler.set_current_process('call web service');
    -- create service
    v_service_qname := utl_dbws.to_qname (null, 'xpertBridge');
    v_service := utl_dbws.create_service (v_service_qname);
    -- create call
    v_port_qname := utl_dbws.to_qname (null, 'xpertBridgePort');
    v_operation_qname :=
    utl_dbws.to_qname
    ('http://m0154ukdox1/xpertBridgeEDSLV/services/xpertBridge',
    'orcaAppUpload'
    v_call := utl_dbws.create_call (v_service, v_port_qname, v_operation_qname);
    -- set endpoint
    utl_dbws.set_target_endpoint_address
    (v_call,
    'http://m0154ukdox1/xpertBridgeEDSLV/services/xpertBridge'
    -- set type of input and output parameters
    v_string_type_qname :=
    utl_dbws.to_qname ('http://www.w3.org/2001/XMLSchema', 'string');
    utl_dbws.add_parameter (v_call,
    'orcaXml',
    v_string_type_qname,
    'ParameterMode.IN'
    utl_dbws.add_parameter (v_call,
    'interviewId',
    v_string_type_qname,
    'ParameterMode.OUT'
    utl_dbws.add_parameter (v_call,
    'status',
    v_string_type_qname,
    'ParameterMode.OUT'
    utl_dbws.add_parameter (v_call,
    'errorReason',
    v_string_type_qname,
    'ParameterMode.OUT'
    utl_dbws.set_return_type (v_call, v_string_type_qname);
    -- convert xmltype to string for call
    select xmlserialize(document v_interview_xml)
    into v_parameter_string
    from dual;
    v_params (1) := anydata.convertvarchar(v_parameter_string);
    -- call
    v_return := utl_dbws.invoke (v_call, v_params);
    -- values which can be returned are Success / MessageError / ApplicationError
    v_return_string := v_return.accessvarchar2;
    dbms_output.put_line ('Message returned is: ' || nvl(v_return_string, 'No success message returned'));
    -- retrieve out parameters
    v_interviewId := v_params(2).accessvarchar2;
    dbms_output.put_line ('Message returned is: ' || nvl(v_interviewId, 'No interviewId returned'));
    v_statusType := v_params(3).accessvarchar2;
    dbms_output.put_line ('Message returned is: ' || nvl(v_statusType, 'No status type returned'));
    v_error_reason := v_params(4).accessvarchar2;
    dbms_output.put_line ('Message returned is: ' || nvl(v_error_reason, 'No error reason returned'));
    -- release call
    utl_dbws.release_call ( v_call );
    -- release services
    utl_dbws.release_service ( v_service );
    message_handler.set_module_finish;
    exception
    when others then
    out_success_message := message_handler.formatted_error_message;
    end call_web_service;
    Here is an excerpt from the WSDL relating to the call being made:
         <xs:element name="orcaAppUpload">
                        <xs:annotation>
                             <xs:documentation xml:lang="en">Message payload XML</xs:documentation>
                        </xs:annotation>
                        <xs:complexType>
                             <xs:sequence>
                                  <xs:element name="orcaXml" type="xs:string"/>
                             </xs:sequence>
                        </xs:complexType>
                   </xs:element>
                   <xs:element name="orcaAppUploadResponse">
                        <xs:complexType>
                             <xs:sequence>
                                  <xs:element name="interviewId" type="xs:string">
                                       <xs:annotation>
                                            <xs:documentation xml:lang="en">Interview identifier used to access the interview from UI</xs:documentation>
                                       </xs:annotation>
                                  </xs:element>
                                  <xs:element name="status" type="tns:StatusType"/>
                                  <xs:element name="errorReason" type="xs:string" minOccurs="0">
                                       <xs:annotation>
                                            <xs:documentation xml:lang="en">Only included if an error has occured </xs:documentation>
                                       </xs:annotation>
                                  </xs:element>
                             </xs:sequence>
                        </xs:complexType>
                   </xs:element>
                   <xs:simpleType name="StatusType">
                        <xs:restriction base="xs:string">
                             <xs:enumeration value="Success"/>
                             <xs:enumeration value="MessageError">
                                  <xs:annotation>
                                       <xs:documentation xml:lang="en">MessageError arises if the request payload was
    rejected by xpertBridge. This might be because it does not validate against the
    expected schema. Alternatively, a business rule is not satisfied.</xs:documentation>
                                  </xs:annotation>
                             </xs:enumeration>
                             <xs:enumeration value="ApplicationError">
                                  <xs:annotation>
                                       <xs:documentation xml:lang="en">ApplicationError would indicate application or system
    error or exception occured in xpertBridge while processing the request.</xs:documentation>
                                  </xs:annotation>
                             </xs:enumeration>
                        </xs:restriction>
                   </xs:simpleType>
              </xs:schema>
         <wsdl:message name="orcaAppUploadReq">
              <wsdl:part name="orcaAppUpload" element="tns:orcaAppUpload"/>
         </wsdl:message>
         <wsdl:message name="orcaAppUploadResp">
              <wsdl:part name="orcaAppUploadResponse" element="tns:orcaAppUploadResponse"/>
         </wsdl:message>
         <wsdl:portType name="xpertBridgePort">
              <wsdl:operation name="orcaAppUpload">
                   <wsdl:documentation>Upload (typically paper) application from ORCA/Ingenium</wsdl:documentation>
                   <wsdl:input message="tns:orcaAppUploadReq"/>
                   <wsdl:output message="tns:orcaAppUploadResp"/>
              </wsdl:operation>
         </wsdl:portType>
    etc.
    The error being returned is the following:
    ostp_to_xpb.call_web_service.call web service.ORA-29532: Java call terminated by uncaught Java exception: unexpected element name: expected=interviewId, actual=status
    Initially I started the params at params(0) but when I received the response above I thought it might solve the problem by starting at 1 - try anything :-) but still had the same response.
    I'm now out of ideas!

    UTL_DBWS is not part of XDB, XDB is more about being the web service, rather than calling a web service. Here's an example of using UTL_HTTP to test a XML DB Database Native Web Service which may help
    SQL*Plus: Release 11.2.0.1.0 Production on Wed Jun 17 08:23:14 2009
    Copyright (c) 1982, 2009, Oracle.  All rights reserved.
    SQL> spool password.log
    SQL> --
    SQL> connect sys/oracle as sysdba
    Connected.
    SQL> --
    SQL> def USERNAME=DBNWS
    SQL> --
    SQL> def PASSWORD=DBNWS
    SQL> --
    SQL> def HOSTNAME=&1
    SQL> --
    SQL> DROP USER &USERNAME CASCADE
      2  /
    old   1: DROP USER &USERNAME CASCADE
    new   1: DROP USER DBNWS CASCADE
    User dropped.
    SQL> grant connect, resource to &USERNAME identified by &PASSWORD
      2  /
    old   1: grant connect, resource to &USERNAME identified by &PASSWORD
    new   1: grant connect, resource to DBNWS identified by DBNWS
    Grant succeeded.
    SQL> begin
      2    dbms_network_acl_admin.drop_acl('localhost.xml');
      3  end;
      4  /
    PL/SQL procedure successfully completed.
    SQL> begin
      2    dbms_network_acl_admin.create_acl('localhost.xml', 'ACL for &HOSTNAME', '&USERNAME', true, 'connect');
      3    dbms_network_acl_admin.assign_acl('localhost.xml', '&HOSTNAME');
      4  end;
      5  /
    old   2:   dbms_network_acl_admin.create_acl('localhost.xml', 'ACL for &HOSTNAME', '&USERNAME', true, 'connect');
    new   2:   dbms_network_acl_admin.create_acl('localhost.xml', 'ACL for localhost', 'DBNWS', true, 'connect');
    old   3:   dbms_network_acl_admin.assign_acl('localhost.xml', '&HOSTNAME');
    new   3:   dbms_network_acl_admin.assign_acl('localhost.xml', 'localhost');
    PL/SQL procedure successfully completed.
    SQL> COMMIT
      2  /
    Commit complete.
    SQL> GRANT XDB_WEBSERVICES TO &USERNAME
      2  /
    old   1: GRANT XDB_WEBSERVICES TO &USERNAME
    new   1: GRANT XDB_WEBSERVICES TO DBNWS
    Grant succeeded.
    SQL> GRANT XDB_WEBSERVICES_OVER_HTTP TO &USERNAME
      2  /
    old   1: GRANT XDB_WEBSERVICES_OVER_HTTP TO &USERNAME
    new   1: GRANT XDB_WEBSERVICES_OVER_HTTP TO DBNWS
    Grant succeeded.
    SQL> connect &USERNAME/&PASSWORD
    Connected.
    SQL> --
    SQL> create or replace function GET_SQRT (INPUT_VALUE number) return number
      2  as
      3  begin
      4    return SQRT(2);
      5  end;
      6  /
    Function created.
    SQL> select GET_SQRT(2)
      2    from dual
      3  /
    GET_SQRT(2)
    1.41421356
    SQL> VAR URL VARCHAR2(4000)
    SQL> --
    SQL> BEGIN
      2    :url :=   'http://&USERNAME:&PASSWORD@&HOSTNAME:' || dbms_xdb.getHttpPort() || '/orawsv/&USERNAME/GET_SQRT';
      3  end;
      4  /
    old   2:   :url :=   'http://&USERNAME:&PASSWORD@&HOSTNAME:' || dbms_xdb.getHttpPort() || '/orawsv/&USERNAME/GET_SQRT';
    new   2:   :url :=   'http://DBNWS:DBNWS@localhost:' || dbms_xdb.getHttpPort() || '/orawsv/DBNWS/GET_SQRT';
    PL/SQL procedure successfully completed.
    SQL> print url
    URL
    http://DBNWS:DBNWS@localhost:80/orawsv/DBNWS/GET_SQRT
    SQL> --
    SQL> set long 100000 pages 0 lines 256
    SQL> --
    SQL> select     httpuritype( :url || '?wsdl' ).getXML() from dual
      2  /
    <definitions name="GET_SQRT" targetNamespace="http://xmlns.oracle.com/orawsv/DBNWS/GET_SQRT" xmlns="http://schemas.xmlsoap.org/wsdl/
    " xmlns:tns="http://xmlns.oracle.com/orawsv/DBNWS/GET_SQRT" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://
    schemas.xmlsoap.org/wsdl/soap/">
      <types>
        <xsd:schema targetNamespace="http://xmlns.oracle.com/orawsv/DBNWS/GET_SQRT" elementFormDefault="qualified">
          <xsd:element name="SNUMBER-GET_SQRTInput">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="INPUT_VALUE-NUMBER-IN" type="xsd:double"/>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="GET_SQRTOutput">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="RETURN" type="xsd:double"/>
              </xsd:sequence>
            </xsd:complexType>
          </xsd:element>
        </xsd:schema>
      </types>
      <message name="GET_SQRTInputMessage">
        <part name="parameters" element="tns:SNUMBER-GET_SQRTInput"/>
      </message>
      <message name="GET_SQRTOutputMessage">
        <part name="parameters" element="tns:GET_SQRTOutput"/>
      </message>
      <portType name="GET_SQRTPortType">
        <operation name="GET_SQRT">
          <input message="tns:GET_SQRTInputMessage"/>
          <output message="tns:GET_SQRTOutputMessage"/>
        </operation>
      </portType>
      <binding name="GET_SQRTBinding" type="tns:GET_SQRTPortType">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <operation name="GET_SQRT">
          <soap:operation soapAction="GET_SQRT"/>
          <input>
            <soap:body parts="parameters" use="literal"/>
          </input>
          <output>
            <soap:body parts="parameters" use="literal"/>
          </output>
        </operation>
      </binding>
      <service name="GET_SQRTService">
        <documentation>Oracle Web Service</documentation>
        <port name="GET_SQRTPort" binding="tns:GET_SQRTBinding">
          <soap:address location="http://localhost:80/orawsv/DBNWS/GET_SQRT"/>
        </port>
      </service>
    </definitions>
    SQL> set serveroutput on
    SQL> --
    SQL> DECLARE
      2    V_SOAP_REQUEST      XMLTYPE := XMLTYPE(
      3  '<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">
      4          <SOAP-ENV:Body>
      5                  <m:SNUMBER-GET_SQRTInput xmlns:m="http://xmlns.oracle.com/orawsv/&USERNAME/GET_SQRT">
      6                          <m:INPUT_VALUE-NUMBER-IN>2</m:INPUT_VALUE-NUMBER-IN>
      7                  </m:SNUMBER-GET_SQRTInput>
      8          </SOAP-ENV:Body>
      9  </SOAP-ENV:Envelope>');
    10    V_SOAP_REQUEST_TEXT CLOB := V_SOAP_REQUEST.getClobVal();
    11    V_REQUEST           UTL_HTTP.REQ;
    12    V_RESPONSE          UTL_HTTP.RESP;
    13    V_BUFFER            VARCHAR2(1024);
    14  BEGIN
    15
    16    V_REQUEST := UTL_HTTP.BEGIN_REQUEST(URL => :URL, METHOD => 'POST');
    17    UTL_HTTP.SET_HEADER(V_REQUEST, 'User-Agent', 'Mozilla/4.0');
    18    V_REQUEST.METHOD := 'POST';
    19    UTL_HTTP.SET_HEADER (R => V_REQUEST, NAME => 'Content-Length', VALUE => DBMS_LOB.GETLENGTH(V_SOAP_REQUEST_TEXT));
    20    UTL_HTTP.WRITE_TEXT (R => V_REQUEST, DATA => V_SOAP_REQUEST_TEXT);
    21
    22    V_RESPONSE := UTL_HTTP.GET_RESPONSE(V_REQUEST);
    23    LOOP
    24      UTL_HTTP.READ_LINE(V_RESPONSE, V_BUFFER, TRUE);
    25      DBMS_OUTPUT.PUT_LINE(V_BUFFER);
    26    END LOOP;
    27    UTL_HTTP.END_RESPONSE(V_RESPONSE);
    28  EXCEPTION
    29    WHEN UTL_HTTP.END_OF_BODY THEN
    30      UTL_HTTP.END_RESPONSE(V_RESPONSE);
    31  END;
    32  /
    old   5:                <m:SNUMBER-GET_SQRTInput xmlns:m="http://xmlns.oracle.com/orawsv/&USERNAME/GET_SQRT">
    new   5:                <m:SNUMBER-GET_SQRTInput xmlns:m="http://xmlns.oracle.com/orawsv/DBNWS/GET_SQRT">
    <?xml version="1.0" ?>
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
    <GET_SQRTOutput xmlns="http://xmlns.oracle.com/orawsv/DBNWS/GET_SQRT">
    <RETURN>1.41421356237309504880168872420969807857</RETURN>
    </GET_SQRTOutput>
    </soap:Body>
    </soap:Envelope>
    PL/SQL procedure successfully completed.
    SQL> set serveroutput on
    SQL> --
    SQL>
    SQL>

Maybe you are looking for