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??

Similar Messages

  • Handle Session data with JAX-WS web services

    Is it posible to to handle session tracking with JAX-WS web services without implementing my own session logic.
    If posible how do we put values in to session and get them back.
    And also assuming that sessions are supported is it posible to share the same session between two web services on the same web application.

    Hello!
    Do you have any solution to your problem now? I also need to maintain a session bean between 2 webservices. If you solved this, can you please tell me how?
    Thanks a lot!

  • 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 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.

  • How do I return a java.sql.Timestamp data type in a Web service?

    I'm new to workshop and java. I'm creating a mini application to simulate a real work Web Service (development environment is on an intranet). I was able to completely simulate the Web Services minus all date values.
    I'm using a standard weblogic workshop database controls that are feeding the various WebServices and their methods (Web services was generated from DB control). I get a java type not support error when I attempt to return a java.sql.Timestamp. I temporarily got around the problem by omitting all dates from the sql.
    However, we are at the point where we need the complete record.
    My two questions
    1) What java data type do I convert the java.sql.Timestamp to
    2) Where and how do I do it in workshop.
    Thanks in advance
    Derrick
    Source view from workshop looks something like this.
    public interface MyData extends DatabaseControl, com.bea.control.ControlExtension
    static public class dbOverallRec
    public String key;
    public String field1;
    public int field2;
    public java.sql.Timestamp create_date
    public dbOverallRec () {};
    *@jc:sq; rowset-name="OverallRowSet" statement::
    *select key, field1, field2 ,create_date from overall where key={KEY}::
    dbOverallRec getOverallByKey(String Key);
    * I had to omit the create_date to get it to work

    You should try changing java.sql.Timestamp to java.util.Calendar.
    java.util.Calendar maps to the dateTime type in XML Schema, and TIMESTAMP as a JDBC type.
    Regards,
    Mike Wooten

  • Complex xml types in a web service request

    Hello,
    I'm a newcomer to APEX and wondered how to create complex data types in a web service reference, and how to address these fields from a page item type. I have a wsdl containing nested lists of strings and don't know how to solve this in APEX, can anyone help me?

    hi Jonjeao,
    i too searching the steps and refrerences for my project.
    i found the solution from
    http://www.oracle.com/technology/products/database/application_express/pdf/Using_Oracle_Application_Express_to_Interact_with_XML-RPC_Style_Web_Services.pdf
    please try your url with xml to web service.
    Thanks
    ~Logaa
    Edited by: Logaa on Apr 2, 2009 1:35 AM

  • 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

  • SAP ABAP have the ability to handle complex data types

    Hi all,
                We are developing a Function Module/BAPI that is actually sending and receiving information to and from a third-party system and none of them are "complex data types".
    I have a question does SAP ABAP have the ability to handle complex data types ???

    could you give an instance of the same...& to what extent can it handle???
    we have a web service layer to handle complex data types between BAPI calls and the third party system.

  • How to handle "byte" data type

    Hi,
    In web dynpro java project to consume a web service, I am unable to handle "byte" data type in binding wizard. It is not allowing to bind a element saying that "Context Attribute with Java Native Type BYTE cannot be selected". Please help me to resolve this.
    Thank you.
    Regards
    Bhanu.

    Hi
    you can define byte[] in golobal area, at the end of iview. 
    //@@begin others
    byte b1[];
      //@@end
                      IWDResource r;
           byte b[];
           InputStream inputStream;
         try {
              inputStream = r.read(true);
                int x = inputStream.read(b);
         } catch (IOException e) {
              e.printStackTrace();
    Regards
    Anup

  • 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

  • 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                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • 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.

  • 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

  • Web service handler could not called in client web service

    Hi All,
    I have two web service ServiceA & ServiceB and both implemented in weblogic.
    The ServiceA is SSL enable and protocol is https which is not published by me.
    The ServieB is my web service(wls8.1) and act as client for ServiceA.
    My problem is when i hit my service, its not able set the handler when it call ServiceA but it is invoking the service and giving application exception like authentication error.
    My service file:
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.Iterator;
    import java.util.List;
    import java.util.Map;
    import javax.xml.namespace.QName;
    import javax.xml.rpc.handler.HandlerInfo;
    import javax.xml.rpc.handler.HandlerRegistry;
    import javax.xml.rpc.handler.soap.SOAPMessageContext;
    import weblogic.webservice.client.SSLAdapterFactory;
    import weblogic.webservice.client.WLSSLAdapter;
    public class HelloService {
    String wsdl = "https://188.122.123.23/RemoetService?WSDL";
    static {
    SSLAdapterFactory factory = SSLAdapterFactory.getDefaultFactory();
    WLSSLAdapter adapter = (WLSSLAdapter) factory.getSSLAdapter();
    adapter.setTrustedCertificatesFile("D:\\lib\\certs
    cacerts");
    factory.setDefaultAdapter(adapter);
    System.setProperty("weblogic.xml.encryption.verbose","true");
    System.setProperty("weblogic.xml.signature.verbose","true");
    System.setProperty("weblogic.webservice.verbose","true");
    public String sayHello(String user) {
    RemoteService_Impl service = new RemoteService_Impl(wsdl);
    RemotePortType port = service.getRemoteServicePort1();
    String namespace = service.getServiceName()
    .getNamespaceURI();
    QName portName = new QName(namespace,
    "RemoteServicePortType");
    HandlerRegistry reg = service.getHandlerRegistry();
    List handlerList = new ArrayList();
    Map map = new HashMap();
    map.put("Username", "user1");
    map.put("Password", "pwd1");
    HandlerInfo info = new HandlerInfo();
    info.setHandlerClass(WSClientHandler .class);
    info.setHandlerConfig(map);
    handlerList.add(info);
    reg.setHandlerChain(portName,(List)handlerList);
    RemoteServiceResponse = port.callMe(name);
    My Handler file:
    package com.test;
    import java.util.Map;
    import javax.xml.namespace.QName;
    import javax.xml.rpc.handler.Handler;
    import javax.xml.rpc.handler.HandlerInfo;
    import javax.xml.rpc.handler.MessageContext;
    import javax.xml.rpc.handler.soap.SOAPMessageContext;
    import javax.xml.soap.Name;
    import javax.xml.soap.SOAPElement;
    import javax.xml.soap.SOAPEnvelope;
    import javax.xml.soap.SOAPException;
    import javax.xml.soap.SOAPHeader;
    import javax.xml.soap.SOAPHeaderElement;
    public class WSClientHandler implements Handler {
    private HandlerInfo handlerInfo;
    public WSClientAuthenticateHandler(){}
    public void init(HandlerInfo hi) {
    System.out.println("Handler init");
    handlerInfo = hi;
    public void destroy() {
    System.out.println("Handler destroy method called");
    handlerInfo = null;
    public QName[] getHeaders() {
    System.out.println("Handler Header method called");
    try {
    Map map = handlerInfo.getHandlerConfig();
    QName[] headers = handlerInfo.getHeaders();
    System.out.println(" Config :"+map);
    for(int i=0;i<headers.length;i++) {
    System.out.println(headers.getLocalPart()+" "+
    headers.toString()+" "+headers.getNamespaceURI());
    }catch(Exception e) {
    e.printStackTrace();
    return handlerInfo.getHeaders();
    public boolean handleRequest(MessageContext mc) {
    SOAPMessageContext smc = (SOAPMessageContext) mc;
    System.out.println("Calling handler class.....................");
    try {
    SOAPEnvelope se = smc.getMessage().getSOAPPart().getEnvelope();
    System.out.println("Calling handler class.....................");
    SOAPHeader soapHeader = se.getHeader();
    Name headerName = se.createName("Security","wsse","http://schemas.xmlsoap.org/ws/2002/07/secext");
    SOAPHeaderElement headerElement = soapHeader.addHeaderElement(headerName);
    SOAPElement element = headerElement.addChildElement(se.createName("UsernameToken", "wsse", "http://schemas.xmlsoap.org/ws/2002/07/secext"));
    element.addChildElement(se.createName("Username", "wsse","http://schemas.xmlsoap.org/ws/2002/07/secext")).addTextNode("testuser");
    element.addChildElement(se.createName("Password", "wsse","http://schemas.xmlsoap.org/ws/2002/07/secext")).addTextNode("testpwd");
    System.out.println("Calling handler class.....................");
    System.out.println("** Request: \n "se.toString()"\n");
    }catch(SOAPException e) {
    e.printStackTrace();
    return true;
    /** * Specifies that the SOAP response message be logged to a
    * log file before the
    * * message is sent back to the client application
    * that invoked the Web service.
    public boolean handleResponse(MessageContext mc) {
    System.out.println("Handler Response method called");
    SOAPMessageContext messageContext = (SOAPMessageContext) mc;
    System.out.println("** Response: \n"messageContext.getMessage().toString()"\n");
    return true;
    /** * Specifies that a message be logged to the log file if a SOAP fault is
    * * thrown by the Handler instance.
    public boolean handleFault(MessageContext mc) {
    SOAPMessageContext messageContext = (SOAPMessageContext) mc;
    System.out.println("** Fault: \n"messageContext.getMessage().toString()"\n");
    return true;
    Please need help here.
    Thanks in Advance,
    pps

    I have tested static client calling using handler simple above service and found the issues.
    QName portName = new QName(namespace,
    "*RemoteServicePortType*");
    The above line code has created the issues,becuase in wsdl file ( given similar wsdl file).
    <?xml version="1.0"; encoding="UTF-8"?>
    <definitions name="HelloService"
    targetNamespace="http://www.ecerami.com/wsdl/HelloService.wsdl"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:tns="http://www.ecerami.com/wsdl/HelloService.wsdl"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <message name="SayHelloRequest">
    <part name="firstName" type="xsd:string"/>
    </message>
    <message name="SayHelloResponse">
    <part name="greeting" type="xsd:string"/>
    </message>
    *<portType name="RemoteServicePortType">*
    <operation name="sayHello">
    <input message="tns:SayHelloRequest"/>
    <output message="tns:SayHelloResponse"/>
    </operation>
    </portType>
    <binding name="Hello_Binding" type="tns:*RemoteServicePortType*">
    <soap:binding style="rpc"
    transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="sayHello">
    <soap:operation soapAction="sayHello"/>
    <input>
    <soap:body
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    namespace="urn:examples:helloservice"
    use="encoded"/>
    </input>
    <output>
    <soap:body
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    namespace="urn:examples:helloservice"
    use="encoded"/>
    </output>
    </operation>
    </binding>
    <service name="Hello_Service">
    <port binding="tns:Hello_Binding" name="*RemoteServicePortType1*">
    <soap:address
    location="http://host1:8080/soap/servlet/rpcrouter"/>
    </port>
    <port binding="tns:Hello_Binding" name="*RemoteServicePortType2*">
    <soap:address
    location="http://host2:8080/soap/servlet/rpcrouter"/>
    </port>
    <port binding="tns:Hello_Binding" name="*RemoteServicePortType3*">
    <soap:address
    location="http://host3:8080/soap/servlet/rpcrouter"/>
    </port>
    <port binding="tns:Hello_Binding" name="*RemoteServicePortType4*">
    <soap:address
    location="http://host4:8080/soap/servlet/rpcrouter"/>
    </port>
    </service>
    </definitions>
    From the above WSDL, I have four port name (port binding="tns:Hello_Binding" name="*RemoteServicePortType1*) which is not matching with PortType (portType name="*RemoteServicePortType*")
    even i have iterated from getPorts() method and used to invoke the service.But handler was not calling when i invoke.
    Please guide me here how i specify correct portname which can call Handler class also.
    Thanks in advance,
    pps

Maybe you are looking for

  • Hard Drive won't show up on MBP 2011 running Mavericks

    My WD My Passport Edge 500GB hard drive has been working for the past 2 or so years i've had it, on all my devices including the telstra t-box, and when I go and upgrade my Snow Leopard (1.6.8) MacBook Pro 2011 to 10.9.3 Mavericks, the Hard Drive sto

  • Pl/SQL Practice (in Oracle 10g)

    Hi All, Could you please help me by giving URL/website address from where i may find the practice on PL/SQL. i have completed the PL/SQL courses and right now i need to have more practice on PL/SQL. i have a small database with the following common t

  • Tune the SQL Query need a Suggestion

    Hi, There is a view created which takes 17seconds to execute the query, When i split the query and execute each query takes .15 seconds to execute. Below it the query which i need to improve the performance of the code please need your suggestion in

  • I can't seem to upgrade to snow leopard 10.6.8 from 10.5.8

    Trying to update to Mountain Lion on a 2.4GHz Core 2 Duo (with 5GB of RAM) running on Snow Leopard 10.5.8.  Update info on the Mounain Lion states 10.6.8 is needed.  Looked for the update wtih software update function but nothing comes up for the OS

  • Display of CJK

    Hi All: I am using test1.jsp to accept any CJK/latin character and display it in test2.jsp. test1.jsp uses post method and has only one text box. test2.jsp does a request.getParameter(...) to display it. The browser's encoding is set to unicode UTF-8