Njawin method call with arrays

I have a problem when calling this method in NJAWIN
Sub AddItems(NumItems As Long, ItemIDs() As String, ClientHandles() As Long, ServerHandles() As Long, Errors() As Long, [RequestedDataTypes], [AccessPaths])The njawin created code signature looks like this:
public void AddItems(int NumItems, ObjectRef  ItemIDs, ObjectRef  ClientHandles, ObjectRef  ServerHandles, ObjectRef  Errors) throws COMException {
        invokeN("AddItems", new Object[]{new java.lang.Integer(NumItems), ItemIDs, ClientHandles, ServerHandles, Errors}, 5);
public void AddItems(int NumItems, ObjectRef  ItemIDs, ObjectRef  ClientHandles, ObjectRef  ServerHandles, ObjectRef  Errors, java.lang.Object RequestedDataTypes) throws COMException {
        invokeN("AddItems", new Object[]{new java.lang.Integer(NumItems), ItemIDs, ClientHandles, ServerHandles, Errors, RequestedDataTypes}, 6);
public void AddItems(int NumItems, ObjectRef  ItemIDs, ObjectRef  ClientHandles, ObjectRef  ServerHandles, ObjectRef  Errors, java.lang.Object RequestedDataTypes, java.lang.Object AccessPaths) throws COMException {
        invokeN("AddItems", new Object[]{new java.lang.Integer(NumItems), ItemIDs, ClientHandles, ServerHandles, Errors, RequestedDataTypes, AccessPaths}, 7);
    }I tried to call one of this methodes in many different ways, but i always got this Exception.
Exception:
Exception in thread "main" java.lang.Error: Type cannot be marshalled to variant: class com.develop.jawin.Variant
     at com.develop.jawin.Variant.marshalInRef(Unknown Source)
     at com.develop.jawin.Variant.marshalIn(Unknown Source)
     at com.develop.jawin.UnknownPtr.invokeN(Unknown Source)
     at OPCSiemensDAAutomation.OPCItems.AddItems(OPCItems.java:131)
     at OPCSiemensDAAutomation.TestNew.<init>(TestNew.java:47)
     at OPCSiemensDAAutomation.TestNew.main(TestNew.java:56)
Can anybody tell me, how to call this method in the right way??
How do i create the proper ObjectRef types??
Thx in advance...

I have a problem when calling this method in NJAWIN
Sub AddItems(NumItems As Long, ItemIDs() As String, ClientHandles() As Long, ServerHandles() As Long, Errors() As Long, [RequestedDataTypes], [AccessPaths])The njawin created code signature looks like this:
public void AddItems(int NumItems, ObjectRef  ItemIDs, ObjectRef  ClientHandles, ObjectRef  ServerHandles, ObjectRef  Errors) throws COMException {
        invokeN("AddItems", new Object[]{new java.lang.Integer(NumItems), ItemIDs, ClientHandles, ServerHandles, Errors}, 5);
public void AddItems(int NumItems, ObjectRef  ItemIDs, ObjectRef  ClientHandles, ObjectRef  ServerHandles, ObjectRef  Errors, java.lang.Object RequestedDataTypes) throws COMException {
        invokeN("AddItems", new Object[]{new java.lang.Integer(NumItems), ItemIDs, ClientHandles, ServerHandles, Errors, RequestedDataTypes}, 6);
public void AddItems(int NumItems, ObjectRef  ItemIDs, ObjectRef  ClientHandles, ObjectRef  ServerHandles, ObjectRef  Errors, java.lang.Object RequestedDataTypes, java.lang.Object AccessPaths) throws COMException {
        invokeN("AddItems", new Object[]{new java.lang.Integer(NumItems), ItemIDs, ClientHandles, ServerHandles, Errors, RequestedDataTypes, AccessPaths}, 7);
    }I tried to call one of this methodes in many different ways, but i always got this Exception.
Exception:
Exception in thread "main" java.lang.Error: Type cannot be marshalled to variant: class com.develop.jawin.Variant
     at com.develop.jawin.Variant.marshalInRef(Unknown Source)
     at com.develop.jawin.Variant.marshalIn(Unknown Source)
     at com.develop.jawin.UnknownPtr.invokeN(Unknown Source)
     at OPCSiemensDAAutomation.OPCItems.AddItems(OPCItems.java:131)
     at OPCSiemensDAAutomation.TestNew.<init>(TestNew.java:47)
     at OPCSiemensDAAutomation.TestNew.main(TestNew.java:56)
Can anybody tell me, how to call this method in the right way??
How do i create the proper ObjectRef types??
Thx in advance...

Similar Messages

  • ADF Mobile: WebService data control method call with array

    JDev 11.1.2.3
    ADF Mobile deployed to Android emulator
    Hello All,
    I am trying to invoke a method in my Web Service data control and get the following exception
    Caused by: ERROR [oracle.adfmf.framework.exception.AdfInvocationRuntimeException] - Cannot serialize: [I@1dbae822
            at oracle.adfmf.dc.ws.soap.SoapTransportLayer.invokeSoapRequest(Lorg/ksoap2/SoapEnvelope;)Ljava/lang/Object;(Unknown Source)
            at oracle.adfmf.dc.ws.soap.SoapWebServiceOperation.invoke(Ljava/lang/String;Loracle/adfmf/dc/ws/soap/SoapGenericType;)Ljava/lang/Object;(Unknown Source)
            at oracle.adfmf.dc.ws.soap.SoapWebServiceOperation.invoke(Ljava/lang/String;Ljava/util/Map;)Ljava/lang/Object;(Unknown Source)
            at oracle.adfmf.dc.JavaBeanOperation.execute(Ljava/lang/Object;Ljava/util/Map;)Ljava/lang/Object;(Unknown Source)
            at oracle.adfmf.dc.ws.WebServiceDataControlAdapter.invokeOperation(Ljava/util/Map;Loracle/adfmf/bindings/OperationBinding;)Z(Unknown Source)
            at oracle.adfmf.bindings.dbf.AmxMethodActionBinding.execute()Ljava/lang/Object;(Unknown Source) This method is an AppModule method exposed as a service interface and the parameter for this method is a List<oracle.jbo.domain.Number>. The schema definition for the input is as follows:
    <element name="acceptTask">
       <complexType>
         <sequence>
                <element maxOccurs="unbounded" minOccurs="0" name="taskID" type="decimal"/>
         </sequence>
       </complexType>
    </element>For the input to my binding, I have tried int[], Integer[] and List<Integer>. All of these result in similar errors.
    I have also tried invoking this through a regular ADF application and that works fine with an int[]. It looks like something specific to the ADF Mobile SOAP layer.
    Is this a bug or a restriction in the framework? Any workarounds that has worked for anyone?

    No luck. A WS DC method call with a simple parameter (java.lang.String or java.lang.Integer) works fine but I can't get it to work when there is an array input.
    I have tried WS methods with int arrays and simple string arrays without any luck. All of them result in a cannot serialize error.
    I can't figure out what I am doing wrong. Are there any working WS Datacontrol samples with array inputs?

  • 11g Task flow - Method call with router Issue

    Hi, I am using bounded task flow method call - which is default activity. The outcome of method call will go to a router and that decides which method/page fragment has to be selected. But when ever i try to call the default activity only the default out come of the router (Page fragment) is shown in the jspx. When click on some button which is binded with the default activity - the task flow is not working as i expected. Pls find the code of my task flow below.
    <?xml version="1.0" encoding="windows-1252" ?>
    <adfc-config xmlns="http://xmlns.oracle.com/adf/controller" version="1.2">
    <task-flow-definition id="methodcall2task-flow-definition">
    <default-activity>initiatetaskflow</default-activity>
    <data-control-scope>
    <shared/>
    </data-control-scope>
    <input-parameter-definition>
    <name>methodname</name>
    <value>#{CompanyBean.methodname}</value>
    </input-parameter-definition>
    <managed-bean>
    <managed-bean-name>CompanyBean</managed-bean-name>
    <managed-bean-class>com.boeing.seds.view.company.CompanyBean</managed-bean-class>
    <managed-bean-scope>request</managed-bean-scope>
    </managed-bean>
    <method-call id="initiatetaskflow">
    <method>#{CompanyBean.test}</method>
    <outcome>
    <fixed-outcome>#{CompanyBean.methodname}</fixed-outcome>
    </outcome>
    </method-call>
    <router id="selectMethod">
    <case>
    <expression>#{CompanyBean.methodname eq 'default'}</expression>
    <outcome>default</outcome>
    </case>
    <case>
    <expression>#{CompanyBean.methodname eq 'addcompany'}</expression>
    <outcome>addcompany</outcome>
    </case>
    <case>
    <expression>#{CompanyBean.methodname eq 'gotoAddress'}</expression>
    <outcome>gotoAddress</outcome>
    </case>
    <case>
    <expression>#{CompanyBean.methodname eq 'gotoDist'}</expression>
    <outcome>gotoDist</outcome>
    </case>
    <default-outcome>gotoAddress</default-outcome>
    </router>
    <view id="default">
    <page>/includes/company/default.jsff</page>
    </view>
    <view id="addnewcompanyFrgmt">
    <page>/includes/company/addnewcompanyFrgmt.jsff</page>
    </view>
    <method-call id="methodCall1">
    <method>#{CompanyBean.addCompany}</method>
    <outcome>
    <to-string/>
    </outcome>
    </method-call>
    <view id="supplierAddressFrgmt">
    <page>/includes/company/supplierAddressFrgmt.jsff</page>
    </view>
    <view id="supplierDistributorFrgmt">
    <page>/includes/company/supplierDistributorFrgmt.jsff</page>
    </view>
    <control-flow-rule>
    <from-activity-id>initiatetaskflow</from-activity-id>
    <control-flow-case>
    <from-outcome>#{CompanyBean.methodname}</from-outcome>
    <to-activity-id>selectMethod</to-activity-id>
    </control-flow-case>
    </control-flow-rule>
    <control-flow-rule>
    <from-activity-id>selectMethod</from-activity-id>
    <control-flow-case>
    <from-outcome>default</from-outcome>
    <to-activity-id>default</to-activity-id>
    </control-flow-case>
    <control-flow-case>
    <from-outcome>addcompany</from-outcome>
    <to-activity-id>methodCall1</to-activity-id>
    </control-flow-case>
    <control-flow-case>
    <from-outcome>gotoAddress</from-outcome>
    <to-activity-id>supplierAddressFrgmt</to-activity-id>
    </control-flow-case>
    <control-flow-case>
    <from-outcome>gotoDist</from-outcome>
    <to-activity-id>supplierDistributorFrgmt</to-activity-id>
    </control-flow-case>
    </control-flow-rule>
    <control-flow-rule>
    <from-activity-id>methodCall1</from-activity-id>
    <control-flow-case>
    <from-outcome>goAddNew</from-outcome>
    <to-activity-id>addnewcompanyFrgmt</to-activity-id>
    </control-flow-case>
    </control-flow-rule>
    <use-page-fragments/>
    </task-flow-definition>
    </adfc-config>
    Kindly let me know what may be the issue and help me to resolve it.
    Thanks!
    Sankari Kannan

    Hi Sankari,
    Since after the initial method call, your control flow has the router as its next stop, the //method-call/method/outcome/fixed-outcome can be set to a literal value(go to router) instead of an EL.
    And let router decide where to go next(by EL).
    Or you can discard your router activity, let the method-call activity decide where to go directly by setting //method-call/method/outcome/to-string to "true". Then the return value of the method decide the next stop.
    Todd

  • Dynamic Method call with CHANGING

    Hi,
    I have the following method call:
          CALL METHOD o_salv->DISPLAY_SALV
            CHANGING
              it_data = it_ekko.
    I would like to make this dynamic so that I can call it multiple times from my program with the came set of code.
    I have this working for other Method calls, but the use the same parameters on both sides such as:
          CALL METHOD o_main->get_date
            IMPORTING
              it_ekko = it_ekko.
    being coded as such:
          CALL METHOD o_main->(v_method)
            PARAMETER-TABLE
              ptab.
    Can someone please give me some guidance on how to code the top example dynamically when the 2 variables are different?
    Hope that makes sense...thanks for your help!
    Andy

    Hello Bjorn
    I would suggest the following approach:
    (1) Collect all your GUI control instances in an itab whose line type is TYPE REF TO cl_gui_control.
    (2) Define your "free" method:
    LOOP AT mt_gui_controls INTO lo_gui_control.
    * See if gui control was text editor
      TRY.
        lo_textedit ?= lo_gui_control.
      CATCH cx_sy_move_cast_error INTO lo_error.
      ENDTRY.
      IF ( lo_error IS NOT BOUND ).
        lo_textedit->free.
    *   ... your coding
        CONTINUE.
      ENDIF.
    * See if gui control was tree
      TRY.
        lo_tree ?= lo_gui_control.
      CATCH cx_sy_move_cast_error INTO lo_error.
      ENDTRY.
    ENDLOOP.
    The FREE methods are redefined in the subclasses. However, you could try to call lo_gui_control->free directly because I am not sure if the coding of the superclass or subclass is called (I cannot test this at the moment).
    Regards
      Uwe

  • Why are static methods called with null references,valid ?

    This is my code :
    package inheritance;
    public class inh6{
         public static void method(){
         System.out.println("Called");
         public static void main(String[] args){
              inh6 t4 = null;
         t4.method();
    O/P :
    CalledHere t4 is a null reference and yet we are able to call a method on it,why is null pointerexception not thrown.Why are we able to call static methods using null references ?
    t4 is null means it doesnot refer to any memeory address,hence how is method() called correctly.
    I hope i am clear. :)
    Thank you for your consideration.

    punter wrote:
    jverd wrote:
    Memory addresses have nothing to do with it. I doubt memory addresses are even mentioned once in the JLS.
    By memory address i mean the memory location the reference is pointing to.I know what you mean. But if you think it's relevant, can you show me where in the JLS it says anything about memory locations?
    >
    You can do that because a) t4's type is "reference to inh6" and b) method() is declared static, which means that you don't need an object to call it, just the class. That class comes from the compile time type of t4. The fact that t4 is null at runtime is irrelevant.
    So at compile time the type of t4 is inh6 and hence the method is called.Is it ? Had method() not been static a NullPointerException would have been thrown.Correct.
    With non-static, non-private, non-final methods, which implementation of the method gets called is determined at runtime, buy the class of the object on which it's being called. If any one of those "non"s goes away, then the method is entirely determined at compile time, and in the case of static methods, there's no instance necessary to call the method in the first place.

  • A tricky way to twick ValueBinding language to bind a method call

    Here is the scenario:
    I'd like component can bind value to method call(with parameters) to a java instance, of course including backingBean.
    I wish this solution would be useful, especially when you are working in iteration component such as ForEach, TreeView or DataTable, EL ValueBinging language might be too restricted to complex expression. This way, you can pass iteration items as parameters into a method can and return a value to you page by valuebinding language
    In JSP:
        <h:outputText value="#{Page1.callHelper[Page1]['targetMethod']['James'][Page1.callEnd]}"/>In PageBean:
         public String targetMethod(String name){
             return "Hello, " + name +"!";
        private CallHelper callHelper = new CallHelper();
         public CallHelper getCallHelper() {
              return callHelper;
         public void setCallHelper(CallHelper callHelper) {
              this.callHelper = callHelper;
         private CallEnd callEnd = new CallEnd();
         public CallEnd getCallEnd() {
              return callEnd;
         public void setCallEnd(CallEnd callEnd) {
              this.callEnd = callEnd;
         }Util classes:
    import java.lang.reflect.InvocationTargetException;
    import java.lang.reflect.Method;
    import java.util.ArrayList;
    import java.util.LinkedHashMap;
    import java.util.List;
    import java.util.Map;
    public class CallHelper extends LinkedHashMap {
         private CallHelper parent;
         public Object get(Object key){
              if(key instanceof CallEnd)return getRoot().methodCall();
              else{
                   Object value = super.get(key);          
                   if(value == null){
                        value = new CallHelper();
                        put(key, value);
                        ((CallHelper)value).parent = this;
                   return value;
         public boolean containsKey(Object key){
              return true;
         public boolean realContainsKey(Object key){
              return super.containsKey(key);
        protected CallHelper getRoot(){
             CallHelper root = this;
             if(root.parent==null)return root;
             else return root.parent.getRoot();
         protected Object methodCall(){
              Object result = null;
             List callParameters = new ArrayList(2);
             listCallParameters(callParameters, this);
             if(callParameters.size()>1){
                  Object instance = callParameters.get(0);
                  String methodName = callParameters.get(1).toString();
                  List methodParameters = new ArrayList();
                  for(int i=2; i<callParameters.size(); i++){
                       methodParameters.add(callParameters.get(i));
                  Method method = findMethod(instance, methodName, methodParameters);
                  if(method != null){
                       try {
                             result = method.invoke(instance, methodParameters.toArray());
                        } catch (IllegalArgumentException e) {
                        } catch (IllegalAccessException e) {
                        } catch (InvocationTargetException e) {
              this.clear();
              return result;
         private void listCallParameters(List list, Map map){
              if(map==null || !map.keySet().iterator().hasNext())return;
              Object key = map.keySet().iterator().next();
              if(key instanceof CallEnd)return;
              list.add(key);
              listCallParameters(list, (Map)map.get(key));
         private Method findMethod(Object instance, String methodName, List parameters){
              Method result = null;
              Method[] methods = instance.getClass().getMethods();
              for(int i=0; i<methods.length; i++){
                   if(methods.getName().equals(methodName)){
                        System.out.println(methodName);
                        Class[] paraClasses = methods[i].getParameterTypes();
                        if(paraClasses.length==parameters.size()){
                             boolean match = true;
                             for(int j=0; j<paraClasses.length; j++){
                                  if(parameters.get(j)!=null && !paraClasses[j].isInstance(parameters.get(j))){
                                       match = false;
                                       break;
                             if(match){
                                  result = methods[i];
                                  break;
              return result;
    public class CallEnd {
    Improvement:
    Anyone can make it thread safety and bind callhelper and callend directly to FacesContext properties rather than each backingBean.
    Have fun!
    And feel free to contect me at:
    [email protected]
    [email protected]

    You must seperate your parameter preparing and action method calling for sure.
    It depends on what kind of parameters you need to pass in:
    1. If action method is bound to several buttons, and it just wants to know which button was clicked, you can set actionListener to prepare it for you. Because the event includes the information you need.
    2. For other kinds of parameters, you can use ValueBinding Language to bind parameter values to backingBean, then the action method(without parameters) can pick parameters up from backingBean.

  • With JDBC, calling a stored procedure with ARRAY as out parameter

    Hi,
    I want to use the data type ARRAY as an out parameter in an Oracle stored procedure. I want to call the stored procedure from
    my java program using JDBC.
    The problem it's i use a 8.1.7 client to acces with oci to a 7.1.3 Database.
    With this configuration I can get back a Cursor but not an Array.
    Does it's possible ?
    Thanks for your help !
    Michakl

    Originally posted by JDBC Development Team:
    It's very similar to other datatype except that it uses OracleTypes.ARRAY typecode and the value is mapped to a oracle.sql.ARRAY instance. The code looks as follows --
    cstmt.registerOutParameter (idx, OracleTypes.ARRAY, "VARRAY_TYPE_NAME_HERE");
    cstmt.execute ();
    ARRAY array = (ARRAY) cstmt.getObject (idx);
    Thanks for your reply.
    I have to use:-
    OracleCallableStatement cs1 = (OracleCallableStatement )conn.prepareCall
    ( "{call proj_array(?)}" ) ;
    for retrieving a collection as an OUT parameter.
    This gives me the errors:-
    C:\jdbc\VarraySQL.java:0: The method oracle.jdbc2.Blob getBlob(int) declared in class oracle.jdbc.driver.OracleCallableStatement cannot override the method of the same signature declared in interface java.sql.CallableStatement. They must have the same return type.
    import java.sql.*;
    ^
    C:\jdbc\VarraySQL.java:0: The method oracle.jdbc2.Array getArray(int) declared in class oracle.jdbc.driver.OracleCallableStatement cannot override the method of the same signature declared in interface java.sql.CallableStatement. They must have the same return type.
    import java.sql.*;
    ^
    C:\jdbc\VarraySQL.java:0: The method oracle.jdbc2.Clob getClob(int) declared in class oracle.jdbc.driver.OracleCallableStatement cannot override the method of the same signature declared in interface java.sql.CallableStatement. They must have the same return type.
    import java.sql.*;
    ^
    C:\jdbc\VarraySQL.java:0: The method oracle.jdbc2.Ref getRef(int) declared in class oracle.jdbc.driver.OracleCallableStatement cannot override the method of the same signature declared in interface java.sql.CallableStatement. They must have the same return type.
    import java.sql.*;
    ^
    How do I get rid of these errors?
    null

  • Need help with method calling

    I have a problem with method calling as it does the method but doesn't send the values to the main program. The Need section in the main should take in the Max and Allocation arrays from the setMax and setAllocation but it doesn't. I figure I'm missing a return call or something. Could you help me out.
        public class Project4
           public static void main (String[] args)
             int[] Available=new int[4];
             int[][]Max=new int[5][4];
             int[][]Allocation=new int[5][4];
             int[][] Need=new int[5][4];
             setMax();
             setAllocated();
             setAvailable();
           //Creates the need.
             int numMax, numAlloc, numNeed;
             for(int row=0; row<5; row++)
                for (int col=0; col<4; col++)
                   numMax=Max[row][col];
                   numAlloc=Allocation[row][col];
                   numNeed=numMax-numAlloc;
                   Need[row][col]=numNeed;
             for(int row=0; row<Need.length; row++)
                for (int col=0; col<Need[row].length; col++)
                   System.out.print (Need[row][col]);
                System.out.println();
             System.out.println();
            //From here on checks to see if available.     
             int[] processLeft=new int[5];
             int numChecker, numAvail, counter, check, num, stop, processCounter;
             int i=0; 
             num=0;
             stop=3;
             processCounter=0;
             for(int row=num; row<Need.length; row++)
                int col=0;
                counter=Need[row].length; 
                numChecker=Need[row][col];
                numAvail=Available[col];
                do
                   check=0;
                   numChecker= Need[row][col];
                   numAvail=Available[col];
                   col++;
                   if (numChecker<=numAvail)
                      check=1;
                   while(numChecker<=numAvail && col<counter);
                if(col==counter && check==1)
                   System.out.println("Process P"+row+" executes");
                   for(col=0; col<Allocation.length-1; col++)
                      numChecker=Allocation[row][col];
                      numAvail=Available[col];
                      numAvail=numChecker+numAvail;
                      Available[col]=numAvail;
                   num++; 
                   processCounter=processCounter+1;
                else
                   processLeft=row;
    i++;
    // Checks the processes left over
    int j=0;
    int row=0;
    int col=0;
    counter=Need[row].length;
    while(processLeft[j]!=5 && processCounter!=5)
    row=processLeft[j];
    do
    check=0;
    numChecker= Need[row][col];
    numAvail=Available[col];
    col++;
    if (numChecker<=numAvail)
    check=1;
    while(numChecker<=numAvail && col<counter);
    if(col==counter && check==1)
    System.out.println("Process P"+row+" executes");
    for(col=0; col<Allocation.length-1; col++)
    numChecker=Allocation[row][col];
    numAvail=Available[col];
    numAvail=numChecker+numAvail;
    Available[col]=numAvail;
    processCounter=processCounter+1;
    j++;
    safe(processCounter);
    public static void setAllocated()
         // Creates the Allocation
    int[][] Allocation= {{3,0,0,2},{1,0,0,0},{1,3,5,4},{0,6,3,2},{0,0,1,4}};
    for(int row=0; row<Allocation.length; row++)
    for (int col=0; col<Allocation[row].length; col++)
    System.out.print (Allocation[row][col]);
    System.out.println();
    System.out.println();
    public static void setMax()
         // Creates the max
    int[][] Max= {{3,0,1,2},{1,5,5,0},{2,3,5,6},{0,6,5,2},{0,6,5,6}};
    for(int row=0; row<Max.length; row++)
    for (int col=0; col<Max[row].length; col++)
    System.out.print (Max[row][col]);
    System.out.println();
    System.out.println();
    public static void setAvailable()
    // Creates the Available.
    int[] Available={3,5,2,0};
    public static void safe(int processCounter)
         // Prints if it is safe or not     
    if(processCounter!=5)
    System.out.println("\n The system is not safe");     
    else
    System.out.println("\n The system is safe");

    those methods declare and initialize variables that exist only within that specific method, so no other method can see them
    move the 4 arrays you declare in main() out of the method into the class body, then in the other methods, don't declare new arrays, simply initialize the ones you just moved into the class body
    or alternatively, you could make the methods return the arrays they create, and instead of your main method creating arrays, it simply works with whatever those methods return
    btw 20 minutes is a bit early to be getting impatient

  • OSB java call out with array parameters

    Hi all,
    I have a java call out with array parameters, follow the firm of java method:
    logBody2(String category, XmlObject headerXml, String[] level, XmlObject[] xml)
    The java call out have String[] and XmlObject[] arrays in intput, my question is how I can pass these arrays of values at java call out?
    Thk
    L.

    For array, comma-separated values should be passed. For e.g. -
    If input parameter is of type String[] then passed values should be comma-separated strings like - 'Anuj','Dwivedi'
    If input parameter is of type XmlObject[] then passed values should be comma-separated XmlObject like - <anuj/>,<dwivedi/>
    Regards,
    Anuj

  • [Load data from excel file [1]] Error: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER. The AcquireConnection method call to the connection manager "Excel Connection Manager" failed with error code 0xC0202009. There may be error messa

    Error
    [Load data from excel file [1]] Error: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER.  The AcquireConnection method call to the connection manager "Excel Connection Manager" failed with error code 0xC0202009.  There
    may be error message
    I am using BIDS Microsoft Visual Studio 2008 and running the package to load the data from excel .
    My machine has 32 bit excel hence have set property to RUN64BITRUNTIME AS FALSE.
    But the error still occurs .
    I checked on Google and  many have used Delay validation property at Data flow task level to true but even using it at both excel connection manager and DFT level it doesnt work
    Mudassar

    Thats my connection string
    Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:\SrcData\Feeds\Utilization.xlsx;Extended Properties="Excel 12.0;HDR=NO";
    Excel 2010 installed and its 32 bit edition
    Are you referring to install this component -AccessDatabaseEngine_x64.exe?
    http://www.microsoft.com/en-us/download/details.aspx?id=13255
    Mudassar
    You can try an OLEDB provider in that case
    see
    http://dataintegrity.wordpress.com/2009/10/16/xlsx/
    you might need to download and install ms access redistributable
    http://www.microsoft.com/en-in/download/details.aspx?id=13255
    Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs

  • Issue with a method call in a TaskFlow (works 2 times instead of 1)

    Hi guys,
    i'm using jdev11.1.1.1.2.0 and the integrated weblo or remote weblo 10.3.2.0.
    I'm encountering a problem with a method call which is invoked inside a Task Flow.
    Let me tell us the details of :
    I'm invoking a method call which is part of a Task Flow from the backingbean of the view which is placed before the method call in the taskFlow diagram.
    AN outcome String from the method of the backing bean allows to navigate to the method of the Task flow.
    The method call is called and works normally BUT MY PROBLEM IS THAT THE METHOD IS CALLED TWO TIMES SO THE RESULT IS FALSE.
    For information, the second time the method is called it takes care of the result when it is invoked the first time. So its parameters are updated and are a little different from the first time to the second time.
    NB : This method consists of inserting a row in the database. My result is 2 rows inserted instead of one.
    Thanks for help for this strange behaviour

    Hi
    create a temp calculated column
    =IF(ISBLANK([Duration]),"",[Item Start Date]+([Duration])
    and check if it's working OK
    Romeo Donca, Orange Romania (MCSE, MCITP, CCNA) Please Mark As Answer if my post solves your problem or Vote As Helpful if the post has been helpful for you.

  • 11gR2 error: call a bounded task flow with method call as default activity

    hi all,
    We migrated several applications to the JDev 11g R2.
    There are 2 applications that contain a bounded task flow where we define Method Call as default activity.
    We need invoke specific actions before opening the page.
    They run well with 11gR1.
    But with *11G R2*, I can’t call directly this task flow with the following URL:
    http://127.0.0.1:7101/MyAPP/faces/adf.task-flow?adf.tfId=my-flow-def&adf.tfDoc=/WEB-INF/flows/my-flow-def.xml
    Message:
    *<SecurityUtils><invokeURLAllowed> ADFc : impossible to call directly the task flow '/WEB-INF/flows/ my-flow-def.xml #my-flow-def' with the help of URL*
    (original message: <SecurityUtils><invokeURLAllowed> ADFc : impossible d'appeler directement le flux de tâches '/WEB-INF/flows/ my-flow-def.xml #my-flow-def' à l'aide de l'URL.)
    Any idea?
    Thanks for you help

    Hi,
    Have a look at the task flow properties, in PatchSet1, a new feature "invokeURLAllowed" is added that prevents bounded task flows from being URL accessible for security reasons. You can swithc this feature on and off
    Frank
    Ps.: I though that bounded task flows that you call from a URL generally needed to have a viewActivity as the default activity

  • Error: The AcquireConnection method call to the connection manager failed with error code 0xC0202009 using DB2 connection

    I have a SSIS project that I am newly running on the SQL server (2005) .  It was previously run on my PC.  I am importing data from a DB2 server to the SQL server.
    I am in the SA group on the server
    My connection to DB2 works
    When open the package and run it in preview mode, I can retrieve the data.
    When I execute the package I get the below errors:
    [MIDAS OLE DB Source [1]] Error: The AcquireConnection method call to the connection manager "NGMDSPA.alharris" failed with error code 0xC0202009.
    [DTS.Pipeline] Error: component "MIDAS OLE DB Source" (1) failed validation and returned error code 0xC020801C.
    What I have already done that has not worked:
    The original Protection level was set to EncryptSensitiveWithPassword. 
    I have reset the Package Password.
    I have set the protection level to DontSaveSensitive
    I saved the package on the server and set a Package Password.
    I created a new package, set the Protection level to DontSaveSensitive, set a package password in a configuration file using the Package Configuration Wizard.
    Error continues

    Yes.  The Drivers are installed and I have a successfull connection.  I am trouble shooting the issue on the server in BIDS.  I can connect to the DB2 server via the Connectionmanager.  I can also preview the data in the OLE
    DB source connection.  Therefore I know that I have a proper connection
    If you're setting option as DontSaveSensitive then you need to pass the connection information from configuration file/ config table. Otherwise it wont be able to use it for connecting to your source/destination servers. This is the recommended way as it
    will enable you to change connection info at runtime.
    If you want connection info to persist you need to use protection level as EncryptSensitiveUsingUserKey or EncryptSensitiveUsingPassword and set a password.
    Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs

  • Im new to java can someone please help me with external method calls

    I have only been doing java for a couple of months using bluej, I really dont understand external method calls, this is for an assignment and i have managed the bulk of the code, ineed to make external calls to the other classes to return and input data.
    this is the code i have writen so far.
    class CD
    // The fields.
    public Artist performer;
    private String album;
    private String genre;
    private int numberOfTracks;
    private int yearReleased;
    *Please enter CD details, text entry requires quote marks "Greatest Hits"
    public CD (String album_Name){
    album = album_Name;
    numberOfTracks = 0;
    yearReleased = 0;
    performer = new Artist();
    /**blank constructor*/
    public CD ()
    {album = "";
                genre = "";
                numberOfTracks = 0;
                yearReleased = 0;
                performer = new Artist();}
    * accessor methods
    /** method to return album details to the output window*/
    public void print_albumDetails(){
    System.out.println("Album: " + album);
    System.out.println("Genre: " + genre);
    System.out.println("Number of Tracks: " + numberOfTracks);}
    /** accessor method to return the name of the album*/
    public String show_album(){
    return album;}
    /** accessor method to show artist details from artist class*/
    public void print_details(){
    performer.print_details();}
    * mutator methods
    /** mutator method to change album name please enter name with quotes*/
    public void change_album(String newAlbum){
    album = newAlbum;}
    /**mutator method for adding the album year and checking it correct
    * please enter a year between 1900 and 2005*/
    public void album_year (int year){
    if ((year < 1900) || (year > 2005))
    System.out.println("sorry the year is incorrect please enter a year between 1900 and 2005");
    else yearReleased = year;}
    /** mutator method to alter the number of tracks and check if the ammount is greater
    * than zero*/
    public void change_Number_Of_Tracks(int no_Of_Tracks){
    if (no_Of_Tracks > 0)
    numberOfTracks = no_Of_Tracks;
    else System.out.println("you have not entered a correct number");}
    /** mutator method to change the genre and check it has been entered correctly
    * Please enter 1 for Soul
    * 2 for Blues
    * 3 for Jazz*/
    public void change_Genre(int Change_Genre){
    if ((Change_Genre <= 0) || (Change_Genre > 3)){
    System.out.println("You have not entered the correct available genres");
    System.out.println("which are 1 for Soul,2 for Blues or 3 for Jazz");}
    else if (Change_Genre == 1)
    genre = "Soul";
    else if (Change_Genre == 2)
    genre = "Blues";
    else if (Change_Genre == 3)
    genre = "Jazz";
    to this i need to add an external call to the class Artist to be able to enter firstname and second name, I know that external calls use dot notation
    and the instance of Artist is called performer but i cant get the call to these methods in the Artist class to work
    Artist class
    /** mutator method to change or add artist first name, remember to add quotes*/
    public void cName(String name){
    firstname = name;}
    /** mutator method to change or add artist surname remember to add quotes*/
    public void csurName(String surname){
    lastname = surname;}
    can some please give me some help

    Also, if you can't get them to work, what is the error message you are getting?
    Baron Samedi

  • The AcquireConnection method call failed with error code 0xC0202009.

    I've seen the previous threads on this (although maybe not all of them). However, i don't think I'm getting the error for the same reason. The full error I'm getting is:
    - Pre-execute (Error)
    Messages
    Error 0xc0202009: {F1B3B35C-FAE3-48F6-A169-4E4D8D99F9B6}: An OLE DB error has occurred. Error code: 0x80004005.
    An OLE DB record is available.  Source: "Microsoft JET Database Engine"  Hresult: 0x80004005  Description: "Unspecified error".
     (SQL Server Import and Export Wizard)
    Error 0xc020801c: Data Flow Task: The AcquireConnection method call to the connection manager "DestinationConnectionExcel" failed with error code 0xC0202009.
     (SQL Server Import and Export Wizard)
    Error 0xc004701a: Data Flow Task: component "Destination 64 - production_effectivities" (7042) failed the pre-execute phase and returned error code 0xC020801C.
     (SQL Server Import and Export Wizard)
    The entire package is running on one machine. The data source is SQL Server 2005 and the destination (this happens with both of them) is Excel or Access. Either way I cannot get the package which the wizard generated to run at all. This error occurs after the first table is exported. I'm running on WinXP SP2 with 2005 Developer and ALL components installed except analysis services.
    Anyone else have this problem or know the solution?
    Jeff

    I am getting the same error. My Destination and source both are on SQL Server 2005 on the same box.
    I am using SQL- Code for Source and and table as destination. When the package runnes under Transaction- TransactionOption-Supported then the packages excuted fine but it fails when i change the Transaction- TransactionOption to Required.
    It fails with following error code.
    [OLE DB Destination [22]] Error: The AcquireConnection method call to the connection manager "FMFCLSQADB01.DWH_Rakesh" failed with error code 0xC0202009.
    [DTS.Pipeline] Error: component "OLE DB Destination" (22) failed the pre-execute phase and returned error code 0xC020801C.
    [Connection manager "FMFCLSQADB01.DWH_Rakesh"] Error: The SSIS Runtime has failed to enlist the OLE DB connection in a distributed transaction with error 0x8004D00A "Unable to enlist in the transaction.".
    [Connection manager "FMFCLSQADB01.DWH_Rakesh"] Error: An OLE DB error has occurred. Error code: 0x8004D00A.
    When i change the source SQL query to Table or View then it works fine.
    Thanks for any suggestion.
    Regards
    Rakesh
    Now, my issues related to “SSIS Runtime has failed to enlist the OLE DB connection in a distributed transaction with error 0x8004D00A "Unable to enlist in the transaction."…..”. are fixed.
    This is one of the very common errors that comes up in SSIS (SQL Server Integration service) 
    I have faced this issue for at-least two occasions. Both of them have one common setting: “TransactionOption” was set to “Required”.
    In first case, I had multiple dataflow tasks but there were no sequence given. There were no error if I ran the package with TransactionOption=Supported. But when I ran the package in TransactionOption= Required, it got failed.
    To fix the issue I have changed my package and put the entire dataflow task one after another (connected thru Constraint).  
    In another case, where I was doing data transfer from one server to another, I had to configure the MSDTC.

Maybe you are looking for

  • Can you help me solve my aspect ratio issue?

    Hey guys, I'm posting this in hopes that someone can help me solve an aspect ratio issue with a project that I have to finish by tomorrow. I'm trying to avoid having to re-edit the entire thing. I shot the project with my Nikon D7000 DSLR. in 720p 30

  • Applying down payments bigger than invoice amount

    Hi there!! I want to control employee advances via the following procedure: Create a Control account in Asset named Employee Advance account Create BP group employee and create employee master in Business Partner master data as vendor, link the contr

  • Times moves really fast EFFECT in Final Cut Pro

    I want to know how to do the effect used in Paranormal Activity. Like this (http://www.youtube.com/watch?v=F_UxLEqd074) at 0:40 seconds. This time moves really fast, implying that time is going by really fast. How do you do this?

  • ISQLPLUS : Internet Explorer cannot display the webpage

    Hi, on 10g R2 on Win 2003 server when I (being logged as sysman) click on iSQLPLUS link on DB control, and give agreement to display in http and not https I receive : Internet Explorer cannot display the webpageisqlplus Windows service is running and

  • Ordering an iPhoto album from Macau

    Apparently I can't order an iPhoto album as I live in Macau. Used to have a Canadian CC so it wasn't a problem previously. Anyone know of a work-around?