Calling multiple webservices depend on the condition

Hi friends,
i need a solution for my ccbpm flow.
we are getting request from Webservice1 , and it is going to Webservice2. Here it will check the conditon in webservice2.
if the conditon is true from there it will go to Webservice3.
Unless Webservice2 will send a message to Webservice1.
we are using CCBPM flow for this.
for this i taught like if-else conditon.
but i do't know how to use this condition.
could any one provide solution for this.
are if there is any other way to do this in CCBPM .
note: i need it in CCBPM only.
please help me on this.

Firstly, you dont need ABAP proxy any more for a scenario which involves commmunication only between WS and BPM (i should say PI).
in the above given flow can I take at first receiver mode u201CS/A Bridgeu201D because need to send response to the first webservice1.
And could you tell if I used this S/A bridge , where can I close this S/A bridge.
Sync-Async bridge should be used only if you want to send response to WS1 in any case i.e. response should always be sent to WS1 irrespective of any condition.
The send step in which you are sending the response to WS1 will close the S/A bridge.
From webservice3 the response need to go to webservice1.
So can I take here the step like SyncSend(WS3Req_To_Ws1Res).
When WS3Rep needs to be send to WS1 then you need not include it as a SYNCSend...it should be an ASYNCSend..... SYNCSend should be used only if WS1 is again going to send you some details back
Question 3:
How to replace ABAP Proxies in my Entire flow.
Case1-->
You need not worry about proxies anymore.....now you will be importing WSDL into External Definitions in Integration repository and using the same to build Message Mapping and Message Interface.
You will get these wsdl files from the webservice applications with whom BPM (PI) will be talking.
Case2 -->
In your case firstly WS1 will send you a request....so now you need to provide them with the wsdl generated in PI....so that they can establish the communication.
How to create the wsdl file?...check it here: /people/siva.maranani/blog/2005/09/03/invoke-webservices-using-sapxi
Just refer till Pt.2 of Testing section
All the sender/ receiver protocol in your case will be SOAP.....i.e. only SOAP sender/ receiver channels needs to be created
No channel is to be ccreated when BPM is the sender/ receiver
Regards,
Abhishek.

Similar Messages

  • Is it possible to call a webservice with just the url to its WSDL

    hi all
    can anyone tell me if it is possible to call a webservice with just the url to its WSDL file. must we create the proxy class for webservice client? thanks

    if you are in the context of a J2EE 1.4 container, you do not need to generate any stub, you can use either a dynamic proxy mechanism or dynamic invocation.
    check JWSDP tutorial.

  • Hiding text depending on the condition

    Hi All,
    I am new to reports, I want to know how can I hide and show text information depending on the condition....
    Thanks,
    Pavan.

    Then, u should kindly mention it pls to help others and state the version of reports u r using..!
    Regards,
    Abdetu..

  • Call multiple Webservices

    We have a report to be built using webservices,
    I got the key columns in the report using webservice_1, few of the columns to be derived using webserive_2 like by passing lookupcode to get the description.
    now my question how to invoke webserivece_2 for each record?
    Any clue.

    This is a prime use case for BPEL, as integrating multiple web services is exactly what it's meant to do. You could then call the new BPEL-based web service from APEX.
    Tyler

  • Generating number depending on the condition

    Dear All,
    I have table with following structure.
    formno          number(5)
    name          Varchar2(100)
    centreno     number(2)
    rollno          Varchar2(10)
    I want to generate rollno depending on the following condition.
    1. Roll number should be generated based on the centreno
    2. Roll number should be generated based on the alphabets but not in a sqeuence.
    For eg.
    my data is like
    form no     name     centreno     rollno
    200           A1      01           1
    206           A2      01           4          
    502           A3      02           6
    234           A4      03           10
    400           B1      01           2               
    501           B2      02           7
    788           C1      01 3
    100           C2 02           8
    343           C3      01           5
    130           C4      02           9
    232           C5      03           11
    i.e. first I need to sort names alphabetically by centreno. But then I need generate number in a sequence that first A, B, C...Z will be generated. Then it starts again from A, B, C...Z for that centre. Then it will run same process for other centres.
    Any ideas how to do this?
    Regards
    Trusha
    Edited by: trusha on Oct 10, 2008 3:53 PM

    Something like .. (for given sample data)
    SQL> select * from test;
            C1 C2 C3
           200 A1 01
           206 A2 01
           502 A3 02
           234 A4 03
           400 B1 01
           501 B2 02
           788 C1 01
           100 C2 02
           343 C3 01
           130 C4 02
           232 C5 03
    11 rows selected.
    SQL> select c1,c2,c3,
      2    row_number() over(order by c3,rn,c2) regno
      3  from(
      4  select c1,c2,c3,
      5   row_number() over(partition by c3,substr(c2,1,1) order by c2) rn
      6  from test)
      7  order by c2;
            C1 C2 C3      REGNO
           200 A1 01          1
           206 A2 01          4
           502 A3 02          6
           234 A4 03         10
           400 B1 01          2
           501 B2 02          7
           788 C1 01          3
           100 C2 02          8
           343 C3 01          5
           130 C4 02          9
           232 C5 03         11
    11 rows selected.
    Edited by: jeneesh on Oct 10, 2008 4:51 PM
    corrected                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • To hide a button in a column field depending on the condition in ALV

    Hai,
    I have a column in ALV with buttons.I need to make that button Visible or invisible based on a condition.
    i have fiels with value x and blank.
    if the value is x i need to make the button visible and viceversa.
    Cheers,
    Madhu.

    Hi,
    I assume when you say that you have a field with value X or blank that you have a internal table with one of the field as mentioned above and also a context node with
    the same structure of the internal table so that you bind the internal table to the node
    and display the same in ALV.
    If my assumptions are right you must proceed as follows.
    1.Create an internal table with the same structure that u had passed for ALV.Add one more column to that table with type wdui_visibility.
    2.Create one more node with the structure of the internal table created above.
    3.Move the coresssponding data from your old internal table to the new internal table.
    4.For the new column of type wdui_visibility fill values by comparing the field with value X or blank.ie. IF value = X wdui_visibility_column-value = '02' .
                        IF value = blank wdui_visibility_column-value = '01' .
    5.Save the changes in the new internal table.
    6.Bind the new internal table to the new node.
    7.Use the new node to display data in ALV.
    8.Create an attribute "alv_table" of type "CL_SALV_WD_CONFIG_TABLE" in the view.
    9.In the wd_init method add the following codes.
    * create an instance of ALV component
      DATA:
        lr_salv_wd_table_usage TYPE REF TO if_wd_component_usage.
    * get ALV component
      DATA:
        lr_salv_wd_table TYPE REF TO iwci_salv_wd_table.
    * set cell editor for input fields (~make colum Wt editable)
      DATA: lr_column_settings TYPE REF TO if_salv_wd_column_settings,
            lr_column type ref to CL_SALV_WD_COLUMN,
            lr_column_hdr type ref to CL_SALV_WD_COLUMN_HEADER,
            lr_button_1 TYPE REF TO cl_salv_wd_uie_button.
      lr_salv_wd_table_usage = wd_this->wd_cpuse_<Alv component usage name>( ).
      IF lr_salv_wd_table_usage->has_active_component( ) IS INITIAL.
        lr_salv_wd_table_usage->create_component( ).
      ENDIF.
      lr_salv_wd_table = wd_this->wd_cpifc_<Alv component usage name>( ).
      wd_this->alv_table = lr_salv_wd_table->get_model( ).
    lr_column_settings ?= wd_this->alv_table.
    lr_column = lr_column_settings->get_column( '<column name which you want to show
                      as button>' ).
    CREATE OBJECT lr_button_1.
      lr_button_1->set_text( '<some releavnt text>' ).
      lr_button_1->SET_VISIBLE_FIELDNAME('<new column name of type
                         wdui_visibility>').
      lr_column->set_cell_editor( lr_button_1). 
    Hope this helps.
    Thanks,
    G.Jayaprakash

  • Trying to call a Webservice - "Settings for the J2EE Server do not exist."

    Hi, we're on SAP ECC 6.0 and I'm trying to get access to a webservice:
    BAPI converted to Webservice ok
    Webservice activated ok
    http active ok
    WSADMIN - click on the WSDL button - browser launches, user id requested, userid given, WSDL displays perfect! Even tested from the outside.
    WSADMIN - click on the Web service homepage - Settings for WDSL generation (RPC or Document style, same result) - Error - "Settings for the J2EE Server do not exist."
    Internet browesr - I go to the URL for the WSDL - works again perfect!
    Internet browesr - I go to the URL  - error ! <faultstring xml:lang="en">SOAP processing failure, error id = 112 </faultstring>
    Are the two errors the same?
    Do I have to have a J2EE server to enable Webservices?
    Is this a complex system change?
    Is there a workaround?
    Thanks for any tips on getting Webservice to function
    Philip

    hi,
    when the WAS ABAP has a webserver running and the WSDL service up and running (WSDLs are created dynamically) you get the WSDL served from WAS ABAP.
    "Webservice homepage" is an application written in Java and running on WAS Java., So, if you want to use that application you have to have a WAS JAVA up and running, you have to have the application 'Webservice homepage' up and running and of course on WAS ABAP you have to have the URL of the WAS JAVA specified to enable the WSADMIN function to link you to the Java app.
    Most probably you do not even have a WAS Java running and/or the application 'webservice homepage" not set up. Either way, in my opinion the application "webservice homepage" is crap anyway (because it is not really independent. if SAP implements something strangely on the server side they of course implement it the same way on the client/testing side, so you never find out that in real world scenarios e.g. no client understands the feature X the way SAP implemented it). use any non-SAP-tool to test your SAP webservices, e.g. XML Spy, or SOAPUI.
    my 2 cents,
    anton

  • Generating a list depending on the condition of checkboxes

    I have a table with a list of items with a checkbox next to each of them. On a second table I'd like items from the first table to appear if they are checked off. Below is an screenshot of the result I'd like.
    I apologize if this question has already been answered, I spent an hour looking and couldn't find an answer. I suspect it has something to do with VLOOKUP but I can't figure it out for the life of me.

    noafe wrote:
    I have a table with a list of items with a checkbox next to each of them. On a second table I'd like items from the first table to appear if they are checked off. Below is an screenshot of the result I'd like.
    What you're looking for is a 'breakout table'.
    See my post at the end of this discussion from last September.
    A search of this forum for 'breakout' over the last year will bring up other examples.
    Regards,
    Barry

  • On Execute operation, the bean getter is being called multiple times

    Hi,
    I have a JCR data control, i am trying to write a method that returns predicate, but this method is being called multiple times, when executing the advanced search operation.
      public List<Predicate> getPredicates() {
      ArrayList<Predicate> predicates = new ArrayList<Predicate>();
       // predicates.add(new Predicate("jcr:content/idc:metadata/idc:xScope",Operator.EQUALS,"GLOBAL"));
      DCBindingContainer bc=(DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry();
      JUCtrlListBinding attrBinding=(JUCtrlListBinding)  bc.findCtrlBinding("StateId");
      Object stateId= attrBinding.getSelectedValue();
      if(stateId instanceof Row){
      predicates.add(new Predicate("jcr:content/idc:metadata/idc:xState"
      , Operator.EQUALS
      ,((Row)stateId).getAttribute("StateId").toString()));
      attrBinding=(JUCtrlListBinding)  bc.findCtrlBinding("DistrictId");
      Object districtId=attrBinding.getSelectedValue();
      if(districtId instanceof Row){
          predicates.add(new Predicate("jcr:content/idc:metadata/idc:xDistrict",Operator.EQUALS,((Row)districtId).getAttribute("DistrictId").toString()));
        attrBinding=(JUCtrlListBinding)  bc.findCtrlBinding("Scope");
        Object scopeId=attrBinding.getSelectedValue();
        if(scopeId instanceof Row){
            predicates.add(new Predicate("jcr:content/idc:metadata/idc:xScope",Operator.EQUALS,((Row)scopeId).getAttribute("ScopeType")));
        AttributeBinding tempAttrBinding=(AttributeBinding)bc.findCtrlBinding("CreatedDate");
        Object createdDate=tempAttrBinding.getInputValue();
        if(createdDate!=null){
            predicates.add(new Predicate("jcr:content/jcr:created",Operator.EQUALS,createdDate.toString()));
        if (predicates.size()>0){
          return predicates;
      return Collections.emptyList();
      } The problem is while it's being called multiple times different list's are being returned which is causing the method not to work . The bean is in pageFlowScope .

    That is bc ADF life cicle... Is always executing 2 times...

  • Calling a webservice from within Bex Web Application Designer

    Hi
    I have a web-template built with BEx web application designer which also contains textboxes. This text should be stored by calling a webservice (standard BI-documents are not an option).
    Can anyone tell me how I could call a webservice from within the BEx web template to store the text contained in the textbox? The webservice-call should include some of the filter-varialbes of the web application.
    Is this only possible by the use of a JavaScript WebItem? If so - does anyone have an example of such a JavaScript.
    Thanks a lot in advance.
    Kind regards.
    Christoph

    Thanks for your response. The BSP page would work out fine if I only needed to save the data.
    But the next time I call the webtemplate, the textarea should be filled by another webservice call with the stored text (so the text can be modified und saved again). This will not be possible by calling a BSP page.
    Do yoiu have any suggestions how to integrate the text (return value from the webservice call) into the textbox in the webtemplate?
    Kind regards.
    Christoph

  • How to receive a xml CDATA in string element when OSB calling a webservice?

    How to receive a xml CDATA in string element when OSB calling a webservice?
    I have a business service (biz) that route to operation of a webservice.
    A example of response to this webservice legacy:
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:eg="example">
    <soapenv:Header/>
    <soapenv:Body>
    <ex:executeResponse>
    <ex:arg><![CDATA[<searchCustomerByDocumentNumberResponse>
    <name>John John</name>
    </searchCustomerByDocumentNumberResponse>]]></ex:arg>
    </ex:executeResponse>
    </soapenv:Body>
    </soapenv:Envelope>
    the type of ex:arg is a string.
    How to receive this CDATA structure to webservice in OSB?

    Similiar to the answer How to pass a xml CDATA in string element when OSB calling a webservice?
    Use the xquery function fn-bea:inlinedXML rather than fn-ben:serialize
    Steps to solve this problem:
    1. Create a XML Schema. E.g.:
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
    elementFormDefault="unqualified">
    <xs:complexType name="searchCustomerByDocumentNumberResponse">
    <xs:sequence>
    <xs:element name="name" minOccurs="0">
    <xs:annotation>
    <xs:documentation>
    </xs:documentation>
    </xs:annotation>
    <xs:simpleType>
    <xs:restriction base="xs:string" />
    </xs:simpleType>
    </xs:element>
    </xs:sequence>
    </xs:complexType>
    <xs:element name="searchCustomerByDocumentNumberResponse" type="searchCustomerByDocumentNumberResponse"></xs:element>
    </xs:schema>
    2. Create a XQuery to create a searchCustomerByDocumentNumber ComplexType. E.g.:
    3. Create a XQuery Transformation (XQ) to get the CDATA response to the webservice legacy. E.g.:
    declare namespace ns0 = "novosiaws";
    declare function xf:getReponse($searchCustomerByDocumentNumberResponse as element(ns0:searchCustomerByDocumentNumberResponse))
    as element(searchCustomerByDocumentNumberResponse) {
    fn-bea:inlinedXML($searchCustomerByDocumentNumberResponse/ns0:arg)
    For more information about xquery function:
    fn-bea:inlinedXML
    The fn-bea:inlinedXML() function parses textual XML and returns an instance of the XQuery 1.0 Data Model.
    The function has the following signature:
    fn-bea:inlinedXML($text as xs:string) as node()*
    where $text is the textual XML to parse.
    Examples:
    fn-bea:inlinedXML(“<e>text</e>”) returns element “e”.
    fn-bea:inlinedXML(“<?xml version=”1.0”><e>text</e>”) returns a document with root element “e”.
    Source: http://docs.oracle.com/cd/E13162_01/odsi/docs10gr3/xquery/extensions.html

  • In which table the condition records get stored in sap crm

    hi everybody any one can help me in this,
    In which table the condition records get stored in sap crm.
    Regards,
    Babu

    Hi Babu,
    The table name depends on the condition table you have chosen while adding a condition record. Like if it is SAP001, the database table will be CNCCRMPRSAP001.
    Regards,
    Shalini Chauhan
    Edited by: Shalini Chauhan on Jun 23, 2008 10:18 AM

  • Using Oracle Stored Procedure to call a webservice

    Hi,
    I am using this version of Oracle:
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    PL/SQL Release 11.2.0.1.0 - Production
    CORE     11.2.0.1.0     Production
    TNS for Linux: Version 11.2.0.1.0 - Production
    NLSRTL Version 11.2.0.1.0 - Production
    Requirement: I have to write a stored procedure that calls a webservice and get the result from webservice and show it on sqlplus.
    I have read some articles, and am confused as to where to start. I have come across UTL_DBWS and UTL_HTTP. But to use them, I have to set up my database accordingly allocating pool size etc.
    Is there an alternative?
    I am reading through a lot of stuff, but I am honestly not getting a hold of anything. Please advice, how I can go step by step.
    Thank you!!

    934451 wrote:
    Hi,
    I am using this version of Oracle:
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    PL/SQL Release 11.2.0.1.0 - Production
    CORE     11.2.0.1.0     Production
    TNS for Linux: Version 11.2.0.1.0 - Production
    NLSRTL Version 11.2.0.1.0 - Production
    Requirement: I have to write a stored procedure that calls a webservice and get the result from webservice and show it on sqlplus.
    I have read some articles, and am confused as to where to start. I have come across UTL_DBWS and UTL_HTTP. But to use them, I have to set up my database accordingly allocating pool size etc.
    Is there an alternative?
    I am reading through a lot of stuff, but I am honestly not getting a hold of anything. Please advice, how I can go step by step.
    Thank you!!don't use Oracle to complete any non-DB related task.
    while a shovel is a great tool for producing a hole in the ground,
    it is sub-optimal when the wrong end of the shovel is used to move the dirt.
    You are using the "wrong end" of Oracle.

  • How can I call multiple records(40) at same time as webservice ?

    Hi All
      My scenario is some thing like calling SOAP(Webservice) to Rfc(BAPI)
      Thing is how can i call multiple records at the same time using the SOAP
       adapter i.e i need to make a request to BAPI and in the BAPI response
       based on the fields, i need to send to different records....it is Sync call
    Can any explain me how to implement this scenario ?
    Regards
    Kiran lvs

    HI,
    Please see the below link
    http://help.sap.com/saphelp_nw04/helpdata/en/42/ed364cf8593eebe10000000a1553f7/content.htm
    Regards
    Chilla..

  • Problem Calling a WebService multiple times

    Hi Guys,
    I am a relatively new user of DS 12.2 doing a proof-of-concept to call an in-house WebService for a batch of customer records - lets say 1000.
    The WS has an input schema where it's parameters are within a nested table such that it can be called for many customers in a single call if desired. WS input schema (made-up example)=
    -WS
    --$REQUEST_SCHEMA **added by DS on import
    ---CustVerification
    src_nr
    src_state
    I have successfully been able to create a Data-Flow that builds the input-schema such that 1 WS call is made with a nested input of all 1000 customers. This works and the output from the single call is correct (many records relating to the many inputs etc). Input schema =
    - <CustVerification>
    - <Details>
    <src_nr>1234<src_nr />
    <src_state>KY</src_state>
    </Details>
    - <Details>
    <src_nr>1234<src_nr />
    <src_state>KY</src_state>
    </Details>
    - <Details>
    <src_nr>1234<src_nr />
    <src_state>KY</src_state>
    </Details>
    </CustVerification>
    Now the problem - I am wanting to do this flow so that it calls the WS once PER customer i.e. 1 entry in many of the nested CustVerification structures.
    I have, again, been able to produce the correct XML schema (at least it looks correct) which repeats the Input Schema for each customer record. HOWEVER, when hooking this up to the function call of the WS as before, I either get only 1 single call like before with the last entry in the file run through it..... or, after playing with the query's input schema to add an extra root level and changing FROM clauses to map to the function call schema I then get a huge ACCESS_VIOLATION dump which mentions "LoadDFXML::put_string()+2427 byte(s)" and other such XML-related but non-helpful messages.
    New input schema is:
    - <CustVerification>
    - <Details>
    <src_nr>1234<src_nr />
    <src_state>KY</src_state>
    </Details>
    </CustVerification>
    - <CustVerification>
    - <Details>
    <src_nr>1234<src_nr />
    <src_state>KY</src_state>
    </Details>
    </CustVerification>
    - <CustVerification>
    - <Details>
    <src_nr>1234<src_nr />
    <src_state>KY</src_state>
    </Details>
    </CustVerification>
    So.... am I missing something simple in how I call a WS multiple times as opposed to once with multiple inputs? Could this be a setting/property somewhere? IS this linked with how I do a QueryTransform in a certain way to get the function called the right number of times? Anything else??
    Thanks for any advice/help.
    Flip.

    Thanks for the responses guys.... I actually got past the error with a change to the NRDM structure (as mentioned in the first reply, I think a small problem here really changes things).
    So - what I had to do to get this working properly was to add a new 'dummy' level into the structure - this kept it clean to denote that the 1 large bulk of messages were going to be sent through the WS many times. So - structure looks like this:
    Input_Query:
    - <ROOT>
    - <CustVerification>
    - <Details>
    <src_nr>1234<src_nr />
    <src_state>KY</src_state>
    </Details>
    </CustVerification>
    - <CustVerification>
    - <Details>
    <src_nr>1234<src_nr />
    <src_state>KY</src_state>
    </Details>
    </CustVerification>
    - <CustVerification>
    - <Details>
    <src_nr>1234<src_nr />
    <src_state>KY</src_state>
    </Details>
    </CustVerification>
    </ROOT>
    Then, in the Output schema for the function call, I had to create a dummy extra schema level also - say 'WS_Call', and put the function call within this structure. The FROM mapping has to be set so that both the input_query level AND the input_query.root level are mapped to the WS_Call schema.
    And then it works!
    Summary -- its a bugger.... but playing with the structure levels (and adding your own at times) and FROM clauses can work!
    Cheers,
    Flip.

Maybe you are looking for

  • Use DSAdd Group for adding several groups at the same time

    Good Afternoon!, As is written in my book: "By leaving the DN parameter empty, at which point you can type the DNs one at a time at the keyboard console of the command prompt. Press Enter after each DN. After the last DN, press Ctrl+Z, and then press

  • PS CS6: cropping in portrait modus?

    Hi, see my screeenshot in Adobe CS6, Photoshop -- cropping an area in portrait size 2x3 and NOT landscape 3:2. Why ignores PS this setting and shows me first a landscape area in 3:2 instead of the chosen portrait area in 2:3? Yes, I can rotate the se

  • Boris Title Crawl

    Hi all, did some looking around and couldn't find anything this specific. I am able to get the "Text window" when using the Boris Title 3D. But when I go to use the Boris Title Crawl and click on the "banner" for the Text window, nothing happens. I d

  • BAPI FM FOR READING EMAIL AND GIVING PARTNER INFO

    Hello All, As I am new to SAP, As per my requirement, I need to check my partner through email. User will give email and then I should get related partner details, here I cannot use  table. So i need FM for fetching partner by giving email and (  tex

  • HT2490 Is there a way to change the USPS Trcking information (Track Shipment) to track with Canada Post?

    When I order something online, they send a tracking number in an email. When I hover over the number, it offers to track the package for me and opens up in USPS. I am Canadian, and would like to use this option, but with Canada Post. When I click it