Complex datatype in Web Services

The work involved in handling complex datatype as part of the Web Services
(JDev 9.0.3) seems to be very complex and not very well documented. (as
far as I can tell).
Is there an easy way for a Java client to bypass the deserialization altogether
and just get the raw SOAP XML as returned from a Web Service.
From the Raw XML, we could use the regular parsing tools to do whatever
is necessary with the data. For example, I would like to transform the
XML returned by using a simple XSL transformation.
This would bypass the complexity of mapping all elements of an object that
I would not really use in Java anyway. (I would pass the result of the XSL
transformation to a 'C' program (yes I know it's ugly, but I still use 'C' for
processing data...)
I would really appreciate if anybody had experience in doing something like
that.
Thanks.

Hi Denis - I think I might have run into a similar prob. I have been able create and successfully test a web service as long as the input object types are Strings. When I try to do this with a complex data type it fails. "Complex" in this case means an object containing 2 string and 1 double (i.e. not a standard java.lang objects for which serializers are predefined).
Did you encounter the following error message?
[SOAPException: faultCode=SOAP-ENV:Client; msg=No Deserializer found to deserialize a 'http://IWidgetConsumer.xsd:Widget' using encoding style 'http://schemas.xmlsoap.org/soap/encoding/'. [java.lang.IllegalArgumentException]]
Process exited with exit code 0.
Thanks
X

Similar Messages

  • Complex data to web service

    I have read many posts and alot of documentation and would
    just like to confirm that it is NOT possible to pass what you could
    consider "complex" data to a web service. Data that is in an array,
    ArrayCollection, or even a actionscript class, that I need to pass
    to a .net web service (c# or vb.net) does not come out on the other
    side. I have tried making the .net web service parameter an object,
    array, arraylist, byte array, xml node, etc -- nothing happens.
    Am I wrong? If so, could anyone provide some code (on both
    the Flex 2.0 and .net web service side) that shows how to take the
    complex data sent from Flex to the web service and actually
    properly read the data in the web service. The intent would
    obviously to update a SQL Server database.
    Currently, my Flex web service calls have many many parameter
    tags under the <mx:request> tag - each one corresponding to
    the input parameter of the .net web service. My intent is to
    simplify the input parameters on both sides.
    Again, am I waiting for Flex 3.0 or am I just a little
    slow?

    Thank you for your reply. However, I have no problem getting
    data into Flex from .net (web service). It is getting data from
    Flex back into .net (web service) that I have an issue with. I can
    pass simple strings, numbers, bool, etc but it is when I try to
    pass ArrayCollections, actionscript classes , etc from Flex to .net
    that I can not seem to get it to work. Any help in this area would
    be greatly appreciated.
    Steve

  • Send complex data via web service : discards parts of complex object sent

    Hi,
       I have to send an object to the server via a web service. The object A (say) that is being sent has a lot of properties. Now A has an array collection of objects of type B which in turn has an array collection of type C and so on..
    The problem is some of the data is not a part of the xml data sent out.
    I have included the snapshots of the data given to the web service and data sent out as seen in the network monitor below.
    Object sent to the web service
    xml data sent out as seen
    in the request body in the Network monitor
    The object in red rectangle above is of type "Slide" which has an object "caption" of type Caption and other simple properties like slideId (int), slideNumber(int) and storyBoardId(int).
    The object in the red rectangle is the xml data of "Slide" corresponding to the object in the red rectangle in the image to the left.
    Notice that the entire object "caption" has been dropped while the simple properties have been represented.
    I am stuck and cant find a solution to this issue or a work around
    any pointers would be really helpful.
    thanks in advance

    Posting more images .. have simplified the object a lot but still have the same issue.
    1. The request object description as given in the asmx [seen in the browser]
    2. The request object's description as given in the wsdl [seen in browser]
    3. The object that is being sent to the web service -- as seen in the debugger of Flash builder
    4. The object data in xml being sent out of Flex client -- as seen in network monitor of Flash Builder
    NOTE : The object data as seen in the network monitor doesnt have the caption" part at all! whereas the debugger shows the caption.
    5. The object recieved at the web method  of the web service -- as seen in the debugger of visual studio running the service
    If anyone has any work around for this pl let me know.

  • Complex type in web service request

    Hello everybody...
    Maybe not the best place, but have to start from somewhere.
    Recently, I've started playing with utl_dbws package. I succeeded to call webservice with simple parameter. Now, I'd like to send (and receive) a parameter which is array of string.
    I don't know is it possible with anydate type of request or have to create XML request.
    Thx in advance for any comment or suggestion

    Hi
    did you get a solution for this?
    Can you please post the solution for our academic interest.
    thanks

  • Web service call problem with complex types input

    We are trying to call a web service and pass as parameter
    some complex types. When invoking the web service everything works
    well on flex side, but on the server side the input parameters we
    get from flex are not correct - complex type is removed and the
    elements of the complex type are sent. See the example:
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="
    http://www.adobe.com/2006/mxml"
    layout="absolute">
    <mx:WebService id="ws_id" wsdl="link" useProxy="false"
    fault="wsFault(event)">
    <mx:operation id="op_id" name="op"
    result="wsResult(event)">
    <mx:request>
    <parameters>
    <parameter1>{value1}</parameter1>
    <parameter2>{value2}</parameter2>
    <parameter3>{value3}</parameter3>
    <parameter4>
    <parameter4_1>{value4_1}</parameter4_1>
    <parameter4_2>{value4_2}</parameter4_2>
    <parameter4_3>{value4_3}</parameter4_3>
    </parameter4>
    </parameters>
    </mx:request>
    </mx:operation>
    </mx:WebService>
    </mx:Application>
    on server side we get this:
    <parameters>
    <parameter1>{value1}</parameter1>
    <parameter2>{value2}</parameter2>
    <parameter3>{value3}</parameter3>
    <parameter4_1>{value4_1}</parameter4_1>
    <parameter4_2>{value4_2}</parameter4_2>
    <parameter4_3>{value4_3}</parameter4_3>
    </parameters>
    Instead of :
    <parameters>
    <parameter1>{value1}</parameter1>
    <parameter2>{value2}</parameter2>
    <parameter3>{value3}</parameter3>
    <parameter4>
    <parameter4_1>{value4_1}</parameter4_1>
    <parameter4_2>{value4_2}</parameter4_2>
    <parameter4_3>{value4_3}</parameter4_3>
    </parameter4>
    </parameters>
    Any idea how is it possible to send complex type as web
    service input from flex ?

    Hi,
    I also have similar type of problem where I need to invoke a Web service with Complex input parameters.
    I followed Susan's blog but I stuck at a point where methos getItem is created.
    Can anyone tell me how to get that method for my requirement.
    If possible can you guys share your solutions here.
    Thanks in advance.

  • Web service call problem

    We are trying to call a web service and pass as parameter
    some complex
    types. When invoking the web service everything works well on
    flex
    side, but on the server side the input parameters we get from
    flex are
    not correct - complex type is removed and the elements of the
    complex
    type are sent. See the example:
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="
    http://www.adobe.com/2006/mxml"
    layout="absolute">
    <mx:WebService id="ws_id" wsdl="link" useProxy="false"
    fault="wsFault(event)">
    <mx:operation id="op_id" name="op"
    result="wsResult(event)">
    <mx:request>
    <parameters>
    <parameter1>{value1}</parameter1>
    <parameter2>{value2}</parameter2>
    <parameter3>{value3}</parameter3>
    <parameter4>
    <parameter4_1>{value4_1}</parameter4_1>
    <parameter4_2>{value4_2}</parameter4_2>
    <parameter4_3>{value4_3}</parameter4_3>
    </parameter4>
    </parameters>
    </mx:request>
    </mx:operation>
    </mx:WebService>
    </mx:Application>
    on server side we get this:
    <parameters>
    <parameter1>{value1}</parameter1>
    <parameter2>{value2}</parameter2>
    <parameter3>{value3}</parameter3>
    <parameter4_1>{value4_1}</parameter4_1>
    <parameter4_2>{value4_2}</parameter4_2>
    <parameter4_3>{value4_3}</parameter4_3>
    </parameters>
    Instead of :
    <parameters>
    <parameter1>{value1}</parameter1>
    <parameter2>{value2}</parameter2>
    <parameter3>{value3}</parameter3>
    <parameter4>
    <parameter4_1>{value4_1}</parameter4_1>
    <parameter4_2>{value4_2}</parameter4_2>
    <parameter4_3>{value4_3}</parameter4_3>
    </parameter4>
    </parameters>
    Any idea how is it possible to send complex type as web
    service input
    from flex ?

    May be wrong, but I don't think the WebService
    <request> tag can accept nested parameters, such as what
    you're doing with <parameter4>. Each element name in the xml
    pair must match a parameter name in the Web Service WSDL. I think
    Flex would just ignore <parameter4> and not send it.

  • Web Services, Schemas, and the xsi:type attribute

    Hi List,
    I have several questions reqarding web services, schemas, and the use of the xsi:type
    attribute in messages.
    Schemas:
    Q1: How complex can a web service schema be?
    Q2: Is it reasonable for a schema to contain derived types by extension [1]?
    Q3: Could you use the International Purchase Order Schema [2] with a web service?
    xsi:type
    Q1: Is it reasonable for a web service to use the xsi:type attribute in the message(s)?
    If I am interpreting Section 4.1.15 of the BasicProfile-1.0a [3] correctly, this
    appears to be appropriate in certain circumstances.
    Q2: When is it appropriate to use the xsi:type attribute? If a schema contains
    derived types by extension [1]? If a schema contains xsd:anyType?
    Q3: How does using the xsi:type attribute affect interoperability?
    And finally,
    Q4: Are there any examples available demonstrating the use of the xsi:type attribute
    in messages?
    Whew !!!
    TIA,
    Kent
    [1] http://www.w3.org/TR/xmlschema-0/#DerivExt
    [2] http://www.w3.org/TR/xmlschema-0/#ipo.xsd
    [3] http://www.ws-i.org/Profiles/Basic/2003-08/BasicProfile-1.0a.html

    Hi Kent,
    A few answers inline...
    HTH,
    Bruce
    Kent Kvarfordt wrote:
    >
    Hi List,
    I have several questions reqarding web services, schemas, and the use of the xsi:type
    attribute in messages.
    Schemas:
    Q1: How complex can a web service schema be?There are limits in converting the schema between language
    representations, see this section [a] in the docs on roundtripping
    generated data types.
    [a]
    http://edocs.bea.com/wls/docs81/webserv/assemble.html#1074725
    Q2: Is it reasonable for a schema to contain derived types by extension [1]?
    Q3: Could you use the International Purchase Order Schema [2] with a web service?
    xsi:type
    Q1: Is it reasonable for a web service to use the xsi:type attribute in the message(s)?
    If I am interpreting Section 4.1.15 of the BasicProfile-1.0a [3] correctly, this
    appears to be appropriate in certain circumstances.I've not seen this used.
    http://www.ws-i.org/Profiles/Basic/2003-08/BasicProfile-1.0a.html#refinement34259632
    >
    Q2: When is it appropriate to use the xsi:type attribute? If a schema contains
    derived types by extension [1]? If a schema contains xsd:anyType?
    Q3: How does using the xsi:type attribute affect interoperability?My thought is that since this is not commonly used, then your risk of
    interop failure is high.
    >
    And finally,
    Q4: Are there any examples available demonstrating the use of the xsi:type attribute
    in messages?Sorry, I looked and could not find any examples.
    >
    Whew !!!
    TIA,
    Kent
    [1] http://www.w3.org/TR/xmlschema-0/#DerivExt
    [2] http://www.w3.org/TR/xmlschema-0/#ipo.xsd
    [3] http://www.ws-i.org/Profiles/Basic/2003-08/BasicProfile-1.0a.html

  • Publish PLSQL as web service wizard

    Is there a way to control naming of complex types in web services that are generated by “publish PLSQL as web service” wizard?
    I.E. for a type defined in the database called MY_TEST_TYPE the wizard generates something like MY_CONNECTION_MY_TEST_TYPEUser. I would like to see just MY_TEST_TYPE
    I know that this can be edited after the generation, but then benefits of managing 100% generated code would be lost.
    Thanks

    You may use properties file while generating Java classes via JPublisher wizard. You tell JPublisher wizard to omit schema (omit_schema_names parameter) names for your types, etc. You can read "About Properties Files" in JDeveloper help. Create a properties file and put all options in that file then use that file (somewhere in the wizard dialog - I do not remember) while generating Java classes via JPublisher wizard.
    The properties file example
    jpub.case=lower
    jpub.numbertypes=jdbc
    jpub.omit_schema_names
    jpub.methods=true
    Hope this helps.

  • Web Service Complex Datatypes

    Does ColdFusion support nested complex data types when building Web Services?  See example CFCs below.  I keep getting a ServiceMethodNotFoundException.  In my SubmitNoticeOfAppt.cfc, the cfargument data type is NoticeOfAppointment.CFC which references other CFCs that define complex data types. The complex types are needed to support a really complex XML document that must be NIEM (National Information Exchange Model) compliant.  Originally tried passing the NIEM XML doument as a string, but receive deserialization errors, encounter child element.  Could get around the error by wrapping the XML string in <![CDATA[ ... ]]>, but this convention is not NIEM compliant.
    DocumentIssueDate.cfc
    <cfcomponent displayname="DocumentIssueDate" output="false">
       <cfproperty name="Date" type="date" required="No">
    </cfcomponent>
    DocumentAugmentation.cfc
    <cfcomponent displayname="DocumentAugmentation" output="false">
       <cfproperty name="DocumentIssueDate" type="any" required="No">
    </cfcomponent>
    DocumentIdentification.cfc
    <cfcomponent displayname="DocumentIdentification" output="false">
       <cfproperty name="IdentificationID" type="numeric" required="Yes">
       <cfproperty name="IdentificationCategoryDescriptionText" type="string" required="No">
    </cfcomponent>
    NoticeOfAppointment.cfc
    <cfcomponent displayname="NoticeOfAppointment" output="false">
       <cfproperty name="DocumentIdentification" type="any" required="Yes">
       <cfproperty name="DocumentAugmentation" type="any" required="Yes">
    </cfcomponent>
    SubmitNoticeOfAppt.cfc
    <cfcomponent style="document">
      <cffunction name="SubmitNoticeOfAppt" returnType="string" output="false" access="remote"> 
        <!---Arguments--->
          <cfargument name="NoticeOfApptXml" type="NoticeOfAppointment" required="Yes">
          <cfreturn "Notice of Appointment successfully received">
      </cffunction>
    </cfcomponent>
    Sample NoticeOfAppointment.xml       (Stripped down, actual message contains almost 200 elements with 20+ complex datatypes)
    <NoticeOfAppointment>
      <DocumentIdentification>
        <IdentificationID>000021199</IdentificationID>
        <IdentificationCategoryDescriptionText/>
      </DocumentIdentification>
      <DocumentAugmentation>
        <DocumentIssueDate>
          <Date>2011-04-07</Date>
        </DocumentIssueDate>
      </DocumentAugmentation>
    </NoticeOfAppointment>

    Coldfusion should be able to nest complex data types in your web service (after all, that's what the cfproperty tag was designed for).  Unfortunately, I have more experience consuming complex web services than designing them in CF. My Recommendation - inspect your web service WSDL using a tool that will generate the sample SOAP XML that will be needed to consume your web service.  You should be able to tell from that XML what the issue is - could be a missing namespace in your XML or strange nesting, etc.
    We use SOAPSonar from Crosscheck networks - they have a feww personal version that will allow you to inspect your web service interface and it will even generate the sample XML needed to call it via SOAP.
    Hope that helps.

  • Some data is missing while returning complex datatype from a web service

    Hi
    I am returning a complex data type from a web service. complex data type has a super class and some(not all) values from this super class are not being returned to the client. Strange part is that it giving some fields from super class and some values are not returned.
    I saw the soap response also it does not show any tag for those fields. but while creating a response i am setting some string values to those fields but i am not getting at client side.
    all the serailiastion and deseialization classes where created using ANT tasks and i have checked that all the cedec classes have been created.

    for what it's worth, the same problem was reported by one of our developers, although the string size was considerably smaller (probably less then 1 MB). According to him, soap clients generated from apache tools could connect fine and process the XML records. JDev hung. We simply changed our use case to return smaller results sets, but perhaps you could also generate your clients with WSDL2Java rather then JDev (if it is a truly a bug in JDev SOAP)? Can you add record parameters to the payload, in order to limit the results and scroll between remaining rows?

  • Creating Complex Datatypes in Application Module Service Interface

    HI All,
    I need to create the complex datatype as response in Application module service interface(Custom method).
    Is there any way to create it.
    I am able to create when i have simple datatype as response, Whereas the complex type is not able to create.
    Please give me some suggestion.
    Thanks
    Prabhat

    Hi
    I followed the below discussion and got the solution
    Create Web Services and return a complex type with ADF
    Thanks
    Prabhat

  • Custom/Complex data types in web services

    Hi,
    I've read in several articles here on otn that JDev 9.0.3 would have better support for
    creating web services with complex datatypes (like java.util.LinkedList), but still (in the 9.0.3 Preview)
    theese methods are greyed out on the web service wizard. Am I missing something?
    Until now I've worked with Custom Serializers, but they are time consuming and hard to work with.
    /Mattias

    Here are the two articles that will help:
    JavaBeans as Web services parameter types:
    http://otn.oracle.com/tech/webservices/htdocs/samples/customtype/content.html
    Registering Web services custom serializers:
    http://otn.oracle.com/tech/webservices/htdocs/samples/serialize/content.html
    The new support in JDev 9.0.3 is that JavaBean parameters are now recognized by the JDev publishing wizards whereas in JDev 9.0.2 there was the workaround pointed to by the first article. In 9.0.2 the publishing support was only for primitive data types.
    The upside of the custom serializers, is you can re-use your existing serializers if they happen to have been written to Apache SOAP.
    Mike.

  • Issue with a complex web service models

    Hello all,
    I have a web service model that has been imported and the strutucture for inbound parameters are complex.
    For the inbound parameters in the mode I have an object with a number of feilds as well a another object in it that is an array.
    Ex.
    DespatchTemplate (0..1)
    --> flightID
    --> DayOfWeek
    --> DespatchTemplateCustomers[] (0..n)
          --> customerId
          --> pc
          --> row
    Now I can return this mode no problem and use it in my web dynpro but I having an issue populate the array object in the model. The flightID and DayOfWeek show up in the debugger of the EJB (driver for the web service) but the DespatchTemplateCustomers is always null.
    I have tried a number of things and I am stuck.
    // Set the flight and dayOfWeel
    wdContext.currentCreateDespatchTemplateElement().setFlightId(
        wdContext.currentDespatchTemplateElement().getFlightId());
    wdContext.currentCreateDespatchTemplateElement().setDayOfWeek(
       wdContext.currentDespatchTemplateElement().getDayOfWeek());     
    // Create the model to use in the creation of the element
    ComplexType_DespatchTemplateCustomers model =
       new ComplexType_DespatchTemplateCustomers();
    ICreateDespatchTemplateCustomersElement customer;
    for(int i = 0; i < wdContext.nodeDespatchTemplateCustomer().size(); i++) {     
    // Create an element
      customer = wdContext.nodeCreateDespatchTemplateCustomers).
                           createCreateDespatchTemplateCustomersElement(model);
    // Get the customer data from the UI table          
      IDespatchTemplateCustomerElement customerElement =
        wdContext.nodeDespatchTemplateCustomer().
            getDespatchTemplateCustomerElementAt(i);
    // Set the flighId and dayOfWeek in the created Element           
       customer.setCustomerId(customerElement.getCustomerId());
       customer.setRow(new Integer(customerElement.getRow()));
    // Add the element to the node.           
       wdContext.nodeCreateDespatchTemplate().
          nodeCreateDespatchTemplateCustomers().addElement(customer)
    Thanks in advanced,
    Derek

    hi,
    no it's too large.
    i think i have solved my problem,
    originally the name of the web service is setting on v2/SecurityService_
    </wsdl:binding>
    <wsdl:service name="SecurityService">
    <wsdl:port binding="impl:SecurityServiceSoapBinding" name="v2/SecurityService">
    <wsdlsoap:address location="http://dev2008:7001/xmlpserver/services/v2/SecurityService"/>
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>
    if i change the name to SecurityService as follow , no error occurs
    </wsdl:binding>
    <wsdl:service name="SecurityService">
    <wsdl:port binding="impl:SecurityServiceSoapBinding" name="SecurityService">
    <wsdlsoap:address location="http://dev2008:7001/xmlpserver/services/v2/SecurityService"/>
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>

  • Error while returning complex data type in a J2EE web service

    Hello,
    I am implementing J2EE web service which returns array of custom class object.
    I have implemented serializable interface to custom class, and also to session bean.
    But it gives the following error:
    Serializing object [Lcom.ltitl.j2ee.ejb.classes.ProjectDetails;@2a2289 fails. Nested message: XML Serialization Error. Object of Class [com.ltitl.j2ee.ejb.classes.ProjectDetails] does not have property [ObjId] of type [java.lang.Integer]. Check if the right object is passed to the serialization routine..
    As error stated about some property ObjId..I tried including such property in my class. But now it gave exception while deploying stating that ObjId already defined.
    Also I want to return multiple arrays of complex custom classes. i tried using vectors but didnt work. What is the method to return arrays of complex custom classes.
    Please help..
    Abhijeet

    Trying to create a web service that returns a Collection doesn't seem to be possible in Netweaver. The reason for this is that languages other than Java have difficulty in mapping Collections, amongst others, to their own native equivalents.
    There is a discussion on the subject here you may find useful:
    http://forum.capescience.com/showthreaded.php?Cat=&Board=webservices&Number=147&page=0&view=collapsed&sb=5&o=&vc=1
    The short answer is to use object Arrays instead, or a custom class that contains an array of each type of object you would expect to find in your Vector
    Hope this helps
    Steve

  • How to invoke a Web Service from PL/SQL with Complex Type as  input.

    Hello,
    I am trying to invoke a web service from PL/SQL using the UTL_DBWS package.
    The web service expects a complex type as input (defined below):
    <xs:complexType name="MsgType">
    <xs:sequence>
    <xs:element name="sender" type="xs:string"/>
    <xs:element name="messageId" type="xs:string"/>
    <xs:element name="messageType" type="xs:string"/>
    <xs:element name="dateSent" type="xs:date"/>
    </xs:sequence>
    </xs:complexType>
    How to construct input to this in PL/SQL Procedure?
    Has any body tried this before?
    An exmaple will be helpful.
    Thanks

    Dear,
    I have read your article, it is useful for me. But I cannot Apply to my case. Please kindly help me. Thank you.
    When running, the error occurs:
    1:39:31 Execution failed: ORA-20000: soapenv:Server.userException - org.xml.sax.SAXParseException: Attribute name &quot;password&quot; associated with an element type &quot;user&quot; must be followed by the &apos; = &apos; character.
    My webservice Url: http://abc.com.vn:81/axis/ABC_WS_TEST.jws?wsdl
    I make PL/SQL (similiar as your example)
    FUNCTION INVOKESENDMT
    RETURN VARCHAR2
    AS
    l_request soap_api.t_request;
    l_response soap_api.t_response;
    l_return VARCHAR2(32767);
    l_url VARCHAR2(32767);
    l_namespace VARCHAR2(32767);
    l_method VARCHAR2(32767);
    l_soap_action VARCHAR2(32767);
    l_result_name VARCHAR2(32767);
    p_zipcode VARCHAR2(160);
    BEGIN
    --p_zipcode:='''TEST'' ; ''TEST'';''84912187098'';''84912187098'';''0'';''8118'';''1'';''000001'';''ThuNghiem'';''''';
    p_zipcode:='TEST';
    -- Set proxy details if no direct net connection.
    --UTL_HTTP.set_proxy('myproxy:4480', NULL);
    --UTL_HTTP.set_persistent_conn_support(TRUE);
    -- Set proxy authentication if necessary.
    --soap_api.set_proxy_authentication(p_username => 'TEST',
    -- p_password => 'TEST');
    l_url := 'http://abc.com.vn:81/axis/ABC_WS_TEST.jws';
    l_namespace := 'xmlns="' || l_url || '"';
    l_method := 'sendMT';
    l_soap_action := l_url || '#sendMT';
    l_result_name := 'sendMTResponse';
    l_request := soap_api.new_request(p_method => l_method,
    p_namespace => l_namespace);
    soap_api.add_parameter(p_request => l_request,
    p_name => 'user password sender receiver chargedflag servicenumber messagetype messageid textcontent binarycontent',
    p_type => 'xsd:string',
    p_value => p_zipcode);
    l_response := soap_api.invoke(p_request => l_request,
    p_url => l_url,
    p_action => l_soap_action);
    l_return := soap_api.get_return_value(p_response => l_response,
    p_name => l_result_name,
    p_namespace => l_namespace);
    RETURN l_return;
    END;

Maybe you are looking for