Nls_lang_semantics parameter importance

what is the importance of nls_lang_semantics parameter.
it has two values char/bytes what is the difference between those two?
could you please clarify the exact neccesity of this parameter.

I assume you mean NLS_LENGTH_SEMANTICS...
By default, this is BYTE, so when you declare a column VARCHAR2(10), Oracle allocates 10 bytes of storage. Depending on your database character set, though, this may mean that the column can store between 2 and 10 characters depending on the data. In the UTF-8 character set, for example, an English character generally requires 1 byte of storage, a Japanese character generally requires 3 bytes.
Since most people want to specify things in terms of characters, NLS_LENGTH_SEMANTICS was created so that the default when you create a VARCHAR2(10) column is to allocate space for 10 characters regardless of data.
Alternalely, you can always be explicit when declaring columns, i.e. VARCHAR2(10 BYTE) and VARCHAR2(10 CHAR), but you generally want the default to be correct for your application.
Justin

Similar Messages

  • Parameter setting for RFC Lookup in Integrated Configuration

    hi Experts,
    I am using AAE feature of PI 7.1 to create a file to file scenario with mapping.
    I have to perform RFC_LOOKUP in mapping.
    I have Created a parameters in Message Mapping and Operation Mapping and performed required binding between them.
    Details of parameter are:
       Name:         RFC_Lookup
       Category:    Adapter
       Type:          RFC
       Parameter:  Import
    I am using Integrated Configuration in ID.
    Please tell me where do I assign values to parameter in ID when using Integrated Configuration.
    Thanks.
    Girish

    Hi guys,
    I have the same issue.
    I want to use an parameterzied mapping during an integrated configuration.
    But I don´t find any place to specify the value for the parameter.
    Are parameterized mappings not possible with integrated configuration?
    If I create an normal configuration using interface determination, I could specify the parameter value
    Kind regards
    Jochen

  • Intermittent import library generation failure building 64-bit binary in Visual Studio 2013

        I have a 64-bit c++ project that randomly fails to build because the import library generation silently fails in the link step.  I have scoured the "diagnostic level" log trying to find some hint at why the import library
    fails to be created, but there doesn't seem to be any information.
        It's pretty random.  When it fails, I can do a clean build and everything builds.  After a successful build, I can do another clean rebuild and see it fail again.
        The 32-bit version consistently builds fine.  I see the 64-bit problem regularly in any configuration (Release or Debug).
        I'm running VS2013 Update 2 RC.
        Any hints on how to debug this?  Is this a known issue for which there is a patch?

    Hi Anna, thanks for the reply.  Yes, this does reproduce in MSBuild if you specify a rebuild.  As mentioned previously, if you do a clean and build, even through MSBuild, the build succeeds every time.  
    There's no way for me to create a sample project.  Our codebase is quite large and this doesn't reproduce for simple example projects.  
    There is no error message when the iTunes.lib import library fails to build.  The import library is used in a dependent project and that fails in a way you would probably expect (complains about a missing .lib)...
    Here's the relevant section from my diagnostic build output.
    16>  Tracking command: (TaskId:92)
    16>  C:\Program Files (x86)\MSBuild\12.0\bin\Tracker.exe /a /d "C:\Program Files (x86)\MSBuild\12.0\bin\FileTracker.dll" /i C:\Users\psansone\iTunes\BuildResults\Debug64\intermediates\iTunesLauncher\iTunesLauncher.tlog /r "C:\USERS\PSANSONE\ITUNES\BUILDRESULTS\DEBUG64\BIN\ITUNES.LIB|C:\USERS\PSANSONE\ITUNES\BUILDRESULTS\DEBUG64\INTERMEDIATES\ITUNESLAUNCHER\APPLEAPPLICATIONSUPPORT.OBJ|C:\USERS\PSANSONE\ITUNES\BUILDRESULTS\DEBUG64\INTERMEDIATES\ITUNESLAUNCHER\ITUNESLAUNCHER.OBJ|C:\USERS\PSANSONE\ITUNES\BUILDRESULTS\DEBUG64\INTERMEDIATES\ITUNESLAUNCHER\ITUNESLAUNCHER.RES|C:\USERS\PSANSONE\ITUNES\BUILDRESULTS\DEBUG64\INTERMEDIATES\ITUNESLAUNCHER\VISUALSTUDIOPREFIX.OBJ"
    /b MSBuildConsole_CancelEvent293fb138735a4f31a04ade4d72d60766  /c "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\x86_amd64\link.exe"  /ERRORREPORT:PROMPT /OUT:"C:\Users\psansone\iTunes\BuildResults\Debug64\bin\iTunes.exe" /INCREMENTAL:NO
    /NOLOGO comctl32.lib libcmtd.lib libcpmtd.lib shlwapi.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /NODEFAULTLIB /MANIFEST:NO /DEBUG /PDB:"C:\Users\psansone\iTunes\BuildResults\Debug64\bin\iTunes.exe.pdb"
    /SUBSYSTEM:WINDOWS /STACK:"1048576","262144" /TLBID:1 /DYNAMICBASE /FIXED:NO /NXCOMPAT /IMPLIB:"C:\Users\psansone\iTunes\BuildResults\Debug64\bin\iTunes.lib" /MACHINE:X64 C:\Users\psansone\iTunes\BuildResults\Debug64\intermediates\iTunesLauncher\iTunesLauncher.res
    16>  C:\Users\psansone\iTunes\BuildResults\Debug64\intermediates\iTunesLauncher\AppleApplicationSupport.obj
    16>  C:\Users\psansone\iTunes\BuildResults\Debug64\intermediates\iTunesLauncher\VisualStudioPrefix.obj
    16>  C:\Users\psansone\iTunes\BuildResults\Debug64\intermediates\iTunesLauncher\iTunesLauncher.obj
    16>  C:\Users\psansone\iTunes\BuildResults\Debug64\bin\iTunes.lib (TaskId:92)
    16>LINK : fatal error LNK1181: cannot open input file 'C:\Users\psansone\iTunes\BuildResults\Debug64\bin\iTunes.lib'
    Here's the relevant part of the build log from the linker step that should build iTunes.lib (the import library that fails to build).
    15>     Creating library C:\Users\psansone\iTunes\BuildResults\Debug64\bin\iTunes.lib and object C:\Users\psansone\iTunes\BuildResults\Debug64\bin\iTunes.exp (TaskId:92)
    15>Done executing task "Link". (TaskId:92)
    15>Task "Message" (TaskId:93)
    15>  Task Parameter:Text=iTunesDLL.vcxproj -> C:\Users\psansone\iTunes\BuildResults\Debug64\bin\iTunes.dll (TaskId:93)
    15>  Task Parameter:Importance=High (TaskId:93)
    15>  iTunesDLL.vcxproj -> C:\Users\psansone\iTunes\BuildResults\Debug64\bin\iTunes.dll (TaskId:93)
    15>Done executing task "Message". (TaskId:93)
    15>Done building target "Link" in project "iTunesDLL.vcxproj".: (TargetId:209)
    15>Target "MetaGenInputsOutputs" skipped, due to false condition; ('$(EnableManagedIncrementalBuild)' == 'True') was evaluated as ('false' == 'True').
    15>Target "ComputeMetaGenInputs" skipped, due to false condition; ('$(CLRSupport)'!='' and '$(CLRSupport)'!='false') was evaluated as ('false'!='' and 'false'!='false').
    15>Target "MetaGen" skipped, due to false condition; ('@(MetaGen)' != '') was evaluated as ('' != '').
    15>Target "ComputeLinkImportLibraryOutputsForClean: (TargetId:210)" in file "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets" from project "C:\Users\psansone\iTunes\iTunes\Projects\iTunesDLL.vcxproj" (target "_Link" depends
    on it):
    15>Task "WriteLinesToFile" (TaskId:94)
    15>  Task Parameter:File=C:\Users\psansone\iTunes\BuildResults\Debug64\intermediates\iTunesDLL\iTunesDLL.tlog\iTunesDLL.write.1u.tlog (TaskId:94)
    15>  Task Parameter:
    15>      Lines=
    15>          ^C:\Users\psansone\iTunes\iTunes\Projects\iTunesDLL.vcxproj
    15>          C:\Users\psansone\iTunes\BuildResults\Debug64\bin\iTunes.lib
    15>          C:\Users\psansone\iTunes\BuildResults\Debug64\bin\iTunes.exp (TaskId:94)
    15>  Task Parameter:Encoding=Unicode (TaskId:94)
    15>Done executing task "WriteLinesToFile". (TaskId:94)
    15>Done building target "ComputeLinkImportLibraryOutputsForClean" in project "iTunesDLL.vcxproj".: (TargetId:210)
    15>Target "AfterLink: (TargetId:211)" in file "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets" from project "C:\Users\psansone\iTunes\iTunes\Projects\iTunesDLL.vcxproj" (target "_Link" depends on it):
    15>Done building target "AfterLink" in project "iTunesDLL.vcxproj".: (TargetId:211)
    15>Target "_Link: (TargetId:212)" in file "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets" from project "C:\Users\psansone\iTunes\iTunes\Projects\iTunesDLL.vcxproj" (target "_BuildLinkAction" depends on it):
    15>Done building target "_Link" in project "iTunesDLL.vcxproj".: (TargetId:212)

  • Import screen field value into search help assigned to a different field

    Hi,
    I have created an elementary search help based on a custom DDIC table ZSH_SHHLDR. Dialog Type: Dialog depends on set of values, search help parameters:
    Parameter                       Import     Export   LPos SPos  SDis
    FOLIO                                X                       1       1         X
    CERTN                                             X         2       2
    where FOLIO and CERTN are fields in my table.
    There are two fields in my program defined as like FOLIO and CERTN respectively. These fields are screen fields in a custom dynpro created using Screen Painter. The search help is assigned to the CERTN field. In the screen, I want that the contents of the FOLIO field should be imported into the search help, i.e. on the screen:
    FOLIO: 21353
    CERTN: <F4>
    When I click on F4 help for CERTN, I want that the FOLIO parameter in the search help should contain the value for FOLIO that I entered in the text box on the screen. Is there a way to do this, through an exit for instance? Help is appreciated, thanks.
    Regards

    Hi,
    You need to use the below statement.
    process on value-request.
    field zcom_doa_users-zzjob_role module sub_tes_module.
    Here I declared three fields in the screen fields from structure zcom_doa_users. Try to name the fields with table name-field name. So inside the module in structure zcom_doa_users you will get given value for the other fields also.
    Now you can do your own processing for f4 help.
    Thanks
    Subhankar

  • Relationship Import

    Hi,
    I need to impor Relationships using Import Manager with below requirements.
    The input file has 3 columns:
    MaterialNo | RelatedMaterial | DeleteFlag
    123 | abc | N
    123 | lmn | Y
    The last column, Delete Flag, is used to indicate whether the relationship is currently active or not. How should this scenario be mapped in Import Manager? Using Required Qualiier or a Main Table field for Delete Flag?
    I tried mapping DeletFlag to Required qualifier, but getting error as:
    Import failed. Illegal value for parameter
    Import action: NoneSource record no: 3
    There ar only 2 source records in the input text file.
    Appreciate your help.
    Thanks,
    Ketan

    Hi Ketan,
    As per my knowledge, Relationships are useful when we deal with catalogs and that could be the reason why we cannot syndicate relationships in MDM 5.5 because if you are using SRM-MDM catalog then it is not required to syndicate data out from the system hence they have not provided Syndicator in SRM-MDM Catalog installable.
    All relationship qualifiers are used to store additional information about the relationship. You can visualize the actual use of all three qualifiers while dealing with catalog functionality.
    Position - describe the sequence of items
    Required - when checked means both these items (main and related) are related and should go together
    Quantity - quantity of related items i.e. if you may a particular item then this much number of realted items you have to buy.
    Regards,
    Jitesh Talreja

  • Read parameter with type ref to

    Hi,
    I am implementing BADI "HRPAYFR_N4DS_CUST". In this, in one of the method there is a parameter (importing) "IO_N4DS_DAQ" type ref to "IF_HRPAYFR_N4DS_DAQ".
    Can you please let me know how to read PROCESS_EMPLOYEE-IO_EMPL -> CONSTRUCTOR-IV_PERNR value.
    Thanks,
    Satish

    Hi Sathish,
    In BADI  implementation try to get the PERNR like
    LV_PERNR = IO_N4DS_DAQ->MO_EMPL->MV_PERNR.

  • How can I remove the by-default text in the drop-down box in a fill-in-the-blank answer?

    I have this text in English "Select" for each drop-down list that is big enough:
    It appears in French at my project manager's place (in France).
    Question 1: Can we remove that text totally?
    Question 2: How can I make sure it will only appear in English?
    Many thanks

    I found it myself how to do it. The error says that it is not able to find the reference object i.e  it is asking us to refer to the table. The following piece of code will solve this problem. Have to implement this in WDDOMODIFYVIEW method of the view. This thing works comrades enjoy...
      DATA : lr_cmp_usage TYPE REF TO if_wd_component_usage,
             lr_if_controller  TYPE REF TO iwci_salv_wd_table,
             lr_cmdl   TYPE REF TO cl_salv_wd_config_table,
             lr_col    TYPE REF TO cl_salv_wd_column.
      DATA : node_year  TYPE REF TO if_wd_context_node,
             elem_year  TYPE REF TO if_wd_context_element,
             stru_year  TYPE if_alv_layout=>element_importing,
             item_year  LIKE stru_year-i_current_year,
             lf_string    TYPE char(x),
      DATA: lr_column TYPE REF TO cl_salv_wd_column.
      DATA: lr_column_header TYPE REF TO cl_salv_wd_column_header.
      DATA: lr_column_settings TYPE REF TO if_salv_wd_column_settings.
    Get the entered value from the input field of the screen
    node_year  = wd_context->get_child_node( name = 'IMPORTING_NODE' ).
    elem_year  = node_year->get_element( ).
      elem_year->get_attribute(
       EXPORTING
        name = 'IMPORT_NODE-PARAMETER'
       IMPORTING
        value = L_IMPORT_PARAM ).
      WRITE L_IMPORT_PARAM TO lf_string.
    Get the reference of the table
      lr_cmp_usage  =  wd_this->wd_cpuse_alv( ).
      IF lr_cmp_usage->has_active_component( ) IS INITIAL.
        lr_cmp_usage->create_component( ).
      ENDIF.
      lr_if_controller  = wd_this->wd_cpifc_alv( ).
      lr_column_settings = lr_if_controller->get_model( ).
    get column by specifying column name.
      IF lr_column_settings IS BOUND.
        lr_column = lr_column_settings->get_column( 'COLUMN_NAME').
    set Header Text as null
        lr_column_header = lr_column->get_header( ).
        lr_column_header->set_text( lf_string ).
    endif.

  • How to implement F4IF_INT_TABLE_VALUE_REQUEST in search help User Exit?

    Hi,
    I need to enhanse search help and add F4 functionality to display list of company codes when cursor is in PBUKR field. I put F4IF_INT_TABLE_VALUE_REQUEST
    into the user exit but nothing works.
    I get error that PROCESS is not defined. If I remove that line there is no error but nothing works.
    Can someone tell me what is wrong in the code below.
    Thank you.
    FUNCTION z_hr_shlp_wbs_element.
    ""Local interface:
    *"  TABLES
    *"      SHLP_TAB TYPE  SHLP_DESCR_TAB_T
    *"      RECORD_TAB STRUCTURE  SEAHLPRES
    *"  CHANGING
    *"     VALUE(SHLP) TYPE  SHLP_DESCR_T
    *"     VALUE(CALLCONTROL) LIKE  DDSHF4CTRL STRUCTURE  DDSHF4CTRL
      TABLES: prps.
      DATA: it_prps LIKE prps OCCURS 0 WITH HEADER LINE.
      DATA: status_tab LIKE jstat OCCURS 0 WITH HEADER LINE.
      DATA: l_posid LIKE prps-posid.
      DATA: l_subrc LIKE sy-subrc.
      DATA: l_pbukr LIKE prps-pbukr,   " Added by vr
            value TYPE DDSHIFACE-VALUE.
    EXIT immediately, if you do not want to handle this step
      IF callcontrol-step <> 'SELONE' AND
         callcontrol-step <> 'SELECT' AND
                                           " AND SO ON
         callcontrol-step <> 'DISP'.
        EXIT.
      ENDIF.
    ------------------------------------------------------ added by vr
    PROCESS ON VALUE-REQUEST.
    FIELD PRPS-PBUKR MODULE PBUKR.
      DATA: BEGIN OF VALUE_TAB OCCURS 0,
      LPBUKR LIKE PRPS-PBUKR,
      LPOSID LIKE PRPS-POSID,
      END OF VALUE_TAB.
    DATA: BEGIN OF RETURN_TAB OCCURS 0.
    INCLUDE STRUCTURE DDSHRETVAL.
    DATA END OF RETURN_TAB.
    SELECT PBUKR POSID FROM PRPS UP TO 20 ROWS
    INTO TABLE VALUE_TAB WHERE SLWID = 'QLT UDF'.
    CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
    RETFIELD = 'PBUKR'
    WINDOW_TITLE = 'Statusselektion'
    VALUE_ORG = 'S' "hierdurch kann die Struktur genommen werden
    TABLES
    VALUE_TAB = VALUE_TAB
    RETURN_TAB = RETURN_TAB
    EXCEPTIONS
    PARAMETER_ERROR = 1
    NO_VALUES_FOUND = 2
    OTHERS = 3.
    end of additions
    STEP SELONE  (Select one of the elementary searchhelps)
    This step is only called for collective searchhelps. It may be used
    to reduce the amount of elementary searchhelps given in SHLP_TAB.
    The compound searchhelp is given in SHLP.
    If you do not change CALLCONTROL-STEP, the next step is the
    dialog, to select one of the elementary searchhelps.
    If you want to skip this dialog, you have to return the selected
    elementary searchhelp in SHLP and to change CALLCONTROL-STEP to
    either to 'PRESEL' or to 'SELECT'.
      IF callcontrol-step = 'SELONE'.
      PERFORM SELONE .........
        EXIT.
      ENDIF.
    STEP PRESEL  (Enter selection conditions)
    This step allows you, to influence the selection conditions either
    before they are displayed or in order to skip the dialog completely.
    If you want to skip the dialog, you should change CALLCONTROL-STEP
    to 'SELECT'.
    Normaly only SHLP-SELOPT should be changed in this step.
      IF callcontrol-step = 'PRESEL'.
      PERFORM PRESEL ..........
        EXIT.
      ENDIF.
    STEP SELECT    (Select values)
    This step may be used to overtake the data selection completely.
    To skip the standard seletion, you should return 'DISP' as following
    step in CALLCONTROL-STEP.
    Normally RECORD_TAB should be filled after this step.
    Standard function module F4UT_RESULTS_MAP may be very helpfull in this
    step.
      IF callcontrol-step = 'SELECT'.
    Maximum records are set to 0 because the counter for Max records keeps
    running, even if you filter out certain records. This is a similar
    problem as described in OSS Note 148525.
    Feb 3, 2004 LS: devk907353
                    (maxrecords = 0 defaults to maxrecords 500)
                    As of release 4.7, it appears that maxrecords is
                    being considered on the read of the view, rather
                    than prior to presenting the selection list.
                    When only 500 records are passed into this exit,
                    the subsequent evaluation yields very few records
                    in the selection list.  By setting maxrecords to
                    8000, the entire contents of the view are passed
                    to this user exit, and therefor the search help
                    yields a reasonable selection list to the user
                    (as was the case in release 4.6b).
      callcontrol-maxrecords = 0.        " devk907353
        callcontrol-maxrecords = 8000.     " devk907353
      PERFORM STEP_SELECT TABLES RECORD_TAB SHLP_TAB
                          CHANGING SHLP CALLCONTROL RC.
      IF RC = 0.
        CALLCONTROL-STEP = 'DISP'.
      ELSE.
        CALLCONTROL-STEP = 'EXIT'.
      ENDIF.
        EXIT. "Don't process STEP DISP additionally in this call.
      ENDIF.
    Added by vr, Nov. 2007 ---------------------------
      CALL FUNCTION 'F4UT_PARAMETER_VALUE_GET'
      EXPORTING
        PARAMETER               = 'PBUKR' " Reference to search help parameter
      IMPORTING
        VALUE                   = value
      TABLES
        SHLP_TAB                = shlp_tab
        RECORD_TAB              = record_tab
      CHANGING
        SHLP                    = shlp
        CALLCONTROL             = callcontrol.
      l_pbukr = value.
    End of additions by vr ---------------------------
    STEP DISP     (Display values)
    This step is called, before the selected data is displayed.
    You can e.g. modify or reduce the data in RECORD_TAB
    according to the users authority.
    If you want to get the standard display dialog afterwards, you
    should not change CALLCONTROL-STEP.
    If you want to overtake the dialog on you own, you must return
    the following values in CALLCONTROL-STEP:
    - "RETURN" if one line was selected. The selected line must be
      the only record left in RECORD_TAB. The corresponding fields of
      this line are entered into the screen.
    - "EXIT" if the values request should be aborted
    - "PRESEL" if you want to return to the selection dialog
    Standard function modules F4UT_PARAMETER_VALUE_GET and
    F4UT_PARAMETER_RESULTS_PUT may be very helpfull in this step.
      IF callcontrol-step = 'DISP'.
    DEVK909420 Begin
      SELECT * FROM prps INTO TABLE it_prps
         WHERE belkz = 'X'.
    Changed by vr, Nov. 2007
      IF l_pbukr <> ''.
        SELECT * FROM prps INTO TABLE it_prps
           WHERE belkz =  'X'
             AND fkstl <> ''
             AND pbukr = l_pbukr.
        ELSE.
        SELECT * FROM prps INTO TABLE it_prps
           WHERE belkz =  'X'
             AND fkstl <> ''.
        ENDIF.
    End of changes
    DEVK909420 End
        SORT it_prps BY posid.
        LOOP AT record_tab.
          l_posid = record_tab+96(24).
          READ TABLE it_prps WITH KEY posid = l_posid.
          IF sy-subrc = 0.
            CALL FUNCTION 'STATUS_READ'
                 EXPORTING
                      objnr       = it_prps-objnr
                      only_active = 'X'
                 TABLES
                      status      = status_tab.
    DEVK909329 Begin
            read table status_tab with key inact = ''
                                           stat  = 'E0001'.
            if sy-subrc is initial.
              read table status_tab with key inact = ''         "DEVK909345
                                             stat  = 'I0002'.   "DEVK909345
            endif.
    DEVK909329 End
          ENDIF.
          IF sy-subrc NE 0.
            DELETE record_tab.
          ELSE.
           IF record_tab+114(1) EQ '.' AND
              record_tab+115(1) EQ '9'.
             DELETE record_tab.
           ELSE.
    DEVK909420 Begin
            IF record_tab+102(1) EQ '9'.
              DELETE record_tab.
            ELSEIF record_tab+104(1) EQ '9'.
              DELETE record_tab.
            ENDIF.
    DEVK909420 End
           ENDIF.
          ENDIF.
        ENDLOOP.
        EXIT.
      ENDIF.
    ENDFUNCTION.

    Hi Vitaly,
    Process on Value Request and search help exit is entirely two idea to display the f4 values.please remove the PROCESS ON VALUE REQUEST from the function module.write the required select statements after   CHECK callcontrol-step EQ 'SELECT' . and pass the value to the function module
    CALL FUNCTION 'F4UT_RESULTS_MAP'
          TABLES
            shlp_tab          = shlp_tab
            record_tab        = record_tab
            source_tab        = l_record
          CHANGING
            shlp              = shlp
            callcontrol       = callcontrol
          EXCEPTIONS
            illegal_structure = 1
            OTHERS            = 2.
        IF sy-subrc <> 0.
          MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                  WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        ENDIF.
        IF ( sy-subrc = 0 AND l_record IS INITIAL ).
          MESSAGE 'No values found' TYPE 'S'.
        ENDIF.
        callcontrol-step = 'DISP'.
    Find the documentaion for this function module for further help
    message edited by
    shibu

  • Type mismatch on SOAP Web Service method invocation

    When I run the generated client for a web service, I get the following error, which I can get rid of by using a primitive type (e.g. String) as the parameter to doSomething instead of wstest.test2.APIClass3, i.e. the SOAP server seems happy handling wstest.test2.APIClass1 as a return type, but not a similar class as a parameter type:
    [SOAPException: faultCode=SOAP-ENV:Server; msg=type mismatch [java.lang.IllegalArgumentException]]
         wstest.test2.APIClass1 wstest.test2.EmbeddedStatelessTest2Stub.doSomething(wstest.test2.APIClass3)
              EmbeddedStatelessTest2Stub.java:89
         void wstest.test2.EmbeddedStatelessTest2Stub.main(java.lang.String[])
              EmbeddedStatelessTest2Stub.java:48
    I am using JDeveloper9i 9.0.3 Preview and the standalone OC4J 9.0.3 that came with it. I followed the Oracle9i JDeveloper 9.0.3 Web Services Quickstart Install (http://otn.oracle.com/tech/webservices/htdocs/quickstart/quickstart903.html) to get OC4J running standalone. I had to register the stateless EJB provider, and the WEB services wizard didn't manage to include APIClass2 (an instance of which is contained in APIClass1) in the .dd so I added it manually which works fine with APIClass1 as the method return type.
    Sorry for the length of this posting, but I wasn't sure which bits would be relevant.
    WSDL
    ====
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <!--Generated by the Oracle9i JDeveloper Web Services WSDL Generator-->
    <!--Date Created: Wed Sep 11 15:54:08 BST 2002-->
    <definitions
    name="StatelessTest2"
    targetNamespace="http://wstest/test2/StatelessTest2.wsdl"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:tns="http://wstest/test2/StatelessTest2.wsdl"
    xmlns:ns1="http://wstest.test2/IStatelessTest2.xsd">
    <types>
    <schema
    targetNamespace="http://wstest.test2/IStatelessTest2.xsd"
    xmlns="http://www.w3.org/2001/XMLSchema"
    xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
    <complexType name="wstest_test2_APIClass3" jdev:packageName="wstest.test2" xmlns:jdev="http://xmlns.oracle.com/jdeveloper/webservices">
    <all>
    <element name="Name" type="string"/>
    <element name="Value" type="double"/>
    </all>
    </complexType>
    <complexType name="wstest_test2_APIClass1" jdev:packageName="wstest.test2" xmlns:jdev="http://xmlns.oracle.com/jdeveloper/webservices">
    <all>
    <element name="Name" type="string"/>
    <element name="Value" type="double"/>
    <element name="APIClass2" type="ns1:wstest_test2_APIClass2"/>
    </all>
    </complexType>
    <complexType name="wstest_test2_APIClass2" jdev:packageName="wstest.test2" xmlns:jdev="http://xmlns.oracle.com/jdeveloper/webservices">
    <all>
    <element name="IntegerValue" type="int"/>
    <element name="DoubleValue" type="double"/>
    <element name="Name" type="string"/>
    </all>
    </complexType>
    </schema>
    </types>
    <message name="doSomething0Request">
    <part name="p0" type="ns1:wstest_test2_APIClass3"/>
    </message>
    <message name="doSomething0Response">
    <part name="return" type="ns1:wstest_test2_APIClass1"/>
    </message>
    <portType name="StatelessTest2PortType">
    <operation name="doSomething">
    <input name="doSomething0Request" message="tns:doSomething0Request"/>
    <output name="doSomething0Response" message="tns:doSomething0Response"/>
    </operation>
    </portType>
    <binding name="StatelessTest2Binding" type="tns:StatelessTest2PortType">
    <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="doSomething">
    <soap:operation soapAction="" style="rpc"/>
    <input name="doSomething0Request">
    <soap:body use="encoded" namespace="wstest.test2.StatelessTest2" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
    </input>
    <output name="doSomething0Response">
    <soap:body use="encoded" namespace="wstest.test2.StatelessTest2" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
    </output>
    </operation>
    </binding>
    <service name="StatelessTest2">
    <port name="StatelessTest2Port" binding="tns:StatelessTest2Binding">
    <soap:address location="http://localhost:8888/soap/servlet/soaprouter"/>
    </port>
    </service>
    </definitions>
    Deployment Decriptor
    ====================
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <!--Generated by the Oracle9i JDeveloper Web Services Deployment Descriptor Generator-->
    <!--This Deployment Descriptor file is for use with the Oracle9iAS Release 2 / Apache 2.2 SOAP Server SOAP Server-->
    <!--Date Created: Wed Sep 11 15:54:09 BST 2002-->
    <isd:service
    id="wstest.test2.StatelessTest2"
    type="rpc"
    xmlns:isd="http://xmlns.oracle.com/soap/2001/04/deploy/service">
    <isd:provider
    id="stateless-ejb-provider"
    methods="doSomething"
    scope="Request">
    <isd:option key="JNDILocation" value="StatelessTest2"/>
    <isd:option key="DeploymentName" value="StatelessTest2"/>
    </isd:provider>
    <isd:faultListener
    class="org.apache.soap.server.DOMFaultListener"/>
    <isd:mappings>
    <isd:map
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:x="http://wstest.test2/IStatelessTest2.xsd"
    qname="x:wstest_test2_APIClass1"
    javaType="wstest.test2.APIClass1"
    java2XMLClassName="org.apache.soap.encoding.soapenc.BeanSerializer"
    xml2JavaClassName="org.apache.soap.encoding.soapenc.BeanSerializer"/>
    <isd:map
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:x="http://wstest.test2/IStatelessTest2.xsd"
    qname="x:wstest_test2_APIClass2"
    javaType="wstest.test2.APIClass2"
    java2XMLClassName="org.apache.soap.encoding.soapenc.BeanSerializer"
    xml2JavaClassName="org.apache.soap.encoding.soapenc.BeanSerializer"/>
    <isd:map
    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:x="http://wstest.test2/IStatelessTest2.xsd"
    qname="x:wstest_test2_APIClass3"
    javaType="wstest.test2.APIClass3"
    java2XMLClassName="org.apache.soap.encoding.soapenc.BeanSerializer"
    xml2JavaClassName="org.apache.soap.encoding.soapenc.BeanSerializer"/>
    </isd:mappings>
    </isd:service>
    StatelesTest2.java
    ==================
    package wstest.test2;
    import javax.ejb.EJBObject;
    import java.rmi.RemoteException;
    public interface StatelessTest2 extends EJBObject {
    * @webmethod
    APIClass1 doSomething(APIClass3 p0) throws RemoteException;
    StatelessTest2Bean.java
    =======================
    package wstest.test2.impl;
    import javax.ejb.SessionBean;
    import javax.ejb.SessionContext;
    import wstest.test2.APIClass1;
    import wstest.test2.APIClass2;
    import wstest.test2.APIClass3;
    public class StatelessTest2Bean implements SessionBean {
    public void ejbCreate() {
    public void ejbActivate() {
    public void ejbPassivate() {
    public void ejbRemove() {
    public void setSessionContext(SessionContext ctx) {
    public APIClass1 doSomething(APIClass3 p0) {
    APIClass1 ac1 = new APIClass1();
    ac1.setName(p0.getName() + "1");
    ac1.setValue(p0.getValue());
    APIClass2 ac2 = ac1.getAPIClass2();
    ac2.setName(p0.getName() + "2");
    ac2.setIntegerValue(new Integer(ac1.getValue().intValue()));
    ac2.setDoubleValue(new Double(ac1.getValue().doubleValue() * 2.0));
    return ac1;
    EmbeddedStatelessTest2Stub.java
    ===============================
    I change the http port from 8988 to 8888 to get this working. Also, the generated referenced a new class APIClass31, also generated, but as it didn't make any difference to the problem I replaced it with APIClass3, which has essentially the same characteristics.
    package wstest.test2;
    import oracle.soap.transport.http.OracleSOAPHTTPConnection;
    import org.apache.soap.encoding.soapenc.BeanSerializer;
    import org.apache.soap.encoding.SOAPMappingRegistry;
    import org.apache.soap.util.xml.QName;
    import java.net.URL;
    import org.apache.soap.Constants;
    import org.apache.soap.Fault;
    import org.apache.soap.SOAPException;
    import org.apache.soap.rpc.Call;
    import org.apache.soap.rpc.Parameter;
    import org.apache.soap.rpc.Response;
    import wstest.test2.*;
    import java.util.Vector;
    import java.util.Properties;
    import wstest.test2.APIClass1;
    import wstest.test2.APIClass2;
    import wstest.test2.APIClass3;
    * Generated by the Oracle9i JDeveloper Web Services Stub/Skeleton Generator.
    * Date Created: Wed Sep 11 15:41:19 BST 2002
    * WSDL URL: file:/C:/Projects/WSTest/Test2/src/wstest/test2/StatelessTest2.wsdl
    public class EmbeddedStatelessTest2Stub
    public EmbeddedStatelessTest2Stub()
    m_httpConnection = new OracleSOAPHTTPConnection();
    m_smr = new SOAPMappingRegistry();
    BeanSerializer beanSer = new BeanSerializer();
    m_smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName("http://wstest.test2/IStatelessTest2.xsd", "wstest_test2_APIClass1"), wstest.test2.APIClass1.class, beanSer, beanSer);
    m_smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName("http://wstest.test2/IStatelessTest2.xsd", "wstest_test2_APIClass2"), wstest.test2.APIClass2.class, beanSer, beanSer);
    m_smr.mapTypes(Constants.NS_URI_SOAP_ENC, new QName("http://wstest.test2/IStatelessTest2.xsd", "wstest_test2_APIClass3"), wstest.test2.APIClass3.class, beanSer, beanSer);
    public static void main(String[] args)
    try
    EmbeddedStatelessTest2Stub stub = new EmbeddedStatelessTest2Stub();
    // Add your own code here.
    APIClass3 ac3 = new APIClass3();
    ac3.setName("fred");
    ac3.setValue(new Double(17.36));
    printAPIClass3("Input", ac3);
    APIClass1 retAc1 = stub.doSomething(ac3);
    printAPIClass1("Return", retAc1);
    catch(Exception ex)
    ex.printStackTrace();
    public String endpoint = "http://172.25.1.176:8888/soap/servlet/soaprouter";
    private OracleSOAPHTTPConnection m_httpConnection = null;
    private SOAPMappingRegistry m_smr = null;
    public APIClass1 doSomething(APIClass3 p0) throws Exception
    APIClass1 returnVal = null;
    URL endpointURL = new URL(endpoint);
    Call call = new Call();
    call.setSOAPTransport(m_httpConnection);
    call.setTargetObjectURI("wstest.test2.StatelessTest2");
    call.setMethodName("doSomething");
    call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
    Vector params = new Vector();
    params.addElement(new Parameter("p0", wstest.test2.APIClass3.class, p0, null));
    call.setParams(params);
    call.setSOAPMappingRegistry(m_smr);
    Response response = call.invoke(endpointURL, "");
    if (!response.generatedFault())
    Parameter result = response.getReturnValue();
    returnVal = (APIClass1)result.getValue();
    else
    Fault fault = response.getFault();
    throw new SOAPException(fault.getFaultCode(), fault.getFaultString());
    return returnVal;
    private static void printAPIClass3(String prefix, APIClass3 ac3)
    System.out.println(prefix + ": [" + ac3.getName() + ", " + ac3.getValue() + "]");
    private static void printAPIClass1(String prefix, APIClass1 ac1)
    APIClass2 ac2 = ac1.getAPIClass2();
    System.out.println(prefix + ": [" + ac1.getName() + ", " + ac1.getValue() + " ["
    + ac2.getName() + ", " + ac2.getIntegerValue() + ", " + ac2.getDoubleValue()
    + "]]");
    public void setMaintainSession(boolean maintainSession)
    m_httpConnection.setMaintainSession(maintainSession);
    public boolean getMaintainSession()
    return m_httpConnection.getMaintainSession();
    public void setTransportProperties(Properties props)
    m_httpConnection.setProperties(props);
    public Properties getTransportProperties()
    return m_httpConnection.getProperties();
    APIClass1.java
    ==============
    package wstest.test2;
    import java.io.Serializable;
    public class APIClass1 implements Serializable {
    private String name;
    private Double value;
    private APIClass2 apiClass2;
    public APIClass1() {
    name = new String("");
    value = new Double(0.0);
    apiClass2 = new APIClass2();
    public String getName() {
    return name;
    public void setName(String newName) {
    name = new String(newName);
    public Double getValue() {
    return value;
    public void setValue(Double newValue) {
    value = new Double(newValue.doubleValue());
    public APIClass2 getAPIClass2() {
    return apiClass2;
    public void setAPIClass2(APIClass2 newAPIClass2) {
    apiClass2 = new APIClass2();
    apiClass2.setName(newAPIClass2.getName());
    apiClass2.setDoubleValue(newAPIClass2.getDoubleValue());
    apiClass2.setIntegerValue(newAPIClass2.getIntegerValue());
    APIClass2.java
    ==============
    package wstest.test2;
    import java.io.Serializable;
    public class APIClass2 implements Serializable {
    private String name;
    private Integer iVal;
    private Double dVal;
    public APIClass2() {
    iVal = new Integer(0);
    dVal = new Double(0.0);
    name = new String("");
    public Integer getIntegerValue() {
    return iVal;
    public void setIntegerValue(Integer newIVal) {
    iVal = new Integer(newIVal.intValue());
    public Double getDoubleValue() {
    return dVal;
    public void setDoubleValue(Double newDoubleValue) {
    dVal = new Double(newDoubleValue.doubleValue());
    public String getName() {
    return name;
    public void setName(String newName) {
    name = new String(newName);
    APIClass3.java
    ==============
    package wstest.test2;
    import java.io.Serializable;
    public class APIClass3 implements Serializable {
    private String name;
    private Double value;
    public APIClass3() {
    public String getName() {
    return name;
    public void setName(String newName) {
    name = new String(newName);
    public Double getValue() {
    return value;
    public void setValue(Double newValue) {
    value = new Double(newValue.doubleValue());
    APIClass31.java
    ===============
    package wstest.test2;
    * Generated by the Oracle9i JDeveloper Web Services Stub/Skeleton Generator.
    * Date Created: Wed Sep 11 10:44:56 BST 2002
    * <pre>
    * &lt;complexType name="wstest_test2_APIClass3" jdev:packageName="wstest.test2" xmlns:jdev="http://xmlns.oracle.com/jdeveloper/webservices">
    * &lt;all>
    * &lt;element name="Name" type="string"/>
    * &lt;element name="Value" type="double"/>
    * &lt;/all>
    * &lt;/complexType>
    * </pre>
    public class APIClass31 {
    private String m_Name;
    private Double m_Value;
    public APIClass31() {
    public APIClass31(String Name, Double Value) {
    m_Name = Name;
    m_Value = Value;
    public void setName(String Name) {
    m_Name = Name;
    public String getName() {
    return m_Name;
    public void setValue(Double Value) {
    m_Value = Value;
    public Double getValue() {
    return m_Value;

    I believe this is a bug in JDev/OC4J 9.0.3 that is being further investigated right now. I have duplicated your problem in a simpler test case and folks are looking into it.
    Mike.

  • How can i  change the column label text in a alv table display

    how can i change the column label text in a alv table display??
    A similar kinda of question was posted previuosly where the requirement was the label text was needed and following below code was given as solution :
    <i>*  declare column, settings, header object
    DATA: lr_column TYPE REF TO cl_salv_wd_column.
    DATA: lr_column_settings TYPE REF TO if_salv_wd_column_settings.
    DATA: lr_column_header type ref to CL_SALV_WD_COLUMN_HEADER.
    get column by specifying column name.
    lr_column = lr_column_settings->get_column( 'COLUMN_NAME1' ).
    set Header Text as null
    lr_column_header = lr_column->get_header( ).
    lr_column_header->set_text( ' ' ).</i>
    My specific requirement is i have an input field on the screen and i want reflect that value as the column label for one of the column in the alv table. I have used he above code with slight modification in the MODIFYVIEW method of the view since it is a process after input. The component gets activated without any errors but while run time i get an error stating
    <i>"The following error text was processed in the system CDV : Access via 'NULL' object reference not possible."</i>
    i have checked in debugging and the error occured at the statement :
    <i>lr_column = lr_column_settings->get_column( 'CURRENT_YEAR' ).</i>Please can you provide me an alternative for my requirement or correct me if i have done it wrong.
    Thanks,
    Suri

    I found it myself how to do it. The error says that it is not able to find the reference object i.e  it is asking us to refer to the table. The following piece of code will solve this problem. Have to implement this in WDDOMODIFYVIEW method of the view. This thing works comrades enjoy...
      DATA : lr_cmp_usage TYPE REF TO if_wd_component_usage,
             lr_if_controller  TYPE REF TO iwci_salv_wd_table,
             lr_cmdl   TYPE REF TO cl_salv_wd_config_table,
             lr_col    TYPE REF TO cl_salv_wd_column.
      DATA : node_year  TYPE REF TO if_wd_context_node,
             elem_year  TYPE REF TO if_wd_context_element,
             stru_year  TYPE if_alv_layout=>element_importing,
             item_year  LIKE stru_year-i_current_year,
             lf_string    TYPE char(x),
      DATA: lr_column TYPE REF TO cl_salv_wd_column.
      DATA: lr_column_header TYPE REF TO cl_salv_wd_column_header.
      DATA: lr_column_settings TYPE REF TO if_salv_wd_column_settings.
    Get the entered value from the input field of the screen
    node_year  = wd_context->get_child_node( name = 'IMPORTING_NODE' ).
    elem_year  = node_year->get_element( ).
      elem_year->get_attribute(
       EXPORTING
        name = 'IMPORT_NODE-PARAMETER'
       IMPORTING
        value = L_IMPORT_PARAM ).
      WRITE L_IMPORT_PARAM TO lf_string.
    Get the reference of the table
      lr_cmp_usage  =  wd_this->wd_cpuse_alv( ).
      IF lr_cmp_usage->has_active_component( ) IS INITIAL.
        lr_cmp_usage->create_component( ).
      ENDIF.
      lr_if_controller  = wd_this->wd_cpifc_alv( ).
      lr_column_settings = lr_if_controller->get_model( ).
    get column by specifying column name.
      IF lr_column_settings IS BOUND.
        lr_column = lr_column_settings->get_column( 'COLUMN_NAME').
    set Header Text as null
        lr_column_header = lr_column->get_header( ).
        lr_column_header->set_text( lf_string ).
    endif.

  • How can I trap & display HTML syntax errors in mx:HTML at run time?

    I am loading HTML pages into an mx:HTML component in an AIR application. If the HTML contains errors, they show up in the trace window in debug mode.  I'd like to trap that information so I can tell the usere that there are errors (and what they are) in the production version of the application. How can I get at those errors?

    I found it myself how to do it. The error says that it is not able to find the reference object i.e  it is asking us to refer to the table. The following piece of code will solve this problem. Have to implement this in WDDOMODIFYVIEW method of the view. This thing works comrades enjoy...
      DATA : lr_cmp_usage TYPE REF TO if_wd_component_usage,
             lr_if_controller  TYPE REF TO iwci_salv_wd_table,
             lr_cmdl   TYPE REF TO cl_salv_wd_config_table,
             lr_col    TYPE REF TO cl_salv_wd_column.
      DATA : node_year  TYPE REF TO if_wd_context_node,
             elem_year  TYPE REF TO if_wd_context_element,
             stru_year  TYPE if_alv_layout=>element_importing,
             item_year  LIKE stru_year-i_current_year,
             lf_string    TYPE char(x),
      DATA: lr_column TYPE REF TO cl_salv_wd_column.
      DATA: lr_column_header TYPE REF TO cl_salv_wd_column_header.
      DATA: lr_column_settings TYPE REF TO if_salv_wd_column_settings.
    Get the entered value from the input field of the screen
    node_year  = wd_context->get_child_node( name = 'IMPORTING_NODE' ).
    elem_year  = node_year->get_element( ).
      elem_year->get_attribute(
       EXPORTING
        name = 'IMPORT_NODE-PARAMETER'
       IMPORTING
        value = L_IMPORT_PARAM ).
      WRITE L_IMPORT_PARAM TO lf_string.
    Get the reference of the table
      lr_cmp_usage  =  wd_this->wd_cpuse_alv( ).
      IF lr_cmp_usage->has_active_component( ) IS INITIAL.
        lr_cmp_usage->create_component( ).
      ENDIF.
      lr_if_controller  = wd_this->wd_cpifc_alv( ).
      lr_column_settings = lr_if_controller->get_model( ).
    get column by specifying column name.
      IF lr_column_settings IS BOUND.
        lr_column = lr_column_settings->get_column( 'COLUMN_NAME').
    set Header Text as null
        lr_column_header = lr_column->get_header( ).
        lr_column_header->set_text( lf_string ).
    endif.

  • Calling a WebServices From Java Stored Proc fails with Connection refused

    I have followed the example in Note:220662.1 on Metalink step by step.
    I am using two windows machines (2000 SP4). I have Oracle 9.2.0.5 EE on one of them and OC4J 9.0.4 standalone on the other(running on JVM 1.4.2_05-b04). The 2 servers "see" each other over the network.
    I can execute the stub from the database machine:
    C:\WebServices\HelloWorld>java HelloWorldImplWSStub
    Hello World - The current time is Sat Aug 21 11:56:20 EDT 2004When running it from the database, I get:
    SQL> select ws_hello_world from dual;
    select ws_hello_world from dual
    ERROR at line 1:
    ORA-29532: Java call terminated by uncaught Java exception: [SOAPException:
    faultCode=SOAP-ENV:IOException; msg=Connection refused;
    targetException=java.net.ConnectException: Connection refused]
    Elapsed: 00:00:21.02The trace file generated on the database server machine looks like:
    [SOAPException: faultCode=SOAP-ENV:IOException; msg=Connection refused; targetException=java.net.ConnectException: Connection refused]
      at oracle.soap.transport.http.OracleSOAPHTTPConnection.send(OracleSOAPHTTPConnection.java:765)
      at org.apache.soap.rpc.Call.invoke(Call.java:261)
      at HelloWorldImplWSStub.sayHelloWorld(HelloWorldImplWSStub.java:52)Here is the stub code generated using JDeveloper 9.0.5.1:
    import oracle.soap.transport.http.OracleSOAPHTTPConnection;
    import org.apache.soap.encoding.SOAPMappingRegistry;
    import java.net.URL;
    import org.apache.soap.rpc.Call;
    import org.apache.soap.Constants;
    import java.util.Vector;
    import org.apache.soap.rpc.Response;
    import org.apache.soap.rpc.Parameter;
    import org.apache.soap.Fault;
    import org.apache.soap.SOAPException;
    import java.util.Properties;
    public class HelloWorldImplWSStub  {
      public HelloWorldImplWSStub() {
        m_httpConnection = new OracleSOAPHTTPConnection();
        m_smr = new SOAPMappingRegistry();
      public static String endpoint = "http://oc4jsrv:8888/MyWorkarea-OC4J-context-root/HelloWorldImplWS";
      public String getEndpoint() {
        return _endpoint;
      public void setEndpoint(String endpoint) {
        _endpoint = endpoint;
      private static OracleSOAPHTTPConnection m_httpConnection = null;
      private static SOAPMappingRegistry m_smr = null;
      public static String sayHelloWorld() throws Exception {
        String returnVal = null;
        URL endpointURL = new URL(_endpoint);
        Call call = new Call();
        call.setSOAPTransport(m_httpConnection);
        call.setTargetObjectURI("HelloWorldImplWS");
        call.setMethodName("sayHelloWorld");
        call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
        Vector params = new Vector();
        call.setParams(params);
        call.setSOAPMappingRegistry(m_smr);
        Response response = call.invoke(endpointURL, "");
        if (!response.generatedFault()) {
          Parameter result = response.getReturnValue();
          returnVal = (String)result.getValue();
        else {
          Fault fault = response.getFault();
          throw new SOAPException(fault.getFaultCode(), fault.getFaultString());
        return returnVal;
      public void setMaintainSession(boolean maintainSession) {
        m_httpConnection.setMaintainSession(maintainSession);
      public boolean getMaintainSession() {
        return m_httpConnection.getMaintainSession();
      public void setTransportProperties(Properties props) {
        m_httpConnection.setProperties(props);
      public Properties getTransportProperties() {
        return m_httpConnection.getProperties();
       public static void main(String[] argv) throws Exception   {    
        HelloWorldImplWSStub hstub = new HelloWorldImplWSStub();    
        System.out.println(hstub.sayHelloWorld());  
    }The PL/SQL function code:
    CREATE OR REPLACE FUNCTION ws_hello_world RETURN VARCHAR2
    AS LANGUAGE JAVA
    NAME 'HelloWorldImplWSStub.sayHelloWorld() return java.lang.String';Any help would be greatly appreciated.

    Hello,I have the same problem. Did you find any solution to it?
    Thanks. Diego (Argentina)

  • Parsing error when running a SOAP client

    New to SOAP. Tring to get get it up an running using some of the Oreilly examples from Java and XML. Anyone with any suggestions to fix the error I am getting. Thanx in advance.
    1>This is my simple SAX client:
    package xml;
    import java.net.URL;
    import java.util.Vector;
    import org.apache.soap.Constants;
    import org.apache.soap.Fault;
    import org.apache.soap.rpc.Call;
    import org.apache.soap.SOAPException;
    import org.apache.soap.rpc.Parameter;
    import org.apache.soap.rpc.Response;
    public class CDAdder {
    public void add(URL url, String title, String artist) throws SOAPException {
    System.out.println("Adding CD titled '" + title + "' by '" + artist + "'");
    //Build the call object
    Call call = new Call();
    call.setEncodingStyleURI("urn:cd-catalog");
    call.setMethodName("addCD");
    call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
    //Setup the parameters
    Vector params = new Vector();
    params.addElement(new Parameter("title",String.class,title,null));
    params.addElement(new Parameter("artist",String.class,artist,null));
    call.setParams(params);
    //Invoke the call
    Response response;
    response = call.invoke(url,"");
    if(!response.generatedFault()) {
    System.out.println("Successful CD Addition");
    } else {
    Fault fault = response.getFault();
    System.out.println("Error encountered: " + fault.getFaultString());
    public static void main(String[] args) {
    try {
    URL url = new URL("http://localhost:8081/soap/servlet/rpcrouter");
    String title = "Riding the Midnight Train";
    String artist = "Doc Watson";
    CDAdder adder = new CDAdder();
    adder.add(url, title, artist);
    } catch(Exception e) {
    e.printStackTrace();
    2>My service:
    package javaxml2;
    import java.util.Hashtable;
    public class CDCatalog {
    private Hashtable catalog;
    public CDCatalog() {
    catalog = new Hashtable();
    catalog.put("Nickel Creek", "Nickel Creek");
    catalog.put("Let it Fall", "Sean Watkins");
    catalog.put("Aerial Boundaries", "Michael Hedges");
    catalog.put("Taproot", "Michael Hedges");
    public void addCD(String title, String artist) {
    if ((title == null) || (artist==null)) {
    throw new IllegalArgumentException("Title or Artist cannot be null.");
    catalog.put(title, artist);
    public String getArtist(String title) {
    if (title == null) {
    throw new IllegalArgumentException("Title cannot be null.");
    return (String)catalog.get(title);
    public Hashtable list() {
    return catalog;
    3>My deployement descriptor:
    <isd:service xmlns:isd="http://xml.apache.org/xml-soap/deployment"
    id="urn:cd-catalog"
    >
    <isd:provider type="java"
    scope="Application"
    methods="addCD getCD list"
    >
    <isd:java class="javaxml2.CDCatalog" static="false" />
    </isd:provider>
    <isd:faultListener>org.apache.soap.server.DOMFaultListener</isd:faultListener>
    </isd:service>
    4>I have deployed the SOAP Service:
    D:\XML-RPC\javaxml2>java org.apache.soap.server.ServiceManagerClient http://loca
    lhost:8081/soap/servlet/rpcrouter deploy xml/CDCatalogDD.xml
    D:\XML-RPC\javaxml2>java org.apache.soap.server.ServiceManagerClient http://loca
    lhost:8081/soap/servlet/rpcrouter list
    Deployed Services:
    urn:cd-catalog
    D:\XML-RPC\javaxml2>
    Error when I try using the service:FYI: I am running the client with JBuilder 2005
    Adding CD titled 'Riding the Midnight Train' by 'Doc Watson'
    Error encountered: parsing error: org.xml.sax.SAXParseException: The value of the attribute "prefix="xmlns",localpart="ns1",rawname="xmlns:ns1"" is invalid. Prefixed namespace bindings may not be empty.

    call.setEncodingStyleURI("urn:cd-catalog");
    in the SOAP client has to be
    call.setTargetObjectURI("urn:cd-catalog");

  • Printing problem for inkjet Printer

    Dear All,
    my requirement is that the printing output to the inkjet printer.
    till now we are using smartforms/script and printing output to laser/dmp printer.
    can any body suggest how to code for inkjet printer and what all other factor to be consider.
    if any sample code, pls provide same.
    Thanks,
    Radhashyam Sahoo

    Hi,
    Pls follow the steps.
    1. Goto t-code SPAD. Give the o/p device number here, than display. (For eg PR01)
    2. Here in Device type, You can specify your Device whichever you would like to use. Keep the other field as per your requirement.
    In sapscript driver program, follow the coding:
    data : s_itcpo type itcpo.
      s_itcpo-TDDEST = 'PR01'.   -----> Output device
      s_itcpo-tdimmed   = 'X'.
      s_itcpo-tddelete  = 'X'.
      s_itcpo-tdnewid  = 'X'.
    *     Display one dialog for user. Then enable several SAP-Script to prt
      call function 'OPEN_FORM'
        exporting
          device   = 'PRINTER'
          dialog   = 'X'
          language = sy-langu
          options  = s_itcpo   ----- > +Printing parameter+
        importing
          language = sy-langu
        exceptions
          canceled = 1
          device   = 2
          form     = 3
          options  = 4
          unclosed = 5
          others   = 6.
    Same thing you can define for smart forms before calling a smartform.
    Is it helpful?
    Regrads,
    Lokesh.

  • BADI or User exit  for FB50 to update custom field in table COEP

    Hi all,
    i have added one custom field in table COEP through include CI_COBL .
    when i do posting through sales order(VA02) or purchase order(ME22n) that custom fields in COEP get updated with controlling document
    and through BADI AC_DOCUMENT i m updating that custom field in COEP.
    but when i do manual posting through FB50 controlling document is generated in COEP but i m not able to update that custom field
    because in this case BADI AC_DOCUMENT  is not get triggered.
    is there any BADI or User exit or enhancement spot for FB50 through which i can update that custom field in table COEP

    Hi Sandy,
    Thanks for u r reply,
    RFAVIS01 is not getting triggered through FB50
    and F180A001 ( EXIT_SAPLF048_001) is getting triggered but it doesnt contain COEP field in its parameter
    import - F180A_DOC_HEAD_TAB
                 F180A_DOC_ITEM_TAB
    changing - RELATION_TAB

Maybe you are looking for

  • Error in setting datasource - Crystal reports

    Good day, I am currently experiencing a problem with setting my datasource to a report in Crystal Reports. Strangely, the report works in VS 2010, but when running as an executable, the program fails when assigning the datasource. My code:     Public

  • Drop Down Menu going up in IE 8- HELP!

    I'm new to using the spry widgets in CS3 Dreamweaver, and I'm trying to create my first horizontal menu where one of the items will have a drop down menu.  It works in all browsers except for IE8, where it starts at the top of the page and goes down.

  • How to get standalone Oracle HTTP Server with mod_plsql?

    Hi, I do not know if it is just me but it seems to be a nightmare to get OHS with mod_plsql from the official OTN download site. I downoaded the companion CD for Windows - 3 disks, installed OHS - no mod_plsql. Then I tried to find any clue on OTN on

  • How to make table cells mandatory when visible

    I have a form with two hidden subforms. Each subform contains a table with fields that need to be mandatory when visible. The subforms are hidden or revealed based on a selection from a drop-down list. I found the below script which works great for m

  • Error in writing condition in a query

    Hi following is a working code declare @dte as datetime='2015-04-01' declare @StDt as Datetime = DATEADD(mm,DATEDIFF(mm,0,@dte), 0) declare @EnDt as datetime = DATEADD( DD, -1, DATEADD(mm,DATEDIFF(mm,0,@dte) + 1, 0)); DECLARE @query AS NVARCHAR(MAX);