Invoke ADF taskflow with parameters using POST

Hi,
Can someone give an example or point me to an example describing invoking adf taskflow with parameters?
The requirement is to have the parameters passed using POST method and not passing the parameters in the url.
Jdev: 11.1.1.4.0
Thanks!

Hi,
a use case for the requirement would have been good to have as yet I can't tell if I am helping you with something useful (hope so) or stupid (for which there would be a better approach to use instead if only we knew the use case).
Anyway, here's a document describing what you asked for
http://adfpractice-fedor.blogspot.de/2013/07/url-task-flow-call-with-http-post-method.html
Frank

Similar Messages

  • ADF Taskflow with parameters in table

    Hi,
    I am developing a component that renders a user list. The first column is an image being rendered dynamically based on the user id and the second one shows the user name with a popup being displayed on rollover. The pop-up content must display a the same image and a region containing a taskflow that receives the userId as parameter and here is where I have the problem. I know how to pass parameters into taskflows, but I don't know how to tell the taskflow to receive a different parameter for each table row.
    My (yet incomplete) code looks like:
    <af:table var="row" id="t1" value="#{pageFlowScope.PeopleFinder.searchResults}" width="100%">
    <af:column sortable="false" headerText="Image" id="c1">
    <af:image source="/util/image.jsp?USER_GUID=#{row.orclGuid}" shortDesc="No User Image"
    id="i1"/>
    </af:column>
    <af:column sortable="false" headerText="Alias" id="c2">
    <af:popup id="profileSnapshotPopup">
    <af:outputText value="Pop Up" id="ot1"/>
    <af:image source="/util/image.jsp?USER_GUID=#{row.orclGuid}" shortDesc="No User Image" id="i2"/>
    *<!-- My TaskFlow region should go here -->*
    </af:popup>
    <af:commandLink text="#{row.cn}" action="to-profile" id="cl1">
    <af:setActionListener from="#{row.cn}" to="#{requestScope.user}"/>
    <af:showPopupBehavior popupId="profileSnapshotPopup"
    triggerType="mouseOver" align="endAfter"/>
    </af:commandLink>
    </af:column>
    </af:table>
    Is there a different approach available. The taskflow is a third-party taskflow, so replacing the taskflow region directly by the content it's not a valid approach.
    I would appreciate any comments.
    Thank very much.
    Edited by: MarcosCL on 12-Feb-2010 03:00
    Edited by: MarcosCL on 12-Feb-2010 03:48

    Hi,
    don't know what your task flow is supposed to do, but I don't think that what you try can work. You have a single task flow binding for the region, which means a single instance of the task flow is instantiated, and add it to a component - table - that stamps the values. So maybe when you give us an idea of what the task flow does, we can come up with an alternative solution like using a popup
    Frank

  • [REPOST]How to force ADF Dialog / POPUP to use POST method ?

    Hi all,
    Is there any way to make ADF Dialog / POPUP to use POST method ?
    I need that approach to implement this post : [SOLVED] Faces - Preventing user from entering URL manually
    But it breaks in my application because ADF Dialog / POPUP is using GET method.
    Thank you very much,
    xtanto

    repost.
    Thank you

  • ADF Taskflows with EJB and pageflow scope

    Hi,
    I am trying to create a simple registration page which is very simillar to FOD customer registration using EJBs instead of ADF BC.
    I can achieve the registration in one page but I wanted to try this using a wizard based process using ADF taskflows.
    I created a bounded taskflow with 3 pages. page1 is employee details, page2 is job details, page 3 is the summary page. I have JPA entities for Employee and Jobs and an EJB3 session Facade. I have used the Employees default constructor to create the UI bindings from the constructor section of the data controls. This creates an EmployeesIterator which I use it for bindings on all the three pages.
    My question is can I use this Iterator binding in pageflow scope? If yes How do I do this?
    The other way is to use a managed bean in pageflow scope and have UI bindings to the variables in managed bean. This option will work but I will not be utilising any of the features of ADF bindings.
    Can anyone please suggest which is the better option.
    Thanks
    Venkatesh

    Hi,
    pageDef files can be shared, but their instances aren't. The caching is on the data control side, which means that instead of using a constructor you would break up the input form into method calls like
    createPerson(String, fn, String ln, String address)
    createInterest(String hobby1, String hobby2);
    dagging and dropping the method calls should the reate an input form. Submitting the forms allows you to build a new person object on the session facade which at the end is committed. This way the ADF binding works across pages, operating on a single new object
    Frank
    Ps.: Note that I did not run this example for a test

  • Starting SMA runbook with parameteres using powershell via REST

    Hello!
    I am trying to start SMA runbook using powershell via REST. I can do that normally for simple runbook without parameters using REST web service (for example
    https://my.server.com:9090/00000000-0000-0000-0000-000000000000/Runbooks%28guid%27bd55d199-c261-4c50-9cef-a83d5c976ce2%27%29/Start
    However, I do not understand how to start a runbook which has parameters? For example I have 2 runbooks - 1 with single parameter and second with 3 parameters, how can I pass parameters value? I would really appreciate any help!

    Hello
    Does this Link answer your question?
    http://msdn.microsoft.com/en-us/library/hh921685.aspx
    Thanks
    Josh
    Code from that URL in case the link ever dies:
    # Details of the runbook we are going to run
    $rbid = "00000000-0000-0000-00000000000000001"
    $rbParameters = @{"00000000-0000-0000-00000000000000002" = "This is the value for Param1.";" 00000000-0000-0000-00000000000000003" = " This is the value for Param2."}
    # Create the request object
    $request = [System.Net.HttpWebRequest]::Create("http:// server01.contoso.com:81/Orchestrator2012/Orchestrator.svc/Jobs")
    # Set the credentials to default or prompt for credentials
    $request.UseDefaultCredentials = $true
    # $request.Credentials = Get-Credential
    # Build the request header
    $request.Method = "POST"
    $request.UserAgent = "Microsoft ADO.NET Data Services"
    $request.Accept = "application/atom+xml,application/xml"
    $request.ContentType = "application/atom+xml"
    $request.KeepAlive = $true
    $request.Headers.Add("Accept-Encoding","identity")
    $request.Headers.Add("Accept-Language","en-US")
    $request.Headers.Add("DataServiceVersion","1.0;NetFx")
    $request.Headers.Add("MaxDataServiceVersion","2.0;NetFx")
    $request.Headers.Add("Pragma","no-cache")
    # If runbook servers are specified, format the string
    $rbServerString = ""
    if (-not [string]::IsNullOrEmpty($RunbookServers)) {
    $rbServerString = -join ("<d:RunbookServers>",$RunbookServers,"</d:RunbookServers>")
    # Format the Runbook parameters, if any
    $rbParamString = ""
    if ($rbParameters -ne $null) {
    # Format the param string from the Parameters hashtable
    $rbParamString = "<d:Parameters><![CDATA[<Data>"
    foreach ($p in $rbParameters.GetEnumerator())
    #$rbParamString = -join ($rbParamString,"&lt;Parameter&gt;&lt;ID&gt;{",$p.key,"}&lt;/ID&gt;&lt;Value&gt;",$p.value,"&lt;/Value&gt;&lt;/Parameter&gt;")
    $rbParamString = -join ($rbParamString,"<Parameter><ID>{",$p.key,"}</ID><Value>",$p.value,"</Value></Parameter>")
    $rbParamString += "</Data>]]></d:Parameters>"
    # Build the request body
    $requestBody = @"
    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
    <entry xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns="http://www.w3.org/2005/Atom">
    <content type="application/xml">
    <m:properties>
    <d:RunbookId m:type="Edm.Guid">$rbid</d:RunbookId>
    $rbserverstring
    $rbparamstring
    </m:properties>
    </content>
    </entry>
    # Create a request stream from the request
    $requestStream = new-object System.IO.StreamWriter $Request.GetRequestStream()
    # Sends the request to the service
    $requestStream.Write($RequestBody)
    $requestStream.Flush()
    $requestStream.Close()
    # Get the response from the request
    [System.Net.HttpWebResponse] $response = [System.Net.HttpWebResponse] $Request.GetResponse()
    # Write the HttpWebResponse to String
    $responseStream = $Response.GetResponseStream()
    $readStream = new-object System.IO.StreamReader $responseStream
    $responseString = $readStream.ReadToEnd()
    # Close the streams
    $readStream.Close()
    $responseStream.Close()
    # Get the ID of the resulting job
    if ($response.StatusCode -eq 'Created')
    $xmlDoc = [xml]$responseString
    $jobId = $xmlDoc.entry.content.properties.Id.InnerText
    Write-Host "Successfully started runbook. Job ID: " $jobId
    else
    Write-Host "Could not start runbook. Status: " $response.StatusCode

  • Read Longtext with Parameters using BAPI_MESSAGE_GETDETAIL

    Hi ALL,
    I am trying to read the Longtext of a Message using FM BAPI_MESSAGE_GETDETAIL with Parameters.
    How do I have to write the Parameter in the Longtext so that the FM replaces it with the parameter message_v1 given to the FM?
    I have tried &V1 and &V1& but the FM dumps!
    Let me know!!
    THANKS, Johannes

    Hi
    Example:
    DATA:
      g_message_v1 LIKE bapiret2-message_v1 VALUE 'A',
      g_message_v2 LIKE bapiret2-message_v2 VALUE 'B',
      g_message_v3 LIKE bapiret2-message_v3 VALUE 'C',
      g_message_v4 LIKE bapiret2-message_v4 VALUE 'D',
      g_message    LIKE bapiret2-message,
      gt_text TYPE TABLE OF bapitgb.
    CALL FUNCTION 'BAPI_MESSAGE_GETDETAIL'
      EXPORTING
        id                = '00'
        number            = '398'
      LANGUAGE          = SY-LANGU
        textformat        = 'ASC'
      LINKPATTERN       =
        message_v1        = g_message_v1
        message_v2        = g_message_v2
        message_v3        = g_message_v3
        message_v4        = g_message_v4
      IMPORTING
        message           = g_message
      RETURN            =
      TABLES
        text              = gt_text.

  • Problem to create a link with parameters using a PL/SQL function body

    Hi everybody,
    I need some help to create a link on a SELECT statement.
    I have a region report with type "PL/SQL function body return SQL query".
    I would like to use a link using HTML tag <a href>.
    I know how to do the link, but I don't know to pass a parameters in <a href> statement.
    Always I tried it doesn't work well.
    My PL/SQL anonimous block is, (just with link) :
    DECLARE
    q vARCHAR2(4000);
    BEGIN
    q:='select     "INDICADOR"."NRINDICADOR" as "NRINDICADOR",';
    q:=q||'     "INDICADOR"."DSINDICADOR" as "DSINDICADOR",';
    q:=q||'''<span style="font-weight:bold;">';
    q:=q||'''||TO_CHAR("TOTAL_INDICADOR"."VL_INDICADOR", ''999G999G999G990D00'')||''</span>''';
    q:=q||' as "VL_INDICADOR",';
    q:=q||'     "TOTAL_INDICADOR"."VL_META" as "VL_META" ';
    q:=q||' from     "TOTAL_INDICADOR" "TOTAL_INDICADOR",';
    q:=q||'     "INDICADOR" "INDICADOR" ';
    q:=q||' where "INDICADOR"."NRINDICADOR"="TOTAL_INDICADOR"."NR_INDICADOR"';
    RETURN q;
    END;
    Thanks for any help,
    Alessandra

    Your code is in a default value for an item, right?
    You need to make sure :P33_YEAR is not null and handle the error in the PL/SQL if it is.
    How is P33_YEAR populated? do you pass it in? check to see if it is making it there..
    Message was edited by:
    Bill Carlisle

  • Calling subtemplate with parameters in footer

    Hi,
    I have the following syntax that calls a conditional footer depending on orgid and country:
    <xsl:call-template name="Super"><xsl:with-param name="organiz"select="ORG"/>
    <xsl:with-param name="country" select="BILL_COUNTRY_DESCRIPTION"/></xsl:call-template>
    This works great if I call it from a form-field but if I paste this code into the footer it does'nt get interpreted as xsl-code.
    Is there any way to work around this?
    Rg. Daniel

    By the way - you can call subtemplates with parameters using the short <??> notation in the real header.
    Edward our local guru gave me syntax:
    HEADER:
    <?call@inlines:aaa?><?with-param:name;string(‘edward’)?><?end call?>
    BODY:
    <?template:aaa?>
    <?param:name;string(‘Default Value’)?>
    Name: <?string($name)?>
    <?end template?>

  • Can i use post-gre with ADF -BC ?

    Hie
    I do have postgre database with me.. and can i use ADF-BC with it?
    Vik

    We haven't tested ADF BC with Postgres.
    Try using Toplink or JPA.
    Or get the free Oracle XE database.

  • ADF how can i execute a query with parameters when the page renders

    hi
    i am using ADF web 11g
    i need to execute a query with parameters when the page renders
    thanks

    hello,
    I'm a fan of Java code, I really am.
    But when you use ADF, you decided to move to a more declarative environment.
    So why not do it declarative, the adf way?
    In your pagedef insert a action binding.
    This can be anything, a call to the application module, a call on the iterator(Like executeWithparams, etc.)
    Create an invokeAction in your pagedef and set the condition.
    This example refreshes(Action 2 is execute query) the data.
    First the method binding:
        <action IterBinding="PersoonIterator" id="Execute" InstanceName="LSAppModuleDataControl.Persoon"
                DataControl="LSAppModuleDataControl" RequiresUpdateModel="true" Action="2"/>And the invoke action
        <invokeAction Binds="Execute" id="refreshData"/>This always refreshes the data on page entry, but anything is possible, you can set condictions for the invokeAction.
    -Anton
    PS Yes I know that pagedefs become backing beans in the end and yes that is Java code, but if you wanna play the ADF way, the goal is the reduction of Java code and the increased performance of declarative programming.

  • 11G: Error invoking adf-binding service in composite with JAVA API

    Hello,
    i'm trying to invoke a asyncrhonous composite via JAVA API. My composite has two services: WS and ADF-BC SERVICE both of two are wired with a MEDIATOR that connects with two BPEL Process depending on two rules.
    I need to invoke a process depending of the input: if the input is A i invoke the process 1 and if the input is B I invoke the process 2. I use the Mediator instead of switch because it's an example in order to build a complex decission system then.
    R1 and R2 are two static rules in the Mediator.
    R1 = $in.payload/client:process/client:tiposiniestro = 'A'
    R2 = $in.payload/client:process/client:tiposiniestro = 'B'
    And my XSD is:
    <schema attributeFormDefault="unqualified"
         elementFormDefault="qualified"
         targetNamespace="http://xmlns.oracle.com/POC_jws/ProcesoApertura/ProcesoApertura"
         xmlns="http://www.w3.org/2001/XMLSchema">
    <element name="process">
              <complexType>
                   <sequence>
                        <element name="tiposiniestro" type="string"/>
                   </sequence>
              </complexType>
         </element>
         <element name="processResponse">
              <complexType>
                   <sequence>
                        <element name="result" type="string"/>
                   </sequence>
              </complexType>
         </element>
    </schema>
    If i invoke with SOAP, sending the message:
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
         <soap:Body xmlns:ns1="http://xmlns.oracle.com/POC_jws/ProcesoApertura/ProcesoApertura">
              <ns1:process>
                   <ns1:tiposiniestro>A</ns1:tiposiniestro>
    </ns1:process>
    </soap:Body>
    </soap:Envelope>
    the composite works. But if i try to invoke with JAVA, with the code:
    String payload5 = "<process xmlns=\"http://xmlns.oracle.com/POC_jws/ProcesoApertura/ProcesoApertura\">" +
         "     <tiposiniestro>A</tiposiniestro>" +
         "</process>";
    String conversationId = UUID.randomUUID().toString();
    NormalizedMessage nm = new NormalizedMessageImpl();
    nm.addProperty(NormalizedMessage.PROPERTY_CONVERSATION_ID, conversationId);
    Map<String,Object> payload = nm.getPayload();
    payload.put("payload", pPayLoad);
    nm.setPayload(payload);
    service.post(pOperation, nm);
    i get the following error:
    Caused by: java.lang.ClassCastException: java.lang.String cannot be cast to org.w3c.dom.Element
    How can I send the message via JAVA API using the mediator in my composite?
    Is there any important difference in the format between send a request with SOAP or JAVA?
    Thanks in advance.
    Edited by: user7239022 on 05-ene-2010 7:38
    Edited by: user7239022 on 05-ene-2010 7:40
    Edited by: user7239022 on 05-ene-2010 7:49
    Edited by: user7239022 on 05-ene-2010 8:41

    Talking about the dynamic rules in the Mediator, Oracle documentation says:
    "As of now, only SOAP bindings are supported. There is a dummy SOAP binding in the composite.xml file. This endpoint is overridden by Mediator in runtime through NM property. So, outbound services can be called only over SOAP."
    Is it valid for static rules as well? I means, how can i use Java API to invoke a Composite with a Mediator as first element? I always get the message:
    +"java.lang.ClassCastException: java.lang.String cannot be cast to org.w3c.dom.Element"+
    Thanks again

  • Trouble invoking Axis service with multiple parameters

    Hallo Java experts,
    I have a problem with Axis 1.2RC2 (and Tomcat 5.0.19, JDK 1.5, Win XP) that might be quite simple, but I'm not so experienced and running out of ideas.
    Everything works fine as long as I use a single Parameter. But I can't invoke service methods with more parameters, independent of the parameters' (simple) types! Different exceptions are thrown, depending on the way I invoke the service. It's either ...
    - a java.lang.IllegalArgumentException (case 1)
    "Tried to invoke method public java.lang.String test.server.TestSoapBindingImpl.printLongs(long,long) with arguments java.lang.Long,null. The arguments do not match the signature."
    - or an org.xml.sax.SAXException (case 2)
    "SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize."
    Here's an example of a simple web service, that takes two longs and should return a string. In case 1 the service is invoked using a service locator in case 2 with a 'Call' object and explicitly set parameter types.
    Thanks in advance for your help!
    Dave
    service[b]
    public class TestSoapBindingImpl implements test.server.Test{
      public String printLongs(long long_1, long long_2){
        return "long_1 = " +long_1 +", long_2 = " +long_2;
    [b]case 1
    client
    public class TestClient {
      public static void main (String[] args) throws Exception {     
        TestService service = new TestServiceLocator();
        Test testProxy = service.gettest();     
        long longVal = 1L; 
        response = testProxy.printLongs(longVal, longVal);
        System.out.println(response);
    SOAP messsage
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
       <soapenv:Body>
          <in6 xmlns="urn:TestNS">1</in6>
          <in7 xmlns="urn:TestNS">1</in7>
       </soapenv:Body>
    </soapenv:Envelope>
    Axis' log file
    Part of the log, where only the first argument of 'printLongs' is properly converted before the exception is thrown.
    17886  org.apache.axis.utils.JavaUtils
            - Trying to convert java.lang.Long to long
    17886  org.apache.axis.i18n.ProjectResourceBundle
            - org.apache.axis.i18n.resource::handleGetObject(value00)
    17886  org.apache.axis.providers.java.RPCProvider
            -   value:  1
    17886  org.apache.axis.i18n.ProjectResourceBundle
            - org.apache.axis.i18n.resource::handleGetObject(dispatchIAE00)
    17986  org.apache.axis.providers.java.RPCProvider
            - Tried to invoke method public java.lang.String test.server.TestSoapBindingImpl.printLongs(long,long) with arguments java.lang.Long,null.  The arguments do not match the signature.
    java.lang.IllegalArgumentException
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:384)
          at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:281)
         at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:319)
         at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
         at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
         at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
         at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:450)
         at org.apache.axis.server.AxisServer.invoke(AxisServer.java:285)
         at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:653)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
         at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:301)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    case 2
    client
    public class TestClient2
      public static void main(String [] args) {
        try {
           String endpoint =
             "http://localhost:1234/axis1.2rc2/services/test";
           Service  service = new Service();
           Call     call    = (Call) service.createCall();
           call.setTargetEndpointAddress( new java.net.URL(endpoint) );
           call.setOperationName(new QName("urn:TestNS", "printLongs") );
           call.addParameter("in6",
                             org.apache.axis.Constants.XSD_LONG,
                             javax.xml.rpc.ParameterMode.IN);
           call.addParameter("in7",
                             org.apache.axis.Constants.XSD_LONG,
                             javax.xml.rpc.ParameterMode.IN);
           call.setReturnType(org.apache.axis.Constants.XSD_STRING);
           String response = (String) call.invoke( new Object[] { 1L, 1L } );
           System.out.println(response);
        } catch (Exception e) {
           System.err.println(e.toString());
    SOAP messsage
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
       xmlns:xsd="http://www.w3.org/2001/XMLSchema"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
       <soapenv:Body>
          <ns1:printLongs soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="urn:TestNS">
             <in6 href="#id0"/>
             <in7 href="#id0"/>
          </ns1:printLongs>
          <multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="xsd:long" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">1</multiRef>
       </soapenv:Body>
    </soapenv:Envelope>
    Exception
    AxisFault
    faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
    faultSubcode:
    faultString: org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.
    faultActor:
    faultNode:
    faultDetail:
         {http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize.
      at org.apache.axis.encoding.ser.SimpleDeserializer.onStartChild(SimpleDeserializer.java:143)
      at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1031)
      at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
      at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1140)
      at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:238)
      at org.apache.axis.message.RPCElement.getParams(RPCElement.java:386)
      at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:148)
      at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:319)
      at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
      at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
      at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
      at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:450)
      at org.apache.axis.server.AxisServer.invoke(AxisServer.java:285)
      at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:653)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
      at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:301)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
      ....

    Dave, not sure if you still are looking for an answer but i hate seeing unreplied posts so i felt i needed to post something. I'm just beginning with this stuff as well so take my suggestions with a grain of salt....or a beer. Anyways, case 2 would show that you are getting your parameters through properly because the "deserialization" errror is targetted towards the soap reply. Most likely you are trying to receive back a none primitive type. :-D i.e. such as the problem that i'm having.
    hope that helps somewhat.
    graeme.

  • Using XSLT "adapter" for invoking a WS with SOAP-ENC array type param.

    Hello,
    I had to write a BPEL process that calls inside it a web service which has as an input an array parameter and as an output, also an array. I already know that BPEL has limitations regarding using the SOAP-ENC Array type. I tried to rewrite the web service in order to use a literal encoding of the array parameters (using "maxOccurs" attribute), but unfortunately, the OC4J container 9.0.4 that I have to use doesn't allow this. It only allows the SOAP-ENC types for array types.
    I started to write, inside the BPEL process, some "adapters" XSLT transformations before and after the invoking of the web service that uses SOAP-ENC array. The XSLT transformation before the web service invoking will translate the input array parameter defined with no SOAP encoding types (based on "maxOccurs" attribute) into a SOAP-ENC type, as it is expected by the web service. The XSLT transformation after the web service invoking will translate the returned array SOAP-ENC type into a data type defined with no SOAP encoding types (based on "maxOccurs" attribute).
    The approach is pretty hairy, from the XSLT point of view and it introduces a supplementary delay due to the XSLT processing needed, but it works. The only think is that when I build the service, I obtain the following error message:
    [bpelc] [Error] GCDBWebservice?WSDL:30:42: src-resolve.4.2: Error resolving component 'SOAP-ENC:Array'. It was detected that 'SOAP-ENC:Array' is in namespace 'http://schemas.xmlsoap.org/soap/encoding/', but components from this namespace are not referenceable from schema ...
    But in spite of this, the process is built and deployed successfully and I was able to run it from the BPEL console.
    Do you think that this approach could hide some other future problems that I can't see in this moment?
    Thanks,
    Marinel

    Please help me for this.
    I am new to Webservices and SOAP.
    I am facing problem when i am calling a "add" method in the .net webservices with the following code but it gives correct result when i'm calling the "HelloWorld" method present in the webservice.
    I think it will happening because, when i'm going to pass any parameter to the "add method , it does not process it.It will return me 0.
    Please help me in this.
    The code is:
    import java.io.*;
    import java.util.*;
    import java.net.*;
    import org.w3c.dom.*;
    import org.apache.soap.util.xml.*;
    import org.apache.soap.*;
    import org.apache.soap.encoding.*;
    import org.apache.soap.encoding.soapenc.*;
    import org.apache.soap.encoding.literalxml.*;
    import org.apache.soap.rpc.*;
    import org.apache.soap.transport.http.SOAPHTTPConnection;
    import org.apache.soap.transport.*;
    import org.apache.soap.messaging.*;
    import org.apache.xerces.parsers.*;
    import org.apache.xerces.dom.DocumentImpl;
    public class testClient {
    public static void main(String[] args) throws Exception {
    URL url = new URL ("http://Eurotele-it3/webService1/Service1.asmx");
    //Map the Types.
    SOAPMappingRegistry smr = new SOAPMappingRegistry ();
    StringDeserializer sd = new StringDeserializer ();
    smr.mapTypes(Constants.NS_URI_SOAP_ENC,new QName("http://Eurotele-it3/WebService1/Service1","addResult"),Integer.class,null,sd);
    // create the transport and set parameters
    SOAPHTTPConnection st = new SOAPHTTPConnection();
    // build the call.
    Call call = new Call();
    call.setSOAPTransport(st);
    call.setSOAPMappingRegistry(smr);
    call.setTargetObjectURI ("http://Eurotele-it3/WebService1/Service1/add");
    call.setMethodName("add");
    //call.setEncodingStyleURI("http://schemas.xmlsoap.org/soap/encoding/");
    call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
    Vector params = new Vector();
    params.addElement(new Parameter("x",Integer.class,"10",null));
    params.addElement(new Parameter("y",Integer.class,"20",null));
    call.setParams(params);
    Response resp = null;
    try {
    resp = call.invoke (url,"http://Eurotele-it3/WebService1/Service1/add");
    catch (SOAPException e) {
    System.err.println("Caught SOAPException (" + e.getFaultCode () + "): " +e.getMessage ());
    return;
    // check response
    if (resp != null && !resp.generatedFault()) {
    Parameter ret =resp.getReturnValue();
    Object value =ret.getValue();
    System.out.println ("Answer--> " +value );
    else {
    Fault fault = resp.getFault ();
    System.err.println ("Generated fault: ");
    System.out.println (" Fault Code = " + fault.getFaultCode());
    System.out.println (" Fault String = " + fault.getFaultString());
    This is the complete WSDL format:
    <?xml version="1.0" encoding="utf-8" ?>
    - <wsdl:definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://Eurotele-it3/WebService1/Service1" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://Eurotele-it3/WebService1/Service1" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
    - <wsdl:types>
    - <s:schema elementFormDefault="qualified" targetNamespace="http://Eurotele-it3/WebService1/Service1">
    - <s:element name="HelloWorld">
    <s:complexType />
    </s:element>
    - <s:element name="HelloWorldResponse">
    - <s:complexType>
    - <s:sequence>
    <s:element minOccurs="1" maxOccurs="1" name="HelloWorldResult" type="s:int" />
    </s:sequence>
    </s:complexType>
    </s:element>
    - <s:element name="add">
    - <s:complexType>
    - <s:sequence>
    <s:element minOccurs="1" maxOccurs="1" name="x" type="s:int" />
    <s:element minOccurs="1" maxOccurs="1" name="y" type="s:int" />
    </s:sequence>
    </s:complexType>
    </s:element>
    - <s:element name="addResponse">
    - <s:complexType>
    - <s:sequence>
    <s:element minOccurs="1" maxOccurs="1" name="addResult" type="s:int" />
    </s:sequence>
    </s:complexType>
    </s:element>
    </s:schema>
    </wsdl:types>
    - <wsdl:message name="HelloWorldSoapIn">
    <wsdl:part name="parameters" element="tns:HelloWorld" />
    </wsdl:message>
    - <wsdl:message name="HelloWorldSoapOut">
    <wsdl:part name="parameters" element="tns:HelloWorldResponse" />
    </wsdl:message>
    - <wsdl:message name="addSoapIn">
    <wsdl:part name="parameters" element="tns:add" />
    </wsdl:message>
    - <wsdl:message name="addSoapOut">
    <wsdl:part name="parameters" element="tns:addResponse" />
    </wsdl:message>
    - <wsdl:portType name="Service1Soap">
    - <wsdl:operation name="HelloWorld">
    <wsdl:input message="tns:HelloWorldSoapIn" />
    <wsdl:output message="tns:HelloWorldSoapOut" />
    </wsdl:operation>
    - <wsdl:operation name="add">
    <wsdl:input message="tns:addSoapIn" />
    <wsdl:output message="tns:addSoapOut" />
    </wsdl:operation>
    </wsdl:portType>
    - <wsdl:binding name="Service1Soap" type="tns:Service1Soap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
    - <wsdl:operation name="HelloWorld">
    <soap:operation soapAction="http://Eurotele-it3/WebService1/Service1/HelloWorld" style="document" />
    - <wsdl:input>
    <soap:body use="literal" />
    </wsdl:input>
    - <wsdl:output>
    <soap:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    - <wsdl:operation name="add">
    <soap:operation soapAction="http://Eurotele-it3/WebService1/Service1/add" style="document" />
    - <wsdl:input>
    <soap:body use="literal" />
    </wsdl:input>
    - <wsdl:output>
    <soap:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    - <wsdl:service name="Service1">
    <documentation xmlns="http://schemas.xmlsoap.org/wsdl/" />
    - <wsdl:port name="Service1Soap" binding="tns:Service1Soap">
    <soap:address location="http://eurotele-it3/webService1/Service1.asmx" />
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>

  • Calling a taskflow with input parameters in a page template

    Hi,
    I have a taskFlow with an inputParameter, a page template with an attribute and a fragment using this template.
    My fragment is passing #{bindings.MyColumn.inputValue} to the template attribute, where bindings.MyColumn is an attributeValues pointing to an iterator.
    My template is calling the taskFlow and pass #{attrs.myColumn} to the input parameter. There is an outputText too, displaying #{attrs.myColumn}.
    +fragment -- #{bindings.MyColumn.inputValue} --> template -- #{attrs.myColumn} --> taskFlow+
    The problem is that #{attrs.myColumn} is resolved to null when is passed to the taskFlow inputParameter. But in the outputText value, #{attrs.myColumn} is resolved to the good value.
    I don't understand what is happening.
    If I pass #{data.fragmentPageDef.MyColumn.inputValue} directly from my template to the taskFlow input parameter it works, but no with #{attrs.myColumn}.
    How can I do to pass a template attribute to a taskFlow inputParameter?

    I think it is more something with ADF lifecycle.
    Something like : #{attrs.myColumn} is resolved in a phase and the taskFlow in another. I don't know.
    I am trying to understand what is done when. I think the answer is in "Prepare Model" and "Prepare Render" phases, but I am far to understand all this...
    Any help is welcomed.

  • How to use same taskFlow with inputparam twice on page

    Hi,
    I have 2 taskFlows (Task1, Task2) with imputParams and CallMethod default activity.
    Tsak1 is form, task2 is table.
    I need to use Taskflow 1 twice on same page.
    TaskFlow1(without param)-taskFlow2(get param from taskflow1)-TaskFlow1(get param from taskFlow2).
    Based on this example [http://andrejusb.blogspot.com/2010/04/communicating-between-adf-regions.html]
    If shared data control is checked - taskFlow1's refresh both like copy.
    If unchecked - region's doesn't refresh and taskFlow2 can't use inputParam like #{data.taskFlowTest_view_view3PageDef.Oid.inputValue} (because i have 2 same taskFlow with this param).
    Can I use one taskFlow for this and how?

    For the Taskflow, set the data control scope for the task flow to "isolated" change the behavior.
    Thanks,
    Navaneeth

Maybe you are looking for

  • How can I create a Report with LabView Real-Time?

    With conventional LabView, I can create Reports in HTML, for example to document Errors. I need this feature in LabView Realtime. Is it possible?

  • IIF not accepting Dimensions in a OLAP Universe using Bex Query

    Hi, We have an issue with Prompted object , u2018IIFu2019 expression is not taking dimension object in u2018Thenu2019 clause, it takes only the measure object. Below are the two expressions one with measure and other with dimension, object with measu

  • How to make use of metadata in OA Framework?

    Hi, I have requirement to create a table structure dynamically and i need to create a view object dynamically with tablename and column name passed dynamically . I have heard of metadata concept. My question is How can we make use of metadata in OA f

  • Parallel processing in Info package

    Hi All, I want to increase the parallel processing for pulling the data from R/3 to PSA. I dont find any options available in Info package. Like DTP, is there any options available to increase the parallel processing from R3 to PSA. Please suggest ho

  • Segment E1IDBW1 is missing for the inbound idoc type PAYEXT

    Hello, the above segment is missing in the inbound idoc - basic type pexr2002. I have checked in TC-we30 and its available there. but still the idoc is getting generated without this segment. can someone suggest. thanks Arun