Base data block on a web service

Hy,
I need to integrate an oracle forms application with data provided from other applications (via web services), like countries, cities, users ecc.
there is a way to base a data block (in forms web 6/10 with Java Importer) on a data returned from a web service?
Can i base block on a PL/SQL variable, returned from java, that contains data from web service?
Thanks at all.
Davide

here is a snippet:
PROCEDURE BT_Poll IS
|| Name      : BT_Poll
||
|| Aufgabe   : Hier werden Bücher bestellt
||
|| Autor     : 05.03.2006, VOL
|| Updates   :
  R_App  SPU_Type.T_App := Init_App ('BT_Poll');
  v_list             ORA_JAVA.JARRAY;
  R_String           Const_lokal.T_CSV_Datensatz;
  E_kein_Webservice  EXCEPTION;
  PRAGMA EXCEPTION_INIT (E_kein_Webservice, -105100);
  v_Akt_Record       NUMBER;
BEGIN
  Go_block ('Workitems');
  v_Akt_Record := Akt.Record;
  Clear_Block;
-- user, pw, server
  v_list := BpelWorkflowClient.getAllWorkItems (
    a0    => Const_lokal.usr_Buchbesteller,
    a1    => Const_lokal.pwd_Buchbesteller,
    a2    => Const_lokal.srv_Default);
--  v_list_laenge := ORA_JAVA.get_array_length (v_list);
  :PARAMETER.PA_ANZ_POLLS := ORA_JAVA.get_array_length (v_list);
  FOR i in 0 .. :PARAMETER.PA_ANZ_POLLS - 1
  LOOP
    :WORKITEMS.ALL := ORA_JAVA.get_String_array_element (v_list, i);
    Get_CSV_Daten (:WORKITEMS.ALL, ';', R_String);
    :WORKITEMS.Task_Titel     := R_String.Wert_01;
    :WORKITEMS.Task_ID        := R_String.Wert_02;
    :WORKITEMS.ISBN           := R_String.Wert_03;
    :WORKITEMS.Buch_Titel     := R_String.Wert_04;
    :WORKITEMS.Autoren        := R_String.Wert_05;
    :WORKITEMS.Preis          := R_String.Wert_06;
    :WORKITEMS.Bestellername  := R_String.Wert_07;
    create_record;
  END LOOP;
  Go_Record (v_Akt_Record);
  IF :PARAMETER.PA_ANZ_POLLS = 0 THEN
    go_block ('BUECHER');
  END IF;
EXCEPTION
  WHEN E_kein_Webservice THEN
  WHEN OTHERS THEN
END;
  FUNCTION getAllWorkItems(
    a0    VARCHAR2,
    a1    VARCHAR2,
    a2    VARCHAR2) RETURN ORA_JAVA.JARRAY IS
  BEGIN
    args := JNI.CREATE_ARG_LIST(3);
    JNI.ADD_STRING_ARG(args, a0);
    JNI.ADD_STRING_ARG(args, a1);
    JNI.ADD_STRING_ARG(args, a2);
    RETURN JNI.CALL_OBJECT_METHOD(TRUE, NULL, 'de/opitzconsulting/bpel/wf/client/BpelWorkflowClient', 'getAllWorkItems', '(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;', args);
  END;
[/pre]
the getAllWorkItems is a generated Package which wraps the workflow-webservice-method
try it
Gerd                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

Similar Messages

  • No data in generated document/web service data source/complex response type

    I can define a report with a template with the BI Publisher server and the Template Builder Desktop plugin. When I use an sql statement as data source the preview functionality in Word and in the browser (logged in to the server) results in a correct report, with the correct data from the data source.
    When I use a web service as a data source I can still generate and preview reports but no data from the data source is visible in the reports. However this data is available in the Template Builder plugin in MS-Word.
    How do I know this ? When I try to insert a field from the data source into my rtf template the plugin shows a screen with the available fields. Or actually, the screen shows all fields returned by a dummy call to the web service. When I click on a field it shows the value returned by the web service just after the test "Example". I have set up my web service such that it always returns the same response.
    The field I want to show is in a repeating record, but it does not make a difference when I surround it by a group:
    <?for-each-group:/getValidationGroupsResponse/body/validationGroupList/validationGroup[1];./name?><?name?><?end for-each-group?>
    Neither does looping over all fields display any data:
    <?for-each-group:/getValidationGroupsResponse/body/validationGroupList/validationGroup;./name?><?name?><?end for-each-group?>
    The fact that the response of my web service data source contains repeating records might be different from what others have tested so far.
    I also found two other features when defining reports. I mention them here because they could be related to my problem. When I define two data source for my report, a web service and an sql query then only the fields from the sql query are visible in MS-Word/Template Builder. Even when the Data Model specifies the web service as "Main Data Set". And the "Default data source" is always a database even when the Data Model only defines a web service as "Data Set".
    Edited by: CalculateOnline.org on May 21, 2010 2:36 PM: changed title

    Unfortunately I can not test against a public webservice and follow the examples in the tutorials, since BI Publisher does not seem to offer any proxy configuration to connect to the internet.
    My local webservice returns the following data, visible when viewing the report from the backend, when no template has been defined yet:
    <ns2:getValidationGroupsResponse xmlns:ns2="amsterdam/wabo/services/data/validationOperations" xmlns="amsterdam/wabo/services/data/common">
    <ns2:responseHeader>
    <resultaatcode>OK</resultaatcode>
    </ns2:responseHeader>
    <ns2:body>
    <ns2:validationGroupList>
    <ns2:validationGroup>
    <ns2:name>testgroep1</ns2:name>
    <ns2:caption>kop1</ns2:caption>
    <ns2:description>Voor testen ontvankelijkheidstest 1</ns2:description>
    </ns2:validationGroup>
    <ns2:validationGroup>
    <ns2:name>testgroep2</ns2:name>
    <ns2:caption>kop2</ns2:caption>
    <ns2:description>Voor testen ontvankelijkheidstest 2</ns2:description>
    </ns2:validationGroup>
    </ns2:validationGroupList>
    </ns2:body>
    </ns2:getValidationGroupsResponse>
    After defining the template, the values of the first group are visible in MS-Word as well, as example values.
    I put the the template in a public place:
    http://www.calculateonline.org/projects/bipublisher/template1.rtf
    Just in case you need the wsdl as well:
    http://www.calculateonline.org/projects/bipublisher/validationOperations.wsdl

  • Calculations in Xcelsius using data generated by a Web Service Connection

    Hi,
    I have set up a web service connection to pull in 4 columns of data: 1. CATEGORY  2. SUBCATEGORY 3. PRODUCT TYPE   4.#OFCALLS.  There will be anywhere from 1 to 500 rows of data depending on day of week and time of day.  The web service sorts the list by #OFCALLS descending. The OUTPUT VALUES of the web service connection are mapped to cells A19:D518.
    Formulas in the spreadsheet take the Top 10 from the list and populate it to cells  A4:D13.  A formula in cell D15 sums the #OFCALLS for the entire web service connection output (A19:D518).
    The data in A4:D15 is mapped to a spreadsheet table on my canvas.   When the report generates, the data from the TOP 10 of the web service connection populates properly, but the cell that should reflect the TOTAL#OFCALLS (D15) shows zero.
    Is it not possible to do additional calculations in the spreadsheet based on data generated by the web service connection?  A major difference between using an XML Map and a Web Service Connection is the XML Map actually populates the spreadsheet with the new data when it is refreshed.  The Web Service connection data never actually appears in the spreadsheet itself, even though it updates to the appropriate vessel on the canvas.   This makes me think that no additional calculations can be done in the spreadsheet based on the web service connection data.
    Can anyone tell me if that is correct?  If so, then the web service connection would also have to pull in the TOTAL#OFCALLS along with the other data.   This would also seem to greatly limit what you could do with data generated by a web service connection, so I am hoping I am wrong and just don't understand how to do this.
    Can anyone clarify this for me?  If I failed to give any pertinent info let me know what it is, and I will update my post.
    Thanks!

    I have seen similar behavior as well.  I have live data coming into Xcelsius from a data connection. 
    A supported Excel formula
    =IF(ISBLANK(J2),I2,VALUE(TODAY()-J2))
    is then applied to one of the columns to create an additional derived column.
    Taking a snapshot of the data shows that the derived column is being populated, however the controls I've tried hooking up to the derived column (charts and labels) are always empty.
    Information on whether this is supported would be appreciated.
    Thank you,
    David

  • Is it possible to read/write data from Salesforce using web service hub in Informatica?

    Anyone from Informatica can asnwer this question please

    Is it possible to read/write data from Salesforce using web service hub in Informatica? Not asking about PowerExchange for Salesforce or Informatica Cloud. Just using web service can we load data into Salesforce? Thanks ahead.

  • How to reference complex data type when consuming web services in WAS 620?

    In WAS 620, I tried to consume a web service in ABAP. I was successful when the web service returned one or more simple data type. But when the web service is changed to return a complex data type (eg. a structure with 3 elements), the call to the web service did not return anything.
    Do any of you know how to reference the individual element in the structure of an output parameter in a web service? I use the add_parameter method of the CSoapDocument class to identify the output parameters.
    Here is part of the WSDL file:
      <?xml version="1.0" encoding="UTF-8" ?>
    - <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:s0="urn:sap-com:document:sap:rfc:functions" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="urn:sap-com:document:sap:rfc:functions">
    - <types>
    - <xsd:schema targetNamespace="urn:sap-com:document:sap:rfc:functions">
    - <xsd:element name="Z_SRM_SOAP_TEST_COMPLEX">
    - <xsd:complexType>
    - <xsd:all>
    - <xsd:element name="INTEXT">
    - <xsd:simpleType>
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="50" />
      </xsd:restriction>
      </xsd:simpleType>
      </xsd:element>
      </xsd:all>
      </xsd:complexType>
      </xsd:element>
    - <xsd:element name="Z_SRM_SOAP_TEST_COMPLEX.Response">
    - <xsd:complexType>
    - <xsd:all>
      <xsd:element name="OUTTEXT" type="s0:ZSRM_TEST_STRUCT" />
      </xsd:all>
      </xsd:complexType>
      </xsd:element>
    - <xsd:complexType name="ZSRM_TEST_STRUCT">
    - <xsd:sequence>
    - <xsd:element name="ELEMENT1" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="50" />
      </xsd:restriction>
      </xsd:simpleType>
      </xsd:element>
    - <xsd:element name="ELEMENT2" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="50" />
      </xsd:restriction>
      </xsd:simpleType>
      </xsd:element>
    - <xsd:element name="ELEMENT3" minOccurs="0">
    - <xsd:simpleType>
    - <xsd:restriction base="xsd:string">
      <xsd:maxLength value="50" />
      </xsd:restriction>
      </xsd:simpleType>
      </xsd:element>
      </xsd:sequence>
      </xsd:complexType>
      </xsd:schema>
      </types>

    Hi,
      [email protected] is my id and one more thing u by looking at the wsdl file u can know what al the parameters we have to give to the webservice so try it out also.
    Regards,
    Sirisha.

  • Issues with Using Data Dashboard and Using Web Service

    After running a system for many months it has suddenly decided to not work at all.  I am using Data Dashboard to read variables on a host.  I'll outline the system here to get a baseline:
    I'm running LV 2012 SP1 f5. 
    I collect data from one Ethernet port and interfact it to another Ethernet port to form a proxy.
    I use a fixed IP address from my DSL along with port forwarding/port triggering in my router for data observation and control.
    So, what have I done so far?
    1.  Repaired my original LV 2012 SP1 and tested system.
    2.  Upgraded to LV 2012 SP1 f5 and tested system.
    3.  Ran service.msc and checked all the NI services that should be operational.  Started and stopped several of them and rebooted computer.
    4.  Deployed all my SVs (multiple times)
    5.  Disconnected second Ethernet interface becasue sometimes the variables would deploy to this IP address.
    6.  Turned off my wireless because sometimes the variables would deploy to this IP address.
    7.  Checked "Web Server Configuration" "Application Web Server" for correct port number.
    8.  Checked "Web Services Management" and under "Deployed Web Services" there is one category:  SV is marked as running.  NOTE!!  WebService is NOT listed and this could be a problem
    I can use the following to retrieve data&colon;  localhost:<port number>/sv/variable.  But when I substitute my DSL IP number, I can no longer get any data.
    So, what am I missing?  
    Thanks,
    Paul.

    Siana,
    Thanks for your response.
    I haven't touched the NI code in months.  It is running on an XP laptop and I have the Windows updates turned off.  McAfee is running on it and of course that updates regularily.  This laptop is a dedicated machine that I only use for this function, nothing else.  I haven't added or subtracted any programs for many months.
    There have been no changes to the DSL from me.  AT&T is constantly trying to get us to upgrade to U-Verse but we have resisted.  All DSL modem and router hardware is the same.  
    Confusing, huh?

  • How to move data connections with SOAP web service in different environments in InfoPath Forms 2010

    Hello,
    I've an InfoPath Form where I've around 10 SOAP web service data connections. They are calling a custom web service for a custom business process. The web service URL has a query string parameter which identifies whether it's a Test web service or the Production
    one. The web service URL looks like this:
    http://server/webservice/wsdl?targetURI=testSPRead (for the Test environment)
    http://server/webservice/wsdl?targetURI=ProdSPRead (for the Production environment)
    When I develop the form in Dev environment, I use the Test web service URL and save the data connection as UDCX files in the data connection library. After completing the development, when I deploy this Form in Production, I update the URL in the UDCX
    file in the Production data connection library, but when I run the Form in Production, it throws error 'Error occurred in calling the web service'. After doing more research, when I extracted the XSN file and opened Manifest.xsf file in Notepad, I found the
    references of 'testSPRead' parameter.
    So, in the UDCX file the web service URL is '/targetURI=ProdSPRead' but in the Manifest.xsf file, there is a reference of Test web service parameter which is 'testSPRead' and that's why it's throwing error.
    For testing purpose, I updated the Manifest.xsf file and replaced all the occurrences of 'testSPRead' to 'ProdSPRead' and also updated all the relevant files of the data connections (like XML, XSF etc.) and saved the Manifest.xsf as Form.xsn and deployed
    in Prod and it worked.
    The question is - is this the right way of doing it? There should be a simple method in such cases where web service has conditional parameter to identify the Test and Production web service.
    Does somebody know what is the right way of doing it? I also thought of adding 'double' data connections - one set of Test and another set of Production and call them by identifying the current SharePointServerRootURL, but that's a lot of work. I've 10 web
    service data connections in my Form and in that case I'll be having 20 data connections and setting their parameters in different Rules is too much work.
    Please advise. It's very important for me!
    Thanks in advance.
    Ashish

    Thanks for your response Hemendra!
    I hope Microsoft improves this thing in subsequent patches of InfoPath 2010 or InfoPath 2013 because I don't think this is a very special requirement. This is failing the purpose of having UDCX files for data connections. Why the WSDL's parameter value
    is being written in the Manifest.xsf and other XSF and XML files. InfoPath should always refer the URL and parameters from the UDCX files.
    --Ashish

  • Schema Data Type in SOAP Web Service while using Integration Gateway in SMP 3.0

    Hi Experts,
    I was working on Integration gateway component of SMP 3.0.3 where we can have oData services which connect to different data source from SMP and finally we have to consume from SMP. Here I have an SOAP Web service where there is Schema Data type which is an xml structure and because of that while doing the data modelling with Design time tools I am not able to map the properties as there aren't any as only the parent level Schema type is available in the SOAP Web Services. Please see the below image for reference :
    So now I have 2 inputs no problems for design as such then I have the schema for that which comes as a output response which is where I am facing the issue as we don't have that Data Structure itself so how are we going to map that. I have seen some thin possibilities with Custom Scripts with SMP SP06 where this will help us to process the request and response at runtime with JS/Groovy. So needed some lights on this schema data type on Integration Gateway component of SMP 3.0.3 which we are planning to upgrade to SP06 as well so it will be a good starting point for this as well
    Also have concerned my good friend Rakshit Doshi for this as well.
    Regards,
    Fenil.

    Hi All,
    Sorry for the late response guys was stuck somewhere else and so couldn't reply to this, see I have below response in SOAP UI
    There if we see we have the schema as the whole structure being defined under which we have all the child elements, am also posting the raw response from the soapUI below for better understanding
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
       <soap:Body>
          <GetMSUserLoginDetailsResponse xmlns="http://tempuri.org/">
             <GetMSUserLoginDetailsResult>
                <xs:schema id="MemberDetails" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
                   <xs:element name="MemberDetails" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
                      <xs:complexType>
                         <xs:choice minOccurs="0" maxOccurs="unbounded">
                            <xs:element name="Table">
                               <xs:complexType>
                                  <xs:sequence>
                                     <xs:element name="RECID" type="xs:string" minOccurs="0"/>
                                     <xs:element name="FNAME" type="xs:string" minOccurs="0"/>
                                     <xs:element name="LNAME" type="xs:string" minOccurs="0"/>
                                     <xs:element name="CUSTNO" type="xs:decimal" minOccurs="0"/>
                                     <xs:element name="MEMTYP" type="xs:decimal" minOccurs="0"/>
                                     <xs:element name="MEMTYPENAME" type="xs:string" minOccurs="0"/>
                                     <xs:element name="CUSTTYP" type="xs:decimal" minOccurs="0"/>
                                     <xs:element name="EMAIL" type="xs:string" minOccurs="0"/>
                                     <xs:element name="MEMPASSWORD" type="xs:string" minOccurs="0"/>
                                     <xs:element name="ISDEBIT" type="xs:decimal" minOccurs="0"/>
                                     <xs:element name="PARENTID" type="xs:string" minOccurs="0"/>
                                     <xs:element name="CHILDOF" type="xs:string" minOccurs="0"/>
                                     <xs:element name="CUSTTYP1" type="xs:string" minOccurs="0"/>
                                     <xs:element name="ZONEID" type="xs:int" minOccurs="0"/>
                                     <xs:element name="EMAILFOOTERDETAIL" type="xs:string" minOccurs="0"/>
                                  </xs:sequence>
                               </xs:complexType>
                            </xs:element>
                            <xs:element name="Table1">
                               <xs:complexType>
                                  <xs:sequence>
                                     <xs:element name="ErrorCode" type="xs:string" minOccurs="0"/>
                                     <xs:element name="ErrorDesc" type="xs:string" minOccurs="0"/>
                                  </xs:sequence>
                               </xs:complexType>
                            </xs:element>
                         </xs:choice>
                      </xs:complexType>
                   </xs:element>
                </xs:schema>
                <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
                   <MemberDetails xmlns="">
                      <Table diffgr:id="Table1" msdata:rowOrder="0">
                         <RECID>97101-101-0000057069</RECID>
                         <FNAME>Fenil</FNAME>
                         <LNAME>Doshi</LNAME>
                         <CUSTNO>1042231</CUSTNO>
                         <MEMTYP>42</MEMTYP>
                         <MEMTYPENAME>Management</MEMTYPENAME>
                         <CUSTTYP>8</CUSTTYP>
                         <EMAIL>[email protected]</EMAIL>
                         <MEMPASSWORD>as</MEMPASSWORD>
                         <PARENTID>97101-101-0000057069</PARENTID>
                         <CUSTTYP1>Zone</CUSTTYP1>
                         <ZONEID>2</ZONEID>
                         <EMAILFOOTERDETAIL><![CDATA[<strong></strong><br />]]></EMAILFOOTERDETAIL>
                      </Table>
                      <Table1 diffgr:id="Table11" msdata:rowOrder="0">
                         <ErrorCode>100</ErrorCode>
                         <ErrorDesc>Login Successful.</ErrorDesc>
                      </Table1>
                   </MemberDetails>
                </diffgr:diffgram>
             </GetMSUserLoginDetailsResult>
          </GetMSUserLoginDetailsResponse>
       </soap:Body>
    </soap:Envelope>
    So we have the data but as a xml Structure which is nothing but schema and is my Eclipse while mapping while defining response type it gives me just an schema as the property.
    Regards,
    Fenil.

  • How can i request an input of data from a deployed web service via a html

    Hi all, I am currently having trouble with a web service. I want a client to be able to input a numerical value for a control in a deployed VI.
    At present i have one main vi that generates a signal and i've collected waveform data and displayed this data on a a chart. The web service uses a static folder containing html and javascript files. The html file calls the js file which parses the waveform data and returns to html to be stored as a chart_div. I have all the controls and indicators in one VI, connected by terminals using GET method.
    I am looking for a way of scripting a request form so that when called by the html file, the client user can input a control and change the values on the waveform graph. I also have an update button that requests updated data. 
    If anyone could suggest a method of how to accomplish this it would be SO helpful
    Thanks, Chris

    Hi Chris,
    I take it you are using the RESTful API method to GET the data. In that case you shoul be able to perform a http POST from your js code in order to update the controls.
    This could be done as form components are updated, or after a submit button is pressed (I'm sure you are familiar with this part).
    Please see here for more information: http://zone.ni.com/reference/en-XX/help/371361J-01​/lvhowto/build_web_service/
    I hope this helps.

  • I can't figure out data binding from a web service.

    Hi,
    I've been trying to figure out how to connect a TreeTable control with data from a non-SAP web server. Here's what I have so far;
        I have a sample program that uses json in a variable called oData.
        I have a TreeTable control named oTable.
        I create a model;
            var oModel = new sap.ui.model.json.JSONModel();
        I feed the oData variable into it;
            oModel.setData(oData);
        Finally, I feed the oModel to the oTable;
            oTable.setModel(oModel);
    That all makes sense. What I want to do is get the data from a web service. The only examples I've been able to find show how to configure an SAP data service and then connect to that. They don't give any details of the format that the SAP data service is sending. I don't have access to an SAP system so I can't set one up to reverse-engineer the data. I'm going to be writting my own oData service for this so I need a couple of things;
        1. An example of json or xml data as it's sent from a web server.
        2. An example of how you pull that data from the web service to an SAP ui model.
    I could really use some help. I haven't been able to find any examples that make sense to me.

    Hi Joe
    Here is an small example. Maybe it is useful to you.
    In this example, I  bind the tree to /root and you can see that we have 0: 1: elements under each element recursively.
    Thanks
    -D

  • Problem in activating the data source using a web service

    Hi all,
    I have created a web service with Logical and Source System names and i have selected nothing in the Type and Release.
    Activated the created web service.
    Later i tried creating a data source based on this web service source system and tried activating the data sources.
    But it is throwing an error saying that error generating the Web Service /BIC/CQWEB_SER_000020000 and error while activating the data source.
    Can any one say why is this happening and is there any pre requisites to be done while creating the web service?
    what is the use of Type and Release while creating the webservice?
    Thanks,
    Pra.

    Hi
    Please consider reference tables also while creating view, otherwise it won't accept when there are amount and currency fields.
    Please have a look at the below url
    https://www.sdn.sap.com/irj/sdn/advancedsearch?query=genericdatasourceusingview&cat=sdn_all
    thanks,
    Teja

  • NULL values and Data Control based on Web Service

    One of my ADF control is based on a Data Control created through a web service. Every thing is working fine except the way ADF control is handling the null values return by the web service based data control.
    For example for null columns the web service is sending the following:
    <ns0:beginDate xsi:nil="1"/>
    or
    <ns0:sourceCode xsi:nil="1"/>
    But the corresponding column in my ADF data control is trying to initialize itself using the value ‘[{nil=1}]’. It fails with the following error.
    2006-04-20 13:31:37.510 WARNING JBO-25009: Cannot create an object of type:java.util.Date with value:[{nil=1}]
    I will appreciate if someone could help me resolve this issue.
    Thanks,

    I tried again, but it seems that I'm unable to reproduce this in a test project which uses another data controls but is still as similar as possible to the original project in which I've encountered this behaviour.
    However, using a data control based on the same web service as in the original project, [{nil=1}] appears again instead of emtpy values.
    Is it possible that there is a significant difference in the generated wrapper classes? The underlying PL/SQL is the same (in strucutre) and the corresponding elements in the response XML of the web service are the same in the two cases, always like <ns0:someResponeValue xsi:nil="1"/>, so I don't know how it is possible that I can't reproduce this behaviour.
    A short description of the projects:
    Services/Model:
    I created a PL/SQL funcition in a package that returns a user type object. This return parameter consists of a non-empty string and a null value string. On top of this I created a PL/SQL web service and a data control for that.
    View/Controller:
    A JSF JSP page which has a read-only form showing the return values of the web service.
    Regards,
    Patrik

  • Best option to save data populated from a web service?

    I have manage to made a windows form that uses a web service to populate the data into a DataGridView. Then I have a column for adding comments next to each row. So a user could add some comments about this data for each row. Also I have a drop down list
    to select some options for each row.
    Actually everytime when connecting to this web service there are 7 DataGridViews that are populated with data, one for each TabPage added to a TabControl. So 7 tabs then.
    If I close this form and reopen it then it's all gone.
    What is the simpliest way if I want to store the settings (comments and selected option in drop down list). The idea is that I want to store this as a project under a name like "Project1", "Project2" etc. So every project would
    have their own settings. Then when starting the application all over again, instead of populate it from the webservice, I then load it from wherever it's stored. So I can pick the particular project I want for example "Project1".
    So what is the easiest options here? Would it be best to store it in a database or could it be stored in different datasets (one for each project)? Also if I use a dataset every TabPage with it's own unique DataGrid would then be represented as DataTable
    I suppose. But then I don't know if the data in a dataset would still be there the next time - if it only stores temporarily?
    As for now my only intention is to build this for myself, so I don't need to have any end user in mind. 

    Hello,
    Here is one idea which may  be implemented in several ways.
    The data stored locally that is not available in the web service (let's look at the web service as read-only) could be stored in a xml file then read into your project via DataSet.ReadXml and DataSetWriteXml to save changes.
    For this to work you need to utilize primary keys to identify data coming from the service to match up with locally saved data.
    That is the concept which as stated above can be implemented in many ways. I would suggest using a class dedicated to the above and not place the bulk of the code into your forms.
    Please remember to mark the replies as answers if they help and unmark them if they provide no help, this will help others who are looking for solutions to the same or similar problem.

  • Handling Currency Data type in a Web Service

    hello,
    I have created a Java Web Service n i have tested the support for all the data types w.r.t to Java Client n C# Client.
    In case of other data types, they are supported by both the clients. But in case of currency, it is not supported since there is no currency data type in C#.
    For reference:
    public int testInt (int aValue) throws Exception
    mLogger.info("SampleAPI.testInt: Value: " + aValue);
    return aValue;
    I have created this method to test the support for Integer data type n it is working fine for both the clients. I want that same should be achieved for Currency Data type also.
    Problem is: Since Currency does not have a constructor. i cannot set the value at the C# client end n it shows the error "Cannot create the instance of java.util.currency"
    So, i reached this solution of handling the currency data type on the Service end itself by converting the currency value into decimal when the C# client sends a request for currency data type and convert it again into Currency from Decimal when the client sets the value at the Web Service end.
    But it cannot be achieved since currency is not defined in any monetary sense but is using only the currency codes, so it cannot be converted.
    Please tell me how to handle this thing?? Any suggestion will be appreciated.
    Thanks & Regards,
    Kapil

    hello
    i have created a transfer structure which contains the attributes of Currency class such as CurrencyCode, CurrencySymbol and FractionDigits. I can get these three attributes by:
        public CurrencyStructure getCurrency ()
            mLogger.info("SampleAPIImpl.getCurrency: ");
            Currency currency = mBackend.getCurrencyValue();
            CurrencyStructure currencyStructure = new CurrencyStructure();
            // Get the values
            currencyStructure.code = currency.getCurrencyCode();
            currencyStructure.symbol = currency.getSymbol();
            currencyStructure.fractionDigits = currency.getDefaultFractionDigits();
            return currencyStructure;
        }The C# client can get the values by calling mService.getCurrency();
    The C# client can also set/change the value like this on client-end:
      public void testSetCurrency ()
            CurrencyStructure currencyStructure = new CurrencyStructure();
            // Initialize the values
            currencyStructure.code = "EUR";
            currencyStructure.symbol = "e";
            currencyStructure.fractionDigits = 3;
            mService.setCurrency(currencyStructure);
    }Now i want that these values should be set on the Web Service side but i m not able to set since Currency class has no setters.
    I m setting the values at Service end like this, but there is no setCurrencyCode() method available in Currency class.
        public void setCurrency (CurrencyStructure aValue)
            mLogger.info("SampleAPIImpl.setCurrency: " + aValue);
            Currency currency = mBackend.getCurrencyValue();
            // Set the values
            currency.setCurrencyCode(aValue.code);
            currency.setSymbol(aValue.symbol);
            currency.setDefaultFractionDigits(aValue.fractionDigits);
        }How to achieve this??

  • Data Store link to Web Service

    I have a web Service that outputs a single "Sales Force" field.  When I configure the data store option and try to add the field to the datastore "Sales Force" is not available anywhere.   Why does it give me the "DataStore" option if I can't see and add any fields from it?
    Thanks,
    Ken Murray

    Hi Kenneth,
    I don't know if I understood you correctly.
    You have to draw a line from your webservice's output to the data store.
    Click on that line and take a look at the configure panel on the right. Assign "SALES_FORCE" to the data store field. Thus, when the webservice is executed, the field in the data store will automatically be populated.
    If you want to access the data store from somewhere else, you have to use STORE@sales_force.
    Best Regards, Benni

Maybe you are looking for