Urgent: Web Service from Function Module

Hi guys, I am new to this area so please help to achieve following:
I want to show a demo to load data from a web service to BI. I have performed the following steps and don’t know how to process further. Please help me in the sense where do I put the logic to show fields on the web service and ….
1. I have created a web service data source in BI with four fields (Cal dat, material, amount and currency)
2. This created a Web Service /RFC FM automatically.
3. From this FM I created a web service (Utilities – create web service – from function module)
4. I followed the web service creation wizard.
Thanks,
sam

releasing and related steps are fine,
what i want to know is, BW/BI datasource will create a FM, from this FM inturn I will create a webservice.
Lets say BW/BI datasource has 4 fields account, company, amount & currency.
I want to enter these 4 values from the webservice which will bring these values to BW delta queue and eventually get loaded in BW.
For this process do I need to code anything in the FM or any other part of the system

Similar Messages

  • I generated web service from function module.Where can I find .wsdl file ?

    Hi,
    I generated web service from function module.
    Where can I find .wsdl file ?
    I want to use .wsdl file in .Net application.
    Thanks.

    Hii Cemil Bozlagan,
      All Remote enabled Function Modules in Web AS 6.20 and Above are available as Webservices and the WSDL documents are available in the web service repository at
    [http://<host>:<port>/sap/bc/bsp/sap/webservicebrowser/search.html]
    Find the respective BAPI.
    Click on the WSDL link in the browser and download the WSDL document and use it as per the requirement
    Regards,
    Varun

  • Calling Web Service from Function Module

    dear all
    i am new to SAP.
    i have a web Service developed with .net and C#.
    i want to call this web Service from inside a function module.
    how can i do this ?
    thanks,

    Hi Ramzy,
    Please browse through chrome or sdn , there is a lot of documents and discussions, any how find the below URL, which might be helpful.
    Create an SAP Web Service Consumer (calling External Web Service from ABAP)
    Create a Function Module and full the below Code :
    Sample code :
    DATA: http_client TYPE REF TO if_http_client,
          host_str TYPE string VALUE 'www.myservice.in',
          service_str TYPE string,
          path TYPE string VALUE  'my path',
          errortext TYPE string. "used for error handling
    DATA  : wf_string1 TYPE string,
             lw_inputs TYPE string,
             error_text type string,
             subrc TYPE SY-SUBRC,
             lw_outputs TYPE  string.
    CALL METHOD cl_http_client=>create_by_url
      EXPORTING
        url                = 'myurl'
      IMPORTING
        client             = http_client
      EXCEPTIONS
        argument_not_found = 1
        plugin_not_active  = 2
        internal_error     = 3
        OTHERS             = 4.
      IF sy-subrc <> 0.
    *  MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    *             WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    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 = 'HTTP/1.1'.
    CALL METHOD http_client->request->set_header_field
      EXPORTING
        name  = '~request_uri'
        value = 'mypath'.
    CALL METHOD http_client->request->set_header_field
      EXPORTING
        name  = 'Content-Type'
        value = 'application/soap+xml; charset=utf-8'."'text/xml; charset=utf-8'.
    CALL METHOD http_client->request->set_header_field
      EXPORTING
        name  = 'Content-Length'
        value = '19000'."txlen.
    CALL METHOD http_client->request->set_header_field
      EXPORTING
        name  = 'SOAPAction'
        value = 'myURL'.
    concatenate 'data u need sned' into wf_string
    CALL METHOD http_client->request->set_cdata
      EXPORTING
        data   = wf_string1
        offset = 0
        length = '19000'.
    Regards,
    Lokeswar.

  • Issue with the Package/request while creating service from function module

    Hi
    I'm creating a service form a function module. After the web service creator starts, There is a last step that asks for package and transport request. If i choose local objects, showing error as "Test Objects cannot be created in foriegn namespaces. If i give the package as it is in the attributes of the function module and transport request, showing error as " No tasks exists under the request. What is transport request??
    please if anyone has recently done such a process with NetWeaver PI 7.1. help me..
    Thanks
    Vijay

    You have to create a package for your objectsin SE80 transaction.
    How?
    http://www.sap-img.com/basis/steps-for-creating-package.htm
    Then assign this package name in your webservice creation.
    When asked for a transaport request, create one(You will find a create transport request inthe pop up which prompts you for creation of transport request).
    Regards,
    ravi kanth talagana

  • Error while generating Web Service from a function module.

    Hi Experts,
    I am trying to create a web service from function module by doing the steps as mentioned in the below document:
    http://www.sdn.sap.com/irj/scn/index;jsessionid=(J2EE3417800)ID1146834250DB10778842957931285337End?rid=/library/uuid/80fa3dff-ce76-2a10-3f94-f3df8f2db5a2&overridelayout=true
    When i save it as an local object instead of generating the Web Service it gives me the below error:
    "Error during activation of Web Service"
    Kindly let me know what needs to be done inorder to resolve this issue.
    I have a feeling that this error may be with respect to some authorizations, in that case how do we resolve it
    Helpful Inputs Awaited.!!!
    Thanks
    Dhwani

    Hi Dhawani,
    Hi Pavan,
    Can you please elaborate...how this will help??
    Thanks
    Dhwani
    I dont know the specific reason but internally there may some inconsistancy but i faced the same error and i tried with saving it in the package.
    Thanks

  • Can we change WSDL file created from Function Module wizard??

    Hi everybody!
    I have created a web service from function module using SAP wizard.
    Now the consumer side want me to change <wsp:UsingPolicy wsdl:required="true"/>
    Is this possible???
    If so how?????
    Thank u in advance!!

    Hi Muhammad!
    As soon as you open WSDL for selected binding in the URL are of you explorer change the ws_policy with "standard" . Then simply save the wsdl and send it to the other party.
    Hope this helps!

  • Web Service from RFC function module

    Hi all,
    I'm searching for a way to create web services from RFC-enabled function modules. I know there is a wizard, but it's not suitable for my problem:
    I have around 30 function modules (number raising in near future) I want to enable for web services, most of them share the same structures representing the underlying data model. When one structure is modified (i.e. a new sub-structure is added) I have to recreate all web services, which is quite uncomfortable.
    In addition, using the wizard results in one wsdl-file for each web service operation, that leads to an administration overhead using this web services from a java frontend.
    So I'm searching for a "bulk creation". I also know the wizard can be used for a function group, but I can't put all my RFC-enabled function module in one function group, that would lead to confusion in the package.
    Does anyone know how web services are created programmaticaly? If I had a function module which creates the web services I could write a function module which creates all web services I need.
    Thank you in anticipation!
    Florian

    I'm not sure I understand the 're-create' part...how are you re-creating the web service?  if you modify the interface of a function-based web service, then you use the 'modify operations' functionality (context menu - right-click) to regenerate the web service interface; this works for a function group based web service as well and hits all of the methods at once.  As for the java overhead on function group services, stating the obvious, maybe you just need to lower the number of functions in your groups.  We use .Net-developed applications with multi-function webservices and don't have any overhead issues.

  • Web Services  from ABAP function modules return values- leading zeros

    I am using several web services from SAP CRM (5.0) that were created from Function modules ( I am assuming that that they are in ABAP).
    I can call the web services fine and they work as expected, but I am seeing a lot of leading zeros in the return values of fields in tables from the Web service.
    The ABAP er’s are telling me that they cannot see the leading zero’s.
    So my question is where these are appended to the values in the whole process. When I execute the Function Module in SAP CRM from transaction SE37 I can see the leading zeros. So I think that this is something that has to be handled by the ABAP er’s and not in the client consuming the web service.
    Are the functions in SAP CRM that can remove leading zeros for fields in a table (that is an export parameter?)
    Jawahar

    Hello Jawahar
    If you run your (RFC-enabled) function modules using the SAP-GUI (i.e. in dialog) then the GUI automatically replaces leading zero when the function module returns any data. However, calling the same function module remotely you will always see these leading zeros.
    These so-called conversion exits are defined as attribute of domains in the ABAP dictionary. If the function module used for the WebService is a standard fm then you have little chances to get rid of the leading zero. Perhaps the WebService has some attribute to suppress conversion exits or activate them when retrieving the data.
    Regards, 
       Uwe

  • Web Service created from Function Module with output tables

    Hello,
    I created a web service from a custom function module.  This Function module has some export parameters and one table.
    The table parameter returns a list of data for selection.
    When I execute the function module, everything is returned fine.
    When I call the web service, the export parameters are returned but the table is empty.
    Has anyone encountered that kind of issue?
    Thanks!
    Laurent

    Please check the following few things while testing the WS:
    - Test the WS with WS Navigator (accessible from transaction WSADMIN or http://<server host>:<port>/wsnavigator/enterwsdl.html).
    - While doing the test, give the exact no. of digit if there is some input parameter (with 0 padding if necessary).
    - Make sure the "SKIP" check box against the table parameter is NOT checked.
    Regards
    Nilay

  • Have problem when generate Web Service from bapi function

    Dear all,
    Please kindly help me about generating Web Service from BAPI function, It does not success only this attached function.
    I have done so many function without any problems.
    I found 1 case that I use specific variable to be an import/ export then, it can't create as well.
    As for this one, I try so many changes but I can't success it as well.
    This is my function on R/3 4.6C, Dot net connector 2.0, Dot net Frame Work 1.1.
    FUNCTION Z_BAPI_ATTACHMENT_CREATE.
    ""Local interface: Type: Remote-enabled module
    *"  IMPORTING
    *"     VALUE(P_BOTYPE) LIKE  BORIDENT-OBJTYPE
    *"     VALUE(P_BO_ID) LIKE  BORIDENT-OBJKEY
    *"     VALUE(P_MSGTYP) LIKE  SOFM-DOCTP
    *"     VALUE(P_DOCTY) LIKE  BORIDENT-OBJTYPE
    *"     VALUE(P_RELTYP) LIKE  BRELTYP-RELTYPE
    *"     VALUE(P_FNAME) LIKE  RLGRAP-FILENAME
    *"     VALUE(P_OBJDES) TYPE  SO_OBJ_DES
    *"  EXPORTING
    *"     VALUE(RETURNMESSAGE) TYPE  CHAR50
    INCLUDE : <cntn01>.
    P_BOTYPE  TYPE  BORIDENT-OBJTYPE DEFAULT 'BUS2105'
    P_BO_ID   TYPE  BORIDENT-OBJKEY
    P_MSGTYPE TYPE  SOFM-DOCTP DEFAULT 'URL'
    P_DOCTY   TYPE  BORIDENT-OBJTYPE DEFAULT 'MESSAGE'
    P_RELTYP  TYPE  BRELTYP-RELTYPE DEFAULT 'ATTA'
    P_FNAME   TYPE  RLGRAP-FILENAME
    P_OBJDES  TYPE  SO_OBJ_DES
    TYPES: BEGIN OF ty_message_key,
    foltp TYPE so_fol_tp,
    folyr TYPE so_fol_yr,
    folno TYPE so_fol_no,
    doctp TYPE so_doc_tp,
    docyr TYPE so_doc_yr,
    docno TYPE so_doc_no,
    fortp TYPE so_for_tp,
    foryr TYPE so_for_yr,
    forno TYPE so_for_no,
    END OF ty_message_key.
    DATA : lv_message_key TYPE ty_message_key.
    DATA : lo_message TYPE swc_object.
    DATA : lt_doc_content TYPE STANDARD TABLE OF soli-line
    WITH HEADER LINE.
    First derive the Attachment's ( MESSAGE )document type.
    p_docty = 'MESSAGE'.
    CASE p_reltyp.
    In case of URls
      WHEN 'URL'.
        p_msgtyp = 'URL'.
    In case of Notes / Private Notes
      WHEN 'NOTE' OR 'PNOT'.
        p_msgtyp = 'RAW'.
      WHEN 'ATTA'.
    Take given parameter e.g. 'DOC', 'PDF' etc.
    P_MSGTYP = 'EXT'.
      WHEN OTHERS.
    ....exit
        EXIT.
    ENDCASE.
    Create an initial instance of BO 'MESSAGE' - to call the
    instance-independent method 'Create'.
    swc_create_object lo_message 'MESSAGE' lv_message_key.
    define container to pass the parameter values to the method call
    in next step.
    swc_container lt_message_container.
    Populate container with parameters for method
    swc_set_element lt_message_container 'DOCUMENTTITLE' p_objdes.
    swc_set_element lt_message_container 'DOCUMENTLANGU' 'E'.
    swc_set_element lt_message_container 'NO_DIALOG' 'X'.
    swc_set_element lt_message_container 'DOCUMENTNAME' p_docty.
    swc_set_element lt_message_container 'DOCUMENTTYPE' p_msgtyp.
    In case of URLs..it should be concatenated with &KEY& in the begining.
    CASE p_msgtyp.
      WHEN 'URL'.
      lt_doc_content = '&KEY&http://www.rmtiwari.com' .
        CONCATENATE '&KEY&' p_fname INTO lt_doc_content.
        APPEND lt_doc_content.
    In case of Notes or Private Notes, get the data from files on appl
    server or from wherever(? - remember background).
      WHEN 'RAW'.
        lt_doc_content = p_fname.
        APPEND lt_doc_content.
    In case of PC File attachments
      WHEN OTHERS.
        OPEN DATASET p_fname FOR INPUT IN BINARY MODE.
        IF sy-subrc EQ 0.
          DO.
            READ DATASET p_fname INTO lt_doc_content.           "2 of 27
            IF sy-subrc EQ 0.
              APPEND lt_doc_content.
            ELSE.
              EXIT.
            ENDIF.
          ENDDO.
          CLOSE DATASET p_fname.
        ENDIF.
    ENDCASE.
    'DocumentContent' is a multi-line element ( itab ).
    swc_set_table lt_message_container 'DocumentContent' lt_doc_content.
    Size is required in case of File attachments
    DATA : lv_doc_size TYPE i.
    DATA : l_file_lines TYPE i.
    DESCRIBE TABLE lt_doc_content LINES l_file_lines.
    READ TABLE lt_doc_content INDEX l_file_lines.
    lv_doc_size = ( 255 * ( l_file_lines - 1 ) ) +
    STRLEN( lt_doc_content ).
    swc_set_element lt_message_container 'DOCUMENTSIZE' lv_doc_size .
    Refresh to get the reference of create 'MESSAGE' object for attachment
    swc_refresh_object lo_message.
    swc_call_method lo_message 'CREATE' lt_message_container.
    Get Key of new object
    swc_get_object_key lo_message lv_message_key.
    Now we have attachment as a business object instance. We can now
    attach it to our main business object instance.
    Create main BO object_a
    data: LO_IS_OBJECT_A type SIBFLPORB. "type SIBFLPORB is unknown, so I
    DATA: lo_is_object_a TYPE borident.
    lo_is_object_a-objkey = p_bo_id.
    lo_is_object_a-objtype = p_botype.
    LO_IS_OBJECT_A-CATID = 'BO'.
    Create attachment BO object_b
    data: LO_IS_OBJECT_B type SIBFLPORB. "type SIBFLPORB is unknown
    DATA: lo_is_object_b TYPE borident.
    lo_is_object_b-objkey = lv_message_key.
    lo_is_object_b-objtype = p_docty.
    LO_IS_OBJECT_B-CATID = 'BO'.
    *TRY.
    *CALL METHOD CL_BINARY_RELATION=&gtCREATE_LINK
    EXPORTING
    IS_OBJECT_A = LO_IS_OBJECT_A
    IS_OBJECT_B = LO_IS_OBJECT_B
    IP_RELTYPE = P_RELTYP.
    CALL FUNCTION 'BINARY_RELATION_CREATE'
      EXPORTING
        obj_rolea    = lo_is_object_a
        obj_roleb    = lo_is_object_b
        relationtype = p_reltyp
      EXCEPTIONS
        OTHERS       = 1.
    Check if everything OK...who cares!!
    COMMIT WORK.
    if sy-subrc = 0.
      RETURNMESSAGE = 'S-Success'.
    else.
      RETURNMESSAGE = 'E-Error'.
    endif.
    ENDFUNCTION.
    Thanks in advance,
    Benjawan
    Edited by: Nitipat Chadchavalpanichaya on Oct 20, 2008 9:02 AM

    There is no any error message show up. It just the class
    Z_BAPI_ATTACHMENT_CREATE  doesn't create autometically as normal. I showed you as below.
    That means I can't call class z_bapi_attachment_create.
    ' <autogenerated>
    '     This code was generated by a SAP. NET Connector Proxy Generator Version 2.0
    '     Created at 21/10/2551
    '     Created from Windows
    '     Changes to this file may cause incorrect behavior and will be lost if
    '     the code is regenerated.
    ' </autogenerated>
    Imports System
    Imports System.Text
    Imports System.Collections
    Imports System.ComponentModel
    Imports System.Runtime.InteropServices
    Imports System.Xml.Serialization
    Imports System.Web.Services
    Imports System.Web.Services.Description
    Imports System.Web.Services.Protocols
    Imports SAP.Connector
      '@ <summary>
      '@ Client SAP proxy class
      '@ </summary>
      <WebServiceBinding(Name:="dummy.Binding", Namespace:="urn:sap-com:document:sap:rfc:functions")> _
      Public Class PRAttachment
        Inherits SAPClient
        '@ <summary>
        '@ Initializes a new PRAttachment.
        '@ </summary>
        Public Sub New()
        End Sub
        '@ <summary>
        '@ Initializes a new PRAttachment with a new connection based on the specified connection string.
        '@ </summary>
        '@ <param name="connectionString">A connection string (e.g. RFC or URL) specifying the system where the proxy should connect to.</param>
        Public Sub New(ByVal ConnectionString As String)
          MyBase.New(ConnectionString)
        End Sub
        '@ <summary>
        '@ Initializes a new PRAttachment and adds it to the given container.
        '@ This allows automated connection mananged by VS component designer:
        '@ If container is disposed, it will also dispose this SAPClient instance,
        '@ which will dispose a contained connection if needed.
        '@ </summary>
        '@ <param name="Cont">The container where the new SAPClient instance is to be added.</param>
        Public Sub New(ByVal Cont As Container)
          MyBase.New(Cont)
        End Sub
      End Class

  • Assemble Web Services from database functions and procedures?

    Web Service Assembler can assemble Web services from PL/SQL packages.
    Can it be used to assemble Web services directly from functions or procedures?
    Thanks,
    Jim

    Hi,
    No, it relies on a package and takes each of the publishable functions and procedures as the web serivce methods.
    Have you also tried using JDeveloper? It uses WSA under the covers but gives you a great GUI for selecting and working with your code
    rgds
    Susan

  • Urgent: Calling web service from PL/SQl fails with XML parsing

    Hi,
    I am trying to call a web service from PL/SQL (using SOAP protocol and UTL_HTTP built in Package).I am using Oracle 9i .I am calling from pl/sql block invoking web service method created in java.
    I am getting the below response object as a SOAP protocol, but i couldn't able to parse the SOAP.
    Could you please provide the values of FirstName, LastName and ErrorDescription
    declare
    request_env varchar2(32767);
    v_xml XMLTYPE;
    l_user_first_name varchar2(100);
    l_user_last_name varchar2(100);
    l_error_value varchar2(100);
    begin
    response_env:='<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Body>
    <UserInfoObjResponse xmlns:axis2ns1="http://www.test.com/services">
    <axis2ns1:FirstName >First Name Output</axis2ns1:FirstName>
    <axis2ns1:LastName>Last Name Output</axis2ns1:LastName>
    <axis2ns1:ErrorDescription />
    </UserInfoObjResponse>
    </soapenv:Body>
    </soapenv:Envelope>';
    dbms_output.put_line('Length of Request:' || length(response_env));
    dbms_output.put_line ('Request: ' || response_env);
    v_xml := XMLTYPE(response_env);
    -- SELECT EXTRACTVALUE(v_xml, '//UserInfoObjResponse/FirstName') INTO l_user_fast_name varchar2(100); FROM DUAL;
    dbms_output.put_line ('l_user_first_name: ' || l_user_first_name);
    dbms_output.put_line ('l_user_last_name : ' || l_user_last_name);
    dbms_output.put_line ('l_error_value: ' || l_error_value);
    end;

    In Oracle 9i:
    SQL> declare
      2    response_env varchar2(32767);
      3    v_xml XMLTYPE;
      4    l_user_first_name varchar2(100);
      5    l_user_last_name varchar2(100);
      6    l_error_value varchar2(100);
      7  begin
      8    response_env:='<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
      9                     <soapenv:Body>
    10                       <UserInfoObjResponse xmlns:axis2ns1="http://www.test.com/services">
    11                         <axis2ns1:FirstName >First Name Output</axis2ns1:FirstName>
    12                         <axis2ns1:LastName>Last Name Output</axis2ns1:LastName>
    13                         <axis2ns1:ErrorDescription />
    14                       </UserInfoObjResponse>
    15                     </soapenv:Body>
    16                   </soapenv:Envelope>';
    17
    18    dbms_output.put_line('Length of Request:' || length(response_env));
    19  --  dbms_output.put_line ('Request: ' || response_env);
    20
    21    v_xml := XMLTYPE(response_env);
    22
    23    select EXTRACTVALUE(v_xml,'/*:Envelope/*:Body/*:UserInfoObjResponse/*:FirstName/text()') first_name,
    24           EXTRACTVALUE(v_xml,'/*:Envelope/*:Body/*:UserInfoObjResponse/*:LastName/text()') last_name,
    25           EXTRACTVALUE(v_xml,'/*:Envelope/*:Body/*:UserInfoObjResponse/*:ErrorDescription/text()') error_description
    26      into l_user_first_name, l_user_last_name, l_error_value
    27      from dual;
    28
    29    dbms_output.put_line ('l_user_first_name: ' || l_user_first_name);
    30    dbms_output.put_line ('l_user_last_name : ' || l_user_last_name);
    31    dbms_output.put_line ('l_error_value: ' || l_error_value);
    32  end;
    33  /
    Length of Request:530
    l_user_first_name: First Name Output
    l_user_last_name : Last Name Output
    l_error_value:
    PL/SQL procedure successfully completed.In Oracle 10g:
    SQL> declare
      2    response_env varchar2(32767);
      3    v_xml XMLTYPE;
      4    l_user_first_name varchar2(100);
      5    l_user_last_name varchar2(100);
      6    l_error_value varchar2(100);
      7  begin
      8    response_env:='<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
      9                     <soapenv:Body>
    10                       <UserInfoObjResponse xmlns:axis2ns1="http://www.test.com/services">
    11                         <axis2ns1:FirstName >First Name Output</axis2ns1:FirstName>
    12                         <axis2ns1:LastName>Last Name Output</axis2ns1:LastName>
    13                         <axis2ns1:ErrorDescription />
    14                       </UserInfoObjResponse>
    15                     </soapenv:Body>
    16                   </soapenv:Envelope>';
    17
    18    dbms_output.put_line('Length of Request:' || length(response_env));
    19  --  dbms_output.put_line ('Request: ' || response_env);
    20
    21    v_xml := XMLTYPE(response_env);
    22
    23    select r.*
    24      into l_user_first_name, l_user_last_name, l_error_value
    25    from XMLTABLE('/' PASSING v_xml
    26                  COLUMNS
    27                  first_name varchar2(30) PATH '/*:Envelope/*:Body/*:UserInfoObjResponse/*:FirstName/text()',
    28                  last_name varchar2(30) PATH '/*:Envelope/*:Body/*:UserInfoObjResponse/*:LastName/text()',
    29                  error_description varchar2(30) PATH '/*:Envelope/*:Body/*:UserInfoObjResponse/*:ErrorDescrition/text()'
    30                  ) r;
    31
    32    dbms_output.put_line ('l_user_first_name: ' || l_user_first_name);
    33    dbms_output.put_line ('l_user_last_name : ' || l_user_last_name);
    34    dbms_output.put_line ('l_error_value: ' || l_error_value);
    35  end;
    36  /
    Length of Request:530
    l_user_first_name: First Name Output
    l_user_last_name : Last Name Output
    l_error_value:
    PL/SQL procedure successfully completed.Max
    http://oracleitalia.wordpress.com
    Edited by: Massimo Ruocchio on Feb 14, 2010 11:55 PM
    Added the first one.

  • Error while calling a web service from BCM to CRM

    Dear Experts,
    I'm calling a CRM web service from BCM via Custom IVR. The web service works fine when run using SOAPUI. But when called from BCM, there is an error in the CEM logs as mentioned below:
    11:16:51.515 (11224              ) ERR> Connection/0C3D6220 [0.0.0.0:0->172.16.213.11:8000]: SoapClient::Invoke3 - Unknown operation ZCRMU_CUST_AUTHO_ONCALL
    11:16:51.515 (11224              ) ERR> [EXC] : IvrApplication.callSoapMethod (CALL_ID=48B73B3988FDD541BD0722E4D6512E26): Exception
    11:16:51.516 (11224              ) ERR> <type 'exceptions.RuntimeError'> : SoapClient::Invoke3 - Unknown operation ZCRMU_CUST_AUTHO_ONCALL
    11:16:51.518 (11224              ) ERR> File: .\IvrApplication.py (1728)  Func: callSoapMethod          <None>
    11:16:51.518 (11224              ) ERR> File: .\soaplib.py    (  25)  Func: __call__                <None>
    11:16:51.518 (11224              ) ERR> File: .\soaplib.py    (  40)  Func: __request                <None>
    11:16:51.518 (11224              ) DBG> Connection/0C3D6220 [0.0.0.0:0->172.16.213.11:8000]: TcpConnection::OnDisposed
    11:16:51.518 (11224              ) DBG> Connection/0C3D6220 [0.0.0.0:0->172.16.213.11:8000]: Disposed while still connection open
    11:16:51.518 (11224              ) DBG> Connection/0C3D6220 [0.0.0.0:0->172.16.213.11:8000]: Close
    11:16:51.518 (11224              ) DBG> Connection/0C3D6220 [0.0.0.0:0->172.16.213.11:8000]: CloseMySocket - closed
    11:16:51.518 (08220/IpcWorker    ) DBG> ThreadPool[00558068]: WorkerThread GetQueuedCompletionStatus result=0 poverlapped=09E21C6C key=0C3D6220 bytes=0
    11:16:51.518 (08220/IpcWorker    ) DBG> ThreadPool[00558068]: IIoCompletion pending=1
    11:16:51.518 (08220/IpcWorker    ) DBG> Connection/0C3D6220 [0.0.0.0:0->172.16.213.11:8000]: OnIoCompletion 09E21C6C result=0 bytes=0
    11:16:51.518 (08220/IpcWorker    ) DBG> (0C3D6294) LastError::WinError TcpConnection::OnIoCompletion - 10038 (0x2736) An operation was attempted on something that is not a socket.
    11:16:51.518 (08220/IpcWorker    ) DBG> Connection/0C3D6220 [0.0.0.0:0->172.16.213.11:8000]: OnIoCompletion 09E21C68 receive
    It seems that through the IVR the web service is not even reached. I discovered this by inserting an external break point in the CRM Function Module which is called by the web service.
    Can anybody help me in resolving this error? I'm working on BCM 7 SP 6.
    Thanks in Advance.
    Regards,
    Swapna

    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.

  • Error while trying to call external  web service from oracle PL/SQL 10.2 g

    Hi I am trying to call an external web service from oracle PL/SQL .I am getting following run time error when I try to set the opeartion style.
    But as per the oracle documentation this is one of the 2 valid values.
    ORA-29532: Java call terminated by uncaught Java exception: operation style: "document" not supported.Teh webservice does expect the operation style as document.
    Following is the code I am executing.
    FUNCTION email
    return varchar2
    AS
    service_ SYS.utl_dbws.SERVICE;
    call_ SYS.utl_dbws.CALL;
    service_qname SYS.utl_dbws.QNAME;
    port_qname SYS.utl_dbws.QNAME;
    operation_qname SYS.utl_dbws.QNAME;
    string_type_qname SYS.utl_dbws.QNAME;
    retx ANYDATA;
    retx_string VARCHAR2(1000);
    retx_double number;
    retx_len number;
    params SYS.utl_dbws.ANYDATA_LIST;
    l_input_params SYS.utl_dbws.anydata_list;
    l_result ANYDATA;
    l_namespace VARCHAR2(1000);
    begin
    -- open internet explorer and navigate to http://webservices.imacination.com/distance/Distance.jws?wsdl
    -- search for 'targetNamespace' in the wsdl
    l_namespace := 'http://service.xmlservices.global.freedomgroup.com/';
    -- search for 'service name' in the wsdl
    service_qname := SYS.utl_dbws.to_qname(l_namespace, 'ClientCoreWebServiceBeanService');
    -- this is just the actual wsdl url
    service_ := SYS.utl_dbws.create_service(HTTPURITYPE('http://hostname/GlobalWebServices/services/ClientCoreWebService?wsdl'), service_qname);
    -- search for 'portType name' in the wsdl
    port_qname := SYS.utl_dbws.to_qname(l_namespace, 'ClientCoreWebServiceBeanPort');
    -- search for 'operation name' in the wsdl
    -- there will be a lot, we will choose 'getCity'
    operation_qname := SYS.utl_dbws.to_qname(l_namespace, 'postalCodelookup');
    -- bind things together
    call_ := SYS.utl_dbws.create_call(service_, port_qname, operation_qname);
    -- default is 'FALSE', so we make it 'TRUE'
    SYS.utl_dbws.set_property(call_, 'SOAPACTION_USE', 'TRUE');
    -- search for 'operation soapAction' under <wsdl:operation name="getCity">
    -- it is blank, so we make it ''
    SYS.utl_dbws.set_property(call_, 'SOAPACTION_URI', '');
    -- search for 'encodingstyle' under <wsdl:operation name="getCity">
    SYS.utl_dbws.set_property(call_, 'ENCODINGSTYLE_URI', 'http://schemas.xmlsoap.org/soap/encoding/');
    -- search for 'binding style'
    SYS.utl_dbws.set_property(call_, 'OPERATION_STYLE', 'DOCUMENT');
    -- search for 'xmlns:xs' to know the value of the first parameter
    -- under <wsdl:message name="getCityResponse"> you will see the line <wsdl:part name="getCityReturn" type="xsd:string" />
    -- thus the return type is 'string", removing 'xsd:'
    string_type_qname := SYS.utl_dbws.to_qname('http://www.w3.org/2001/XMLSchema', 'string');
    -- in the line <wsdl:operation name="getCity" parameterOrder="zip">
    -- the parameterOrder is 'zip', thus we put in 'zip'
    -- the 'ParameterMode.IN' is used to specify that we will be passing an "In Parameter" to the web service
    -- the 'ParameterMode.IN' is a constant variable in the sys.utl_dbws package
    --vj this cud be either params or xml
    SYS.utl_dbws.add_parameter(call_, 'param1', string_type_qname, 'ParameterMode.IN');
    SYS.utl_dbws.add_parameter(call_, 'param2', string_type_qname, 'ParameterMode.IN');
    SYS.utl_dbws.set_return_type(call_, string_type_qname);
    -- supply the In Parameter for the web service
    params(0) := ANYDATA.convertvarchar('<TFGGlobalBasicXMLDO><systemCd>GLOBAL</systemCd><username>GlobalAdmin</username><password>GlobalAdmin</password><localID>1</localID></TFGGlobalBasicXMLDO>');
    params(1) := ANYDATA.convertvarchar('<TFGGlobalPostalCodeLookupIDDO><postalCode>02446</postalCode><countryCode>USA</countryCode><stateCode>MA</stateCode><cityDisplay>BROOKLINE</cityDisplay><countyDisplay>NORFOLK</countyDisplay><include_inactive_flag>True</include_inactive_flag></TFGGlobalPostalCodeLookupIDDO>');
    -- invoke the web service
    retx := SYS.utl_dbws.invoke(call_, params);
    dbms_output.put_line(retx.gettypename);
    -- access the returned value and output it to the screen
    retx_string := retx.accessvarchar2;
    dbms_output.put_line('done' || retx_string);
    dbms_output.put_line('PL/SQL DII client return ===> ' || retx_string);
    -- release the web service call
    SYS.utl_dbws.release_service(service_);
    return retx_string;
    end email;

    thsi is urgent anybody ????

  • How to create webservice from function module

    Hello,
    I'm trying to create webservice from function module from. I choose Utilities/More Utilities/Create Webservice/..From function Module. What data should I enter in section "Enter Package/Request" ?
    When I check "Local object" checkbox I get a message "Test objects cannot be created in foreign namespaces"
    Is there any doc about this procedure (web service creation) with description of all sections ?
    thanks for any reply,
    Lukasz Ferenc

    Hi,
    Which SAP product of wich release of which SP are you using ?
    The procedure is documented in help.sap.com and in blogs and SDN forum messages.
    It means that the use of the SEARCH button should give plenty of answers...
    >When I check "Local object" checkbox I get a message "Test objects cannot be created in foreign >namespaces"
    As usual, begin your choosen name with an "Z".
    Regards,
    Olivier

Maybe you are looking for

  • Use the same code module for several steps in the sequence

    Hello All,   I have been trying to set up a sequence that uses the same code module for all of the steps in the sequence, but am having trouble referring back to it when I need to send it commands.  I have gotten as far as calling the VI in a new thr

  • Struts.  Using bean:write to access actionForm parameters

    While I am not new to web applications, I am fairly new to Struts. What I am trying to accomplish is to have a read only view of a maintenance form. Instead of using html:input fields to display the values in a form bean, I want to use the bean:write

  • OIDDAS page not found - URGENT PLS HELP

    Hi, Let me start with explaning my environment. I have two server Server A and Server B Server A is sitting on DMZ zone and i have installed 10g AS , only J2EE and Webcache Server B is in intranet behind the firewall and i have installed 10g AS , inf

  • Ask for a problem with C3850

    I think C3850 Switch in my customer site seems to have some problems.. The major symptoms are following as : - I can see some physical interfaces on the configuration as following.   interface GigabitEthernet1/0/1  no switchport  no ip address  speed

  • Aperture does not show tick box for shared photo stream as promised on the help screen

    I try to configure Aperture for iCloud shared Photo Stream. According to the help screen, I should select Preferences and see a panel with 4 tickboxes. The first three relate to My Photostream and work fine on all my devices. The crucial fourth tick