Problem with array param when calling a webservice from a BPM Process

Hi. I have a web service and uses an array as parameter.
The array (named "atributos") as part of a business object is defined here:
<xs:schema targetNamespace="http://xmlns.oracle.com/bpm/bpmobject/DataTypes/TrackPCPDOTrans" ...>
<xs:complexType name="TrackPCPDOTransType">
<xs:sequence>
<xs:element name=... />
<xs:element name="atributos" nillable="true" type="ns2:AtributosType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:element name="TrackPCPDOTrans" type="TrackPCPDOTransType"/>
</xs:schema>
<xs:schema targetNamespace=... >
<xs:complexType name="AtributosType">
<xs:sequence>
<xs:element name="key" nillable="true" type="xs:string"/>
<xs:element name="value" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="Atributos" type="AtributosType"/>
</xs:schema>
In the service task activity, I pass the params to the web service:
"descripcion" --> TrackPCPDOTrans.atributos[1].key
DataObject.descripcion --> TrackPCPDOTrans.atributos[1].value
"estado" --> TrackPCPDOTrans.atributos[2].key
DataObject.estado --> TrackPCPDOTrans.atributos[2].value
"justificacion" --> TrackPCPDOTrans.atributos[3].key
DataObject.justificacion --> TrackPCPDOTrans.atributos[3].value
But when I test the process, an error ocurrs:
<auditQueryPayload auditId="8712004" ciKey="380019">
<dataState>
<dataObject name="FaultMessage" isBusinessIndicator="false">
<value> oracle.bpm.bpmn.engine.model.runtime.microinstructions.TrappableException: faultName: {{http://schemas.xmlsoap.org/ws/2003/03/business-process/}selectionFailure} messageType: {{http://schemas.oracle.com/bpel/extension}RuntimeFaultMessage} cause: {faultName: {{http://schemas.xmlsoap.org/ws/2003/03/business-process/}selectionFailure} messageType: {{http://schemas.oracle.com/bpel/extension}RuntimeFaultMessage} parts: {{ summary=<summary>empty expression result. The expression bpmn:getDataInput('trackPCPDOTrans')/ns:atributos[2]/ns1:key is empty. An attempt to read or copy data referenced or computed by the XPath expression either had invalid data, according to the XML schema, or did not contain certain optional data. Ensure that the variable or expression result named in the error message is not empty. Enable XML schema validation of related data elements to ensure the run-time data is valid. </summary>} } </value>
</dataObject>
</dataState>
</auditQueryPayload>
What is wrong?
Thanks for your help.

I did the assignment in XPATH:
oraext:parseXML(concat('<AtributosTracking xmlns="http://xmlns.oracle.com/bpm/bpmobject/DataTypes/AtributosTracking">
<arrayAtributosTracking>
<key xmlns="http://xmlns.oracle.com/bpm/bpmobject/DataTypes/Atributos">','descripcion','</key>
<value xmlns="http://xmlns.oracle.com/bpm/bpmobject/DataTypes/Atributos">',bpmn:getDataObject('DataObjectDDSAO')/ns:descripcion,'</value>
</arrayAtributosTracking>
<arrayAtributosTracking>
<key xmlns="http://xmlns.oracle.com/bpm/bpmobject/DataTypes/Atributos">','estado','</key>
<value xmlns="http://xmlns.oracle.com/bpm/bpmobject/DataTypes/Atributos">',bpmn:getDataObject('DataObjectDDSAO')/ns:estado,'</value>
</arrayAtributosTracking>
</AtributosTracking>'))
AtributosTracking.xsd:
<?xml version="1.0" encoding="UTF-8"?>
<?bpmo version="11.1.1.6.0.15.53" build="15.53" fullName="DataTypes.AtributosTracking" modifiers="268435456"?>
<xs:schema targetNamespace="http://xmlns.oracle.com/bpm/bpmobject/DataTypes/AtributosTracking" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://xmlns.oracle.com/bpm/bpmobject/DataTypes/AtributosTracking" xmlns:ns1="http://xmlns.oracle.com/bpm/bpmobject/DataTypes/Atributos" xmlns:bpmo="http://xmlns.oracle.com/bpm/bpmobject/" >
<xs:import namespace="http://xmlns.oracle.com/bpm/bpmobject/DataTypes/Atributos" schemaLocation="Atributos.xsd"/>
<xs:complexType name="AtributosTrackingType">
<xs:sequence>
<xs:element name="arrayAtributosTracking" nillable="true" type="ns1:AtributosType" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:element name="AtributosTracking" type="AtributosTrackingType"/>
Atributos.xsd:
<?xml version="1.0" encoding="UTF-8"?>
<?bpmo version="11.1.1.6.0.15.53" build="15.53" fullName="DataTypes.Atributos" modifiers="0"?>
<xs:schema targetNamespace="http://xmlns.oracle.com/bpm/bpmobject/DataTypes/Atributos" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://xmlns.oracle.com/bpm/bpmobject/DataTypes/Atributos" xmlns:bpmo="http://xmlns.oracle.com/bpm/bpmobject/" >
<xs:complexType name="AtributosType">
<xs:sequence>
<xs:element name="key" nillable="true" type="xs:string"/>
<xs:element name="value" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:element name="Atributos" type="AtributosType"/>
</xs:schema>
But a new error occurrs when I run the BPM process:
<auditQueryPayload auditId="8724004" ciKey="380025">
<dataState>
<dataObject name="FaultMessage" isBusinessIndicator="false">
<value> oracle.bpm.bpmn.engine.model.runtime.microinstructions.TrappableException:
faultName: {{http://schemas.xmlsoap.org/ws/2003/03/business-process/}selectionFailure}
messageType: {{http://schemas.oracle.com/bpel/extension}RuntimeFaultMessage}
cause: {faultName: {{http://schemas.xmlsoap.org/ws/2003/03/business-process/}selectionFailure}
messageType: {{http://schemas.oracle.com/bpel/extension}RuntimeFaultMessage}
parts: {{ summary=<summary>XPath query string returns multiple nodes.
The assign activity part and query bpmn:getDataObject('AtributosTracking')/ns:atributosTracking are returning multiple nodes.
The assign activity part and query named in the error message returned multiple nodes. It should return single node.
According to BPEL4WS specification 1.1 section 14.3, the assign activity part and query named in the error message should
not return multiple nodes. Verify the part and xpath query named in the error message at line number -1 in the BPEL source. </summary>} } </value>
</dataObject>
</dataState>
</auditQueryPayload>
Any idea?
Thanks
Edited by: César on 10/01/2013 11:02 AM

Similar Messages

  • Problem with BAPI BAPI_MATERIAL_SAVEDATA when calling from other system

    Hi All,
    I able create new material using the BAPI BAPI_MATERIAL_SAVEDATA in development system.
    but when i am calling this BAPI from other systems by passing the same values that i used in the development system . system is giving me an error ( in the return statement) saying that material number doesn't exists .
    Can any one have some pointers towards this ?
    Thanks & Regards,
    Praveen

    Hi,
    this FM BAPI_MATERIAL_SAVEDATA
    is used to extend a material to another plant
    for that you need to read the original data via BAPI_MATERIAL_GET_DETAIL and then select additional data from MKVE and save it via BAPI_MATERIAL_SAVEDATA with table parameter SALESDATA
    also check with
    BAPI_STANDARDMATERIAL_CREATE Create/Extend Material
    BAPI_MATERIAL_SAVEDATA - QM - Inspection Setup
    Problem in BAPI_MATERIAL_SAVEDATA
    Thanks&Regards,
    Naresh

  • Memory leak and problem with polymorh vi when calling vi from dll

    Two problems appear for me when using the setup below.
    First, I have a vi for opening a secondary vi:
    Then I have a vi for calling the opened, secondary vi:
    These two are compiled to a dll. The first one is called once, calling a function "open(char *)". The second one is called over and over, calling a function nextevent(double *, int). A simple example of an opened, secondary vi looks like this:
    The code used to send data looks approximately like this:
    dataout = malloc(dx->numelems * sizeof(double));
    datain = (COMPLEX *) dx->cont;
    for (i = 0; i < dx->numelems; ++i)
        dataout[cnt][i] = sqrt(datain[i].re * datain[i].re + datain[i].im * datain[i].im);
    nextevent(dataout, dx->numelems);
    free(dataout);
    This code is called in a loop. dataout is a double array to be sent to the secondary vi, datain is the source data.
    The problem now is that there is something eating up memory, and I fail to see why.
    My second question is this:
     I want to insert a Hamming window, or some other form of windowing function. It doesn't work however, and the help tells me it is because a vi opened this way cannot contain any polymorphic vi. Is there a convenient way around this problem?
    Lars Melander
    Uppsala Database Laboratory, Uppsala University

    Regarding your second question:
    As you say not possible to use a polymorphic vi in a DLL and in your case it is the windowing VI that is polymorphic. What you can do is to use only one instance of the windowing VI in the short cut menu. 
    Here is a link to a report about this error in the knowledgeBase:
    http://digital.ni.com/public.nsf/allkb/755CE99505A1C9FF8625693C00508DDE?OpenDocument

  • Problem with redirect script when calling from external - UCCX

    Hi,
    I have a problem with external calls not being redirected when the call comes from an external that begins with a certain prefix on teh ANI.
    The call path goes PSTN - VGW - UCM SUB - UCCX.
    To give you info this should be redirected to a auto attendant on unity but it just hits the fourth option unsuccessful.
    If i change it to match an internal ANI and test it works.
    What trace and log do i look at to see the call coming in from the UCM and what is happening with it why this is failing when it trys to redirect a call coming from external?
    I have also attached my script.
    Thanks for the help.
    Kev

    Hi Martin Braun,
    Go to GUI status which you set in the PBO of your screen,
    and open "Function Keys" part.
    You should have set function key F4 for a button on your GUI status,
    delete this button and create with another function key again.
    I hope it helps.

  • Problem with output data when calling into Oracle stored procedure

    I have a problem that I think I've seen posted by others, but I can't find it anywhere on the forum. Here's what it looks like:
    I have a application that sends a query parameter called custID in a URL to a JSP page.
    http://domain.com/decrypt.jsp?custID=ewsw
    The JSP subsequently calls into the method below to run a decryption stored procedure on an Oracle db. The custId parameter works fine from most clients. However, I have seen the decryption stored procedure return invalid information on some clients in the following case:
    http://domain.com/decrypt.jsp?custID='eirwx
    Here is how I define my call to the DCUSTID (decryption stored procedure):
    public long dCustID(String sCustID)throws SQLException {
    CallableStatement cs = null;
    try {
    long nCustID = 0;
    if(conn == null || conn.isClosed()) {getLocalConnection();}
    String sp = "BEGIN DCUSTID(?,?);END;";
    cs = conn.prepareCall(sp);
    cs.setString(1, sCustID);
    cs.registerOutParameter(2,java.sql.Types.NUMERIC);
    cs.execute();
    nCustID = cs.getLong(2);
    return nCustID;
    }finally { release(cs); }
    I have not been able to find a problem with the stored procedure (although Im not counting that out). Is there any way that the jsp or the code above is corrupting the data before it gets to the stored procedure? I'm very suspicious of the single quote at the begining of the custID query string parameter.
    Thanks

    >
    The JSP subsequently calls into the method below to
    run a decryption stored procedure on an Oracle db.
    The custId parameter works fine from most clients.
    However, I have seen the decryption stored procedure
    e return invalid information on some clients in the
    following case:
    The back tick doesn't matter.
    How do you know that the routine that you posted returns invalid information? Are you printing the value retreived before you return in the code that you posted? That is the only way to tell if that code is the problem vs some translation problem in something else.
    And what do you mean by 'invalid'? It does return a numeric value right? Is it negative? Or so large that it couldn't be a key? Or what?
    The input parameter to the stored proc is a varchar and not a char correct?

  • Problem with special charecter while calling a BAPI from Webdynpro JAVA.

    Hi Experts,
    I am calling a BAPI from Webdynpro JAVA. I am passing a special charecter  u2018 as input to BAPI. But I am getting a # as input in R/3.. Can any one explain why it is getting changed?
    Any inputs regarding this issue are appreciated.
    Thanks,
    Kasinath.

    Hi,
        I had same problem before..For this I have created function module in backend for removing #. It was for converting Stream to ITF text.
    CONVERT_STREAM_TO_ITF_TEXT.
    Try this.
    Thanks,
    Prajakta

  • Error calling a webservice from one server process of the cluster

    Hi ,
    I have a servlet which on startup makes a call to a webservice. I deploy this webapp on the cluster.
    The cluster has two instances each instance having one server process.
    So when the server restarts one server process on one instance calls the web service the other process on other instance fails with a 503 response code.
    When I tried to reproduce the same problem using two server processes on the same instance both processes are able to call the webservice properly.
    I am slightly confused as to how different the second scenario is from first one as both are individual server process and may or may not run on same instance.
    Can anyone tell me the real cause.
    Rgds
    Shashank

    Hi Rajat,
    This is how the default trace looks
    FATAL: Application Servlet failed to notify devices.
    Caught java.rmi.RemoteException: Service call exception; nested exception is:
         com.sap.engine.services.webservices.jaxrpc.exceptions.InvalidResponseCodeException: Invalid Response Code: (503) Service Unavailable. The requested URL was:"http://<<server>>:50000/ManagementService/ManagementService?style=document"
         at com.om.mws.standaloneproxy.ManagementServiceBindingStub.notifyDevice(ManagementServiceBindingStub.java:1289)
         at com.om.mws.standaloneproxy.ManagementServiceBindingStub.notifyDevice(ManagementServiceBindingStub.java:1298)
         at com.om.ApplicationServlet$NotifyDevices.run(ApplicationServlet.java:86)
    Caused by: com.sap.engine.services.webservices.jaxrpc.exceptions.InvalidResponseCodeException: Invalid Response Code: (503) Service Unavailable. The requested URL was:"http://<<server>>:50000/ManagementService/ManagementService?style=document"
         at com.sap.engine.services.webservices.jaxrpc.wsdl2java.soapbinding.MimeHttpBinding.handleResponseMessage(MimeHttpBinding.java:980)
         at com.sap.engine.services.webservices.jaxrpc.wsdl2java.soapbinding.MimeHttpBinding.call(MimeHttpBinding.java:1430)
         at com.om.mws.standaloneproxy.ManagementServiceBindingStub.notifyDevice(ManagementServiceBindingStub.java:1282)
         ... 2 more
    java.lang.NoSuchMethodError
    at java.lang.Thread.destroy(Thread.java:779)
         at com.omApplicationServlet$NotifyDevices.run(ApplicationServlet.java:92)
    Rgds
    Shashank

  • Problems with Array-Parameters when using Document-Binding

    Hi,
    I use the following environment:
    JDeveloper 11.1.1.3.0
    WLS 10.3.3.0
    I created a small EJB (2.1), containing a simple method, which is using arrays as parameters:
    public String doTestArray(String[] aStringArray, int[] aIntArray)
    throws RemoteException;
    I exposed this EJB as a Webservice using JDev's Webservice wizard. I choosed Document/Wrapped-Binding. WSDL and mapping file are being generated. Made an EAR-Deployment-Profile and deployed the application to Integrated-WLS.
    I tried to test the Webservice with the WLS integrated test client, which is generating the following request:
    <doTestArrayElement xmlns="http://model/types/">
    <!--Zero or more repetitions:-->
    <arrayOfString_1>string</arrayOfString_1>
    <!--Zero or more repetitions:-->
    <arrayOfint_2>3</arrayOfint_2>
    </doTestArrayElement>
    Unfortunately, the invokation fails. WLS returns
    weblogic.wsee.codec.CodecException: Failed to decode message
    at weblogic.wsee.codec.soap11.SoapCodec.decode(SoapCodec.java:188)
    at weblogic.wsee.ws.dispatch.server.CodecHandler.decode(CodecHandler.java:139)
    That only happens in methods, which use array-parameters. Simple parameters are no problem.
    However, when I use RPC/Encoded as Webservice-Binding, everything seems to be fine.
    Does WLS have problems in general using array-parameters and Document-Binding?
    Any help would be appreciated.
    Thanks,
    Stefan

    Hi Josko,
    Where do you have this problem 3.5 or 7.0 BexAnalyzer.
    When ever heirarchy icons are created in BEx, respective hyperlink is assigned to each of them, Make sure that you dont manipulate with them,,
    If you still have problem then create OSS message.
    Regards,
    Vinay

  • Problem with special characters when calling web services via ISG

    Hi all,
    I have a problem when trying to send or retrieve strings containing some special characters via Integrated SOA Gateway.
    For example, when I call a PL/SQL function via ISG that returns a string containing curling single and double quote characters, these are not represented by valid XML character entity references. So when trying to open the response XML (returned by ISG) in a browser, I get a parser error...
    Has anybody had a similar experience with ISG? How can I resolve that - is it an ISG bug?
    Thanks
    Carolin

    XML Parsing Error: not well-formed
    Location: file:///C:/Users/sanders/Desktop/Text3.xml
    Line Number 4734, Column 54: <DESCRIPTION>Overhead Track Lighting 4?</DESCRIPTION>Do you get the same error if you change the description from "Overhead Track Lighting 4?" to "Overhead Track Lighting 4"?
    Do you have any invalid characters?
    BI Publisher Reports End With Error When There Is An Ampersand Character ( & ) On The Xml Data File [ID 1081175.1]
    Journal Entries Report Doesn'T Yield Output: Java Heap Error [ID 1115663.1]
    Thanks,
    Hussein

  • Problem with Transaction iView when calling R/3(Personalization)

    Hi
    I have created several Transaction iViews , where I am calling different Backend Systems like R/3 , BW, etc.
    My problem is , when I launch the iView, I can able to see the SAP Easy Access for R/3 , BW etc. But the language that user have in the backend is over writed by English.
    In the iView properties, I have not selected any language.
    In the Portal Personalization /UME also I have not selected any language.
    But in R/3 I have selected "de" as my language but the R/3 SAP Easy Access showing only English.
    Any advice please? should we have any settings in the portal without touching iview properties or portal personalization to view the backend GUI in the same language that is set in the backend profile?
    Thanks in advance.

    Hi,
    The following way might help you.
    Go to Internet web browser, select Tools in the menu, then select Internet options --> General Tab --> Languages --> Add --> German(de) . finally move up the German(de)
    Deep

  • I have problem with my mic when i make call the others cannot hear me but the mic is ok

    i have problem with my mic when i make call the others cannot hear me but the mic is ok i checked it out and it works dont know what to do help me !!

    Hello Sabbir Khan,
    Thanks for using Apple Support Communities.
    For more information on this, take a look at:
    iPhone: Hardware troubleshooting
    http://support.apple.com/kb/ts2802
    Can't hear through the receiver or through speaker, and can't be heard
    iPhone: Can't hear through the receiver or speakers
    http://support.apple.com/kb/TS1630
    Best of luck,
    Mario

  • TS2755 I am having a problem with getting notified when I receive a call or a text.  My phone will not ring or vibrate.

    I am having a problem with getting notified when I receive a call or a text.

    Hi BigBroMAC,
    The first thing I would check is Do Not Disturb mode, as this will cause that behavior:
    iOS 6: Using Do Not Disturb
    http://support.apple.com/kb/HT5463
    If that isn't the issue, this article has slightly different symptoms but the troubleshooting would be the same:
    iPhone: Can't hear through the receiver or speakers
    http://support.apple.com/kb/TS1630
    Before you do step 10, however, I recommend resetting all settings to see if that helps.  To do that, choose Settings > General > Reset > Reset All Settings.
    I hope this helps!
    - Ari

  • Error when calling a Webservice's public method in Forms10g

    Hi,
    I'm getting the following error when calling a webservice's public method, i'm using Forms10g 10.1.2.3
    java.rmi.RemoteException; nested exception is: HTTP transport error javax.xml.soap.SOAPException
    java.security.PrivilegedActionException javax.xml.soap.SOAPException
    Message send failed javax.net.ssl.SSLException SSL handshake failed X509CertChI have added the Jar containing the client proxy in both Classpaths(system variable and default.env), the jar has been made with jdk 1.4
    I also have tested the client proxy from jDeveloper and it's working there, but in Forms i'm getting this error.
    I guess my problem might be that i'm calling a webservice that is secured since the url starts with https
    what should i do to fix this ??
    Regards
    Carlos

    I understand, so i have a doubt, why the webservice works on jDeveloper ??Not just JDeveloper even soapUI and Neatbeans have a way of working without a client certificate installed.
    I do not know how they achieve it. I know that they work without a client DC.
    Cheers,
    PS: See this http://stackoverflow.com/questions/8887434/webservices-ssl-https, it offers a clue.
    The java programs run unhindered when one-way authentication is being used. These products ship with a digital certificate that is in the path of most popular CAs.
    Corollary, if the Web Server is configured for mutual authentication then you need to install and configure the client certificate in the tools.
    Edited by: Prabodh on Dec 5, 2012 8:36 PM

  • Array limitation when calling VB Dll?

    Today I encountered a problem when calling a Visual Basic DLL in Labview 8.2.1
    I had to pass a 3D Array, with one dimension exceeding 30 000. around that array size I ended up with error -2146828282 when calling the Dll.
    The dll was working fine for weeks. So, is there any limition to the array size, which could cause the error?

    Hi sthu,
    Having 30,000 elements in one dimension of an array should not cause any problems by itself.  The maximum number of elements per dimension in an array is (2^31) – 1 as described in the LabVIEW Help for Grouping Data with Arrays and Clusters.  However, this is also dependent upon the memory available in your computer.  If there is not enough memory available in RAM, you might receive an error when passing the array to the DLL.
    I have included a couple links to pages that discuss LabVIEW memory usage and managing large data sets in LabVIEW.  These might help get your application up and running with the larger array sizes.
    VI Memory Usage
    Managing Large Data Sets in LabVIEW
    Donovan

  • Problem with local SAP name inside ABAP webservice

    Hi all,
    I've created a simple webservice in our SAP development machine, with the normal steps (create RFC, then generated the webservice inside SE38, then activated webservice in SOAMANAGER).
    The problem is that when I call the webservice from outside (external .NET program) I get the following error:
    There was no endpoint listening at http://srv.devm2.local:8004/sap/bc/srt/rfc/sap/zwebservice1/060/zwebservice1/zwebservice1 that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details.
    I believe this problem is related somehow with the internal srv.devm2.local SAP name that is unknown from outside.
    If I open the WSDL definition, in the end I can find this internal srv.devm2.local reference of our SAP DEV server:
    </wsdl:binding>
    <wsdl:service name="ZWEBSERVICE1Service">
    <wsdl:port name="zwebservice1" binding="tns:zwebservice1">
    <soap:address location="http://srv.devm2.local:8004/sap/bc/srt/rfc/sap/zwebservice1/030/zwebservice1/zwebservice1"/>
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>
    How can I force the webservice to map our external IP address, instead of the internal local name srv.devm2.local?
    Or there it another problem that I'm not aware of?
    Thanks all!
    jc

    I meant changing it in the calling application (external .NET). Can you not download the wsdl to your pc and change it there manually and then use this local wsdl in your external application to call the webservice ?
    It is just to see if the sap name is the problem. If that is the problem then it should work if you replace the name with the IP address.
    If this works then maybe basis need to adjust some settings (firewall ?, access authorizations ?)
    Also are you sure the service is activated in SOAMANAGER ? Sometimes when you save it stays inactive and it does not give you a clear error message, easy to overlook.
    And try to call the webservice with SOAPUI and the wsdl from soamanager. Does that work ? When I test with SOAPUI I always use the http port and don't forget to fill in user and password.
    If soapui call works, then the problem is with the external .NET application.

Maybe you are looking for