Maximum data for calling web service

Hi all,
I try to trigger a C# webservice via XI.
If I transfer more than 65000 bytes then I get a "Bad request error".
When I transfer less than 65000 bytes everything works fine.
Is that a configuration in XI or a limit in the service itself?
Any ideas?
regards

Hi,
In theory there is no limitation on data can be called using webservice but as you know webservice use HTTP for transferring data hence it is limitation of HTTP regarding un-interrupt transfer of data.
This limit of http can be vary from landscape to landscape, over LAN you may get 64MB but over internet you may get similar error for few MBs or less.
Suggestion is to breakup data into smaller part for reliable transfer of information otherwise you will see this error often.
Webservices are not recommended for high volume data transfer.
Regards,
Gourav

Similar Messages

  • Formatting CF data for a web service complex type

    I am trying to call a web service with the following definition in the WSDL
    <s:element name="CreateDataList">
         <s:complexType>
              <s:sequence>
                   <s:element minOccurs="0" maxOccurs="1" name="client_app_id" type="s:string"/>
                   <s:element minOccurs="0" maxOccurs="1" name="client_app_pwd" type="s:string"/>
                   <s:element minOccurs="1" maxOccurs="1" name="data_template_id" type="s:int"/>
                   <s:element minOccurs="1" maxOccurs="1" name="calculate_persistent_values" type="s:int"/>
                   <s:element minOccurs="0" maxOccurs="1" name="data" type="tns:ArrayOfArrayOfName_value"/>
              </s:sequence>
         </s:complexType>
    </s:element>
    <s:complexType name="ArrayOfArrayOfName_value">
         <s:sequence>
              <s:element minOccurs="0" maxOccurs="unbounded" name="record" type="tns:ArrayOfName_value"/>
         </s:sequence>
    </s:complexType>
    <s:complexType name="ArrayOfName_value">
         <s:sequence>
              <s:element minOccurs="0" maxOccurs="unbounded" name="variable" type="tns:name_value"/>
         </s:sequence>
    </s:complexType>
    <s:complexType name="name_value">
         <s:sequence>
              <s:element minOccurs="0" maxOccurs="1" name="name" type="s:string"/>
              <s:element minOccurs="0" maxOccurs="1" name="value" type="s:string"/>
         </s:sequence>
    </s:complexType>
    I am trying to format the ArrayOfArrayOfName_value data and getting an "argument type mismatch" error. The sample PHP code for the data looks like this:
    $data = array(0 => array(
        array('name' => 'FIRST_NAME', 'value' => 'First'),
        array('name' => 'LAST_NAME', 'value' => 'Last'),
        array('name' => 'ADDRESS', 'value' => 'Address'),
        array('name' => 'CITY', 'value' => 'City'),
        array('name' => 'STATE', 'value' => 'State'),
        array('name' => 'ZIP', 'value' => '55555')
    1 => array(
        array('name' => 'FIRST_NAME', 'value' => 'First'),
        array('name' => 'LAST_NAME', 'value' => 'Last'),
        array('name' => 'ADDRESS', 'value' => 'Address'),
        array('name' => 'CITY', 'value' => 'City'),
        array('name' => 'STATE', 'value' => 'State'),
        array('name' => 'ZIP', 'value' => '55555')
    My CF code looks like this:
    <cfset data = ArrayNew(1) />
    <cfset data[1] = ArrayNew(1) />
    <cfset data[1][1] = StructNew() />
    <cfset data[1][1]["name"] = "NAME" />
    <cfset data[1][1]["value"] = "JOhn Doe" />
    <cfset data[1][2] = StructNew() />
    <cfset data[1][2]["name"] = "ADDRESS1" />
    <cfset data[1][2]["value"] = "123 Test St" />
    <cfset data[1][3] = StructNew() />
    <cfset data[1][3]["name"] = "ADDRESS2" />
    <cfset data[1][3]["value"] = "" />
    <cfset data[1][4] = StructNew() />
    <cfset data[1][4]["name"] = "CITY" />
    <cfset data[1][4]["value"] = "Austin" />
    <cfset data[1][5] = StructNew() />
    <cfset data[1][5]["name"] = "STATE" />
    <cfset data[1][5]["value"] = "TX" />
    <cfset data[1][6] = StructNew() />
    <cfset data[1][6]["name"] = "ZIP" />
    <cfset data[1][6]["value"] = "78704" />
    <cfset data[2] = ArrayNew(1) />
    <cfset data[2][1] = StructNew() />
    <cfset data[2][1]["name"] = "NAME" />
    <cfset data[2][1]["value"] = "Jane Doe" />
    <cfset data[2][2] = StructNew() />
    <cfset data[2][2]["name"] = "ADDRESS1" />
    <cfset data[2][2]["value"] = "987 Test St" />
    <cfset data[2][3] = StructNew() />
    <cfset data[2][3]["name"] = "ADDRESS2" />
    <cfset data[2][3]["value"] = "" />
    <cfset data[2][4] = StructNew() />
    <cfset data[2][4]["name"] = "CITY" />
    <cfset data[2][4]["value"] = "Austin" />
    <cfset data[2][5] = StructNew() />
    <cfset data[2][5]["name"] = "STATE" />
    <cfset data[2][5]["value"] = "TX" />
    <cfset data[2][6] = StructNew() />
    <cfset data[2][6]["name"] = "ZIP" />
    <cfset data[2][6]["value"] = "78704" />
    Any suggestions for where I am going wrong would be greatly appreciated.

    If anyone is interested here is the correct CF format for this WSDL complex type definition
    <cfset data = StructNew() />
    <cfset data["record"] = ArrayNew(1) />
    <cfset data["record"][1] = StructNew() />
    <cfset data["record"][1]["variable"] = ArrayNew(1) />
    <cfset data["record"][1]["variable"][1] = StructNew() />
    <cfset data["record"][1]["variable"][1]["name"] = "NAME" />
    <cfset data["record"][1]["variable"][1]["value"] = "John Doe" />
    <cfset data["record"][1]["variable"][2] = StructNew() />
    <cfset data["record"][1]["variable"][2]["name"] = "ADDRESS1" />
    <cfset data["record"][1]["variable"][2]["value"] = "123 Test St" />
    <cfset data["record"][1]["variable"][3] = StructNew() />
    <cfset data["record"][1]["variable"][3]["name"] = "ADDRESS2" />
    <cfset data["record"][1]["variable"][3]["value"] = "" />
    <cfset data["record"][1]["variable"][4] = StructNew() />
    <cfset data["record"][1]["variable"][4]["name"] = "CITY" />
    <cfset data["record"][1]["variable"][4]["value"] = "Austin" />
    <cfset data["record"][1]["variable"][5] = StructNew() />
    <cfset data["record"][1]["variable"][5]["name"] = "STATE" />
    <cfset data["record"][1]["variable"][5]["value"] = "TX" />
    <cfset data["record"][1]["variable"][6] = StructNew() />
    <cfset data["record"][1]["variable"][6]["name"] = "ZIP" />
    <cfset data["record"][1]["variable"][6]["value"] = "78704" />
    <cfset data["record"][2] = StructNew() />
    <cfset data["record"][2]["variable"] = ArrayNew(1) />
    <cfset data["record"][2]["variable"][1] = StructNew() />
    <cfset data["record"][2]["variable"][1]["name"] = "NAME" />
    <cfset data["record"][2]["variable"][1]["value"] = "Jane Doe" />
    <cfset data["record"][2]["variable"][2] = StructNew() />
    <cfset data["record"][2]["variable"][2]["name"] = "ADDRESS1" />
    <cfset data["record"][2]["variable"][2]["value"] = "987 Test St" />
    <cfset data["record"][2]["variable"][3] = StructNew() />
    <cfset data["record"][2]["variable"][3]["name"] = "ADDRESS2" />
    <cfset data["record"][2]["variable"][3]["value"] = "" />
    <cfset data["record"][2]["variable"][4] = StructNew() />
    <cfset data["record"][2]["variable"][4]["name"] = "CITY" />
    <cfset data["record"][2]["variable"][4]["value"] = "Austin" />
    <cfset data["record"][2]["variable"][5] = StructNew() />
    <cfset data["record"][2]["variable"][5]["name"] = "STATE" />
    <cfset data["record"][2]["variable"][5]["value"] = "TX" />
    <cfset data["record"][2]["variable"][6] = StructNew() />
    <cfset data["record"][2]["variable"][6]["name"] = "ZIP" />
    <cfset data["record"][2]["variable"][6]["value"] = "78704" />

  • Creating client proxy for calling web service

    Hello,
    I like to call a WebServce from our vendor. The vendor provides me no WSDL document.
    Question: Is it possible to create a client proxy without WSDL? I have just the SOAP Request/Response.
    SAP ECC 6.0
    SAP_BASIS     700     0010
    Thank you very much in advance for any helpful answer.
    Kind regards
    Axel

    Hi Axel,
               I am working on a program to connect to a external web-service from SAP (R/3 enterprise 4.7) and while searching all the available stuff for this I got this method.
    But, I am still facing some other issues and hence doesn't have the whole solution. You have to probably try it out from your side once and see if it helps.
    Please refer the following blog.
    https://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/847. [original link is broken] [original link is broken] [original link is broken]
    it describes a method which is not at all using any WSDL file. Instead it uses the CL_HTTP_CLIENT class to pass a SOAP request to the web-service and then get the response.
    Regards
    Barada

  • Sample code for calling web services for export

    Hi I am trying to use web service ExportProject to export a project out of Primavera DB. The Export service uses MTOM (Message Transmission Optimization Mechanism) to send the output files as attachments. Need some information on
    - Can the export service be specified a location for the transfer? or it will come attached in the response?
    - How do i access this attachment? I am using PL/SQL for doing this.
    Any help will be appreciated.

    I am not a pl/sql guy but there is a java example in the demo code that might help you figure out a pl/sql approach.
    Look in WSDemo.java in the exportProject method. The WSDemo.java file was located in the following directory on my system: \Oracle\P6EPPM\ws\demo\Java\JAX-WS\src\com\primavera\wsclient\demo
    Gene

  • Calling web Service from the Custom Adapter.Is it Possible?

    Hi Experts,
                    I am having requirment in which i have to cal com.sap.aii.mapping.lookup.LookupService for calling web Service from the Custom Adapter.Is it Possible?
    Regards,
    Rajesh.D

    Hi Rajesh..
    Just looking the problem in another angle.. if there is no constraint that you have to use XI specific API to call the web service, why dont you use usual Java API used for calling a web service inside you custom adapter (I have Microsoft background.. donno exactly how it is done in Java,, but in .NET kind of a language it is possible). SInce your adapter is in Java itself and is capable of calling web service.. collect or lookup the data whatever you want and validate...
    Just a thought..
    VJ

  • How to make a PDF form call Web service and return a static pdf for user to print?

    Hi all,
    Can anyone help me regarding the feasibility of using PDF forms for my following case?
    I would like to create a Dynamic pdf form. User only have the Acrobat reader. they can enter some information. Then have a submit button. when user click the submit button, it can call the web service with data. then Web service returns a Static PDF document based on data and the user can print it out. (and maybe save as separate pdf file)
    1. Is that possible to implement? Because I know PDF can call web service, but dont know how it handle when the webservice returns another static PDF document. could it able to handle the responds and open up in another acrobat reader?
    2. As I understand I need to have Live Cycle Designer to create a pdf  and make it Reader Enabled. So user can user reader to call webservice? am I correct?
    3. What minimum reader that user need to have? PDF reader 7 or above?
    4. I have a webservice serve the same purpose for web. But if I want the same web services can serve both web and PDF form. So, whatever client (PDF or Web)make the web service call, server returns the PDF document to client. Is that possible ? Do I need to make any changes on web service?
    5. Do I need to get any other Adobe server product? (other than Live Cycle Designer )
    Thanks a lot

    We have done a similar approach in the past and yes, it can be doable.
    1. Is that possible to implement? Because I know PDF can call web service, but dont know how it handle when the webservice returns another static PDF document. could it able to handle the responds and open up in another acrobat reader?
    Srini: We have developed a Servlet to talk to Webservice. Based on the Webservice response, the Servlet, prepares the Byte stream and sends it to Webbrowser to display as a PDF. The PDF data was submitted to Servlet in XML format.
    But if you do not want to use the above approach, then you have to use the Workbench Process.
    Submit the PDF data to a Workbench process and the inside process, execute Webservice Service with the data. Once the response is received, prepare the data XML and render a PDF with it.
    To do this, you need LiveCycle Server and Reader Extensions server component.
    2. As I understand I need to have Live Cycle Designer to create a pdf  and make it Reader Enabled. So user can user reader to call webservice? am I correct?
    Srini: If you want to use the Servlet, you can Reader extend the PDF with Acrobat.. But if you want to submit the data directly to Webservice, then you need Reader Extensions server component.
    3. What minimum reader that user need to have? PDF reader 7 or above?
    Srini: Not sure but Reader 8 and above should work.
    4. I have a webservice serve the same purpose for web. But if I want the same web services can serve both web and PDF form. So, whatever client (PDF or Web)make the web service call, server returns the PDF document to client. Is that possible ? Do I need to make any changes on web service?
    Srini: If you use the Servlet approach, then you can re-use the same webservice. But if you want to submit directly to the same webservice, you may need to change it to suit your data XML.
    5. Do I need to get any other Adobe server product? (other than Live Cycle Designer )
    Srini: If you use the Servlet approach, you do not need any server component but other approach, you need Livecycle Server and Reader Extensions server component.
    Thanks
    Srini

  • Support for xs:date types in web services generated from EJB components

    I need to generate a Web Service from an EJB session bean based upon EJB entities generated from the Oracle 11g database that contain DATE type columns.
    JDeveloper creates java.sql.Timestamp types in the EJB Session bean and this results in an exception error when I try to generate a web service from this bean via webservice annotations:
    java.security.PrivilegedActionException: com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 1 counts of IllegalAnnotationExceptions
    java.sql.Timestamp does not have a no-arg default constructor
    I expected the web service wizard to generate argument types xs:dateTime or xs:date so this was an unwelcomed surprise.
    I tried manually adding a method to the session bean with java.util.date arguments and had no problems with the web service wizard that correctly created xs:dateTime arguments. Is there any particular reason why the EJB wizard does not generate java.util.date arguments or handle java.sql.Timestamp without failing with an exception?
    Since I begin with database tables and generate EJB entity classes and then web services with the Jdeveloper wizards it seems to me that there is a problem here in JDeveloper. Would you agree?
    There are several possible more or less appealing workarounds, such as doing manually adding methods to the EJB facade with java.util.date arguments and doing the conversion from/to java.sql.timestamp manually. Is this a reasonable approach or does JDeveloper support date/time for Date columns in some other way that I have missed?
    Very Grateful for any comments or suggestions.
    Edited by: user10601664 on May 2, 2009 1:14 PM
    Edited by: user10601664 on May 2, 2009 1:43 PM

    Checkout this example:
    http://www.manojc.com/?sample3
    public class HelloWorldService{
    * @wlws:exclude
    public void dontExpose(){
    Regards,
    -manoj
    http://manojc.com
    "Jacob Anderson" <[email protected]> wrote in message
    news:4036581e$[email protected]..
    >
    hello,
    I created the descriptor file for a web service that had a protectedmethod in
    it and noticed the protected method showed up in the descriptor file!Should
    the "source2wsdd" task only output PUBLIC methods as service actions? Isthere
    any way to specify methods to be 'ignored' when generating the webservices descriptor
    file?
    here was the generated descriptor XML:
    <web-service name="BindingService"
    protocol="https"
    style="document"
    targetNamespace="http://www.foo.com/ws/BindingService/"
    portName="BindingServicePort"
    uri="/BindingService"
    portTypeName="BindingServicePort">
    <types>
    </types>
    <wsdd:type-mappingxmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:wsdd="http://www.bea.com/servers/wls70">
    <wsdd:type-mapping-entrydeserializer="weblogic.xml.schema.binding.internal.builtin.DocumentCodec"
    type="xsd:anyType"
    class-name="org.w3c.dom.Document"
    serializer="weblogic.xml.schema.binding.internal.builtin.DocumentCodec">
    </wsdd:type-mapping-entry>
    </wsdd:type-mapping>
    <components>
    <java-class name="BindingService"
    class-name="com.arrow.ws.vendor.BindingService">
    </java-class>
    </components>
    <operations>
    <operation name="getConfigName"
    component="BindingService"
    method="getConfigName()">
    <params>
    <return-param xmlns:typeNS="http://www.w3.org/2001/XMLSchema"
    location="body"
    type="typeNS:string"
    name="result"
    class-name="java.lang.String">
    </return-param>
    </params>
    </operation>
    </operations>
    </web-service>

  • Calling web service from oracle forms 10g

    Problem Description:
    I'm following the steps as per the doc:
    http://www.oracle.com/technology/products/forms/htdocs/10gr2/howto/webservicefromforms/ws_10_1_3_from_forms.html
    to create a java stub to call external web service and then use java importer in oracle forms to call this web service from oracle forms.
    WSDL for external web service used is http://gend:83/DesignService.svc?wsdl
    The service was developed by us.
    Calling the web service using JDeveloper works fine but when I complie in Oracle Forms it returns wrong number of types of arguments in call SENDHELLO.
    The code from oracle form to call web service is as below:
    DECLARE
    jo ora_java.jobject;
    xo ora_java.jobject;
    rv varchar2(2000);
    ex ora_java.jobject;
    str varchar2(100);
    BEGIN
    jo := GendServiceClient.new;
    rv := GendServiceClient.sendHello('Nora');
    EXCEPTION
    WHEN ORA_JAVA.JAVA_ERROR then
    message('Unable to call out to Java, ' ||ORA_JAVA.LAST_ERROR);
    WHEN ORA_JAVA.EXCEPTION_THROWN then
    ex := ORA_JAVA.LAST_EXCEPTION;
    message(Exception_.toString(ex));
    END;
    Any help/ideas on this is greatly appreciated. Thanks.
    Edited by: KE Nora Loera on Jun 1, 2012 1:24 PM

    My primary skill is PL/SQL but the only information I found on Oracle's site to call a web service from a 10g Form was creating a jar file and importing the java class. Since I don't want to ask our corporate IT to make changes on the UNIX box for the jar files I went a different route.
    I use UTL_HTTP.BEGIN_REQUEST to call a URL then load I load the data to a table as a CLOB since we have more than 4000 characters. Now I need to parse the XML and load it into a form. I have never done this so if there is a helpful site please let me know. I have looked at several sites but none do what I want.
    Thanks

  • Deliver data to external web service possible in OBIEE 11g?

    Hi all,
    I'm looking into the possibility of "pushing" data from OBIEE and out to an external web service, e.g. through executing a scheduled report that instead of delivering the result on screen, it would call an external web service that would consume the generated data for storage in an external system.
    Does anyone know if this is possible to implement in OBIEE 11g? (So far, all I've found is how to display data in OBIEE through consumation of web service(s), but I'd like to "push out" data to a web service from OBIEE).
    Regards,
    -Haakon-

    Action Links 11g - Invoke webservice you can try out..... I never tried... Just sharing my views.
    http://www.oracle.com/webfolder/technetwork/tutorials/obe/fmw/bi/bi1113/actionframework/actionframework.htm

  • How to call Web Services (with javascript) in a view load event ?

    Hello to the expert community,
    I'm looking for a piece of javascript code allowing to call Web Services in a view load event ?
    Any ideas will be really appreciated.
    Regards.
    Have a nice week.

    Thank you for your answer, dongmei.
    It seems that the MethodResultTableDataProvider does not return the response of the web service as a value field if the WSDL contains only one result element.
    E.g. from WSDL of the USWeather Web Service which returns theGetWeatherReportResult string:
    <?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://www.webserviceX.NET" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://www.webserviceX.NET" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
      <wsdl:types>
        <s:schema elementFormDefault="qualified" targetNamespace="http://www.webserviceX.NET">
          <s:element name="GetWeatherReport">
            <s:complexType>
              <s:sequence>
                <s:element minOccurs="0" maxOccurs="1" name="ZipCode" type="s:string" />
              </s:sequence>
            </s:complexType>
          </s:element>
          <s:element name="GetWeatherReportResponse">
            <s:complexType>
              <s:sequence>
                <s:element minOccurs="0" maxOccurs="1" name="GetWeatherReportResult" type="s:string" />
              </s:sequence>
            </s:complexType>
          </s:element>
          <s:element name="string" nillable="true" type="s:string" />
        </s:schema>If I drag the web service method on the page and I should be able to select the response value in the Bind to Data dialog box. But there is no value field. Value fields only occur if the web service returns more than one value.
    The question is how can I get the response GetWeatherReportResult from the service.

  • Retrieve data from a web service.

    Hi,
    I need to retrieve the data from Oracle CRM On Demand therefore I downloaded the web service "CustomObject15" from Oracle CRM On Demand then used the netbeans Tool to generate XML files then call Web Service "CustomObject15" then I created small java code to retrieve the data through a web service but the data did not retrieved.
    Only retrieved "CustomObject15Data.CustomObject15Data@1be0799a"
    Kindly, Can you help me and provide me small java code to the data through a web service "CustomObject15".
    Best Regards.

    Hi,
    just create a skeleton for the Web Service. In JDeveloper, create a new project and then use the "NEW" context menu option.
    Navigate to "Business Tier" --> Web Services and select "Web Service Proxy"
    In teh following, provide the WSDL reference to create the Java proxy. This gives you accss to the WS without having to parse the XML yourself
    Frank

  • Calling web service from Obiee

    Hi,
    I want to get data from webservice and show the results in a dashboard.
    I checked http://www.artofbi.com/index.php/2009/08/consuming-a-web-service-in-obiee-presentation-services-using-jquery-cdn/ web site.
    But the author is retrieving data from a web page by sending parameter to querystring like
    yqlq=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20(%22YHOO%22%2C%22AAPL%22%2C%22GOOG%22%2C%22MSFT%22%2C%20%22PTRY%22)&format=json&env=http%3A%2F%2Fdatatables.org%2Falltables.env&callback=?";
    But as I know we can not call web services with parameters like this.
    How can I call web service from BI?
    Could you please suggest articles or sample codes, documents etc.
    Regards,
    bye

    Hi,
    I controlled this document. The document is explaining Oracle BI web services for extracting information from Oracle BI and showing them in other environments. But I want to get results from a web service ( for example a web service which returns currency rates, weather information or sharepoint lists) and then represent them in Oracle BI Dashboards.

  • RMI exception calling web service from proxy class

    I am getting the following error attempting to call a web service from a proxy. It appears to relate to the type of objects I am trying to send vs the type that is expected. Following the exception I am adding a copy of the control where calling the web service is sucessful, a copy of the proxy class that I am using to make this unsucessful call, and the controller.jpf that has the formBean where I am creating my objects
    Caught Exception Calling the Web Service from the Proxy. The Exception is the f
    ollowing: java.rmi.RemoteException: web service invoke failed: javax.xml.soap.SO
    APException: failed to serialize class org.openuri.www.CreateAccountCheckingReq
    uestweblogic.xml.schema.binding.SerializationException: type mapping lookup fail
    ure on class=class controls.CheckingService$anyType TypeMapping=TYPEMAPPING SIZE
    =5
    ENTRY 1:
    class: org.openuri.www.CreateAccountCheckingResponse
    xsd_type: ['http://www.openuri.org/']:lcl0:CreateAccountCheckingResponse
    ser: org.openuri.www.CreateAccountCheckingResponseCodec@c0f4da
    deser: org.openuri.www.CreateAccountCheckingResponseCodec@b1dd4
    ENTRY 2:
    class: org.openuri.www.FundingInfoAnonType
    xsd_type: ['http://www.openuri.org/']:lcl0:FundingInfoAnonType
    ser: org.openuri.www.FundingInfoAnonTypeCodec@1d36711
    deser: org.openuri.www.FundingInfoAnonTypeCodec@13a59e
    ENTRY 3:
    class: org.openuri.www.AccountInfoAnonType
    xsd_type: ['http://www.openuri.org/']:lcl0:AccountInfoAnonType
    ser: org.openuri.www.AccountInfoAnonTypeCodec@1de5959
    deser: org.openuri.www.AccountInfoAnonTypeCodec@bbf788
    ENTRY 4:
    class: org.openuri.www.CustomerInfoAnonType
    xsd_type: ['http://www.openuri.org/']:lcl0:CustomerInfoAnonType
    ser: org.openuri.www.CustomerInfoAnonTypeCodec@7824f9
    deser: org.openuri.www.CustomerInfoAnonTypeCodec@1c35fe1
    ENTRY 5:
    class: org.openuri.www.CreateAccountCheckingRequest
    xsd_type: ['http://www.openuri.org/']:lcl0:CreateAccountCheckingRequest
    ser: org.openuri.www.CreateAccountCheckingRequestCodec@1cbcd7b
    deser: org.openuri.www.CreateAccountCheckingRequestCodec@11f60ce
    ; nested exception is:
    javax.xml.soap.SOAPException: failed to serialize class org.openuri.www
    .CreateAccountCheckingRequestweblogic.xml.schema.binding.SerializationException:
    type mapping lookup failure on class=class controls.CheckingService$anyType Typ
    eMapping=TYPEMAPPING SIZE=5
    ENTRY 1:
    class: org.openuri.www.CreateAccountCheckingResponse
    xsd_type: ['http://www.openuri.org/']:lcl0:CreateAccountCheckingResponse
    ser: org.openuri.www.CreateAccountCheckingResponseCodec@c0f4da
    deser: org.openuri.www.CreateAccountCheckingResponseCodec@b1dd4
    ENTRY 2:
    class: org.openuri.www.FundingInfoAnonType
    xsd_type: ['http://www.openuri.org/']:lcl0:FundingInfoAnonType
    ser: org.openuri.www.FundingInfoAnonTypeCodec@1d36711
    deser: org.openuri.www.FundingInfoAnonTypeCodec@13a59e
    ENTRY 3:
    class: org.openuri.www.AccountInfoAnonType
    xsd_type: ['http://www.openuri.org/']:lcl0:AccountInfoAnonType
    ser: org.openuri.www.AccountInfoAnonTypeCodec@1de5959
    deser: org.openuri.www.AccountInfoAnonTypeCodec@bbf788
    ENTRY 4:
    class: org.openuri.www.CustomerInfoAnonType
    xsd_type: ['http://www.openuri.org/']:lcl0:CustomerInfoAnonType
    ser: org.openuri.www.CustomerInfoAnonTypeCodec@7824f9
    deser: org.openuri.www.CustomerInfoAnonTypeCodec@1c35fe1
    ENTRY 5:
    class: org.openuri.www.CreateAccountCheckingRequest
    xsd_type: ['http://www.openuri.org/']:lcl0:CreateAccountCheckingRequest
    ser: org.openuri.www.CreateAccountCheckingRequestCodec@1cbcd7b
    deser: org.openuri.www.CreateAccountCheckingRequestCodec@11f60ce
    Java Control for the web service:
    package controls;
    import weblogic.webservice.context.WebServiceContext;
    * @jc:location http-url="http://localhost:7001/Checking.jws"
    * @jc:wsdl file="#CheckingWsdl"
    * @jc:handler callback="MessageHandler" operation="MessageHandler"
    public interface CheckingService extends com.bea.control.ControlExtension, com.bea.control.ServiceControl
    public static class CustomerInfo
    implements java.io.Serializable
    public java.lang.String FirstName;
    public java.lang.String LastName;
    public java.lang.String MiddleName;
    public int SSN;
    public int CustomerNumber;
    public java.util.Calendar CreationDate;
    public java.util.Calendar LastModifiedDate;
    public static class FundingInfo
    implements java.io.Serializable
    public float Amount;
    public java.util.Calendar CurrentDate;
    public int AccountNumber;
    public static class anyType
    implements java.io.Serializable
    public com.bea.xml.XmlObject[] t;
    public static class AccountInfo
    implements java.io.Serializable
    public int AccountNumber;
    public float Balance;
    public int CustomerNumber;
    public java.util.Calendar LastModifiedDate;
    public WebServiceContext context = CheckingService.context;
    * @jc:protocol form-post="false" form-get="false"
    public AccountInfo CreateAccountChecking (CustomerInfo CustomerInfo, FundingInfo FundingInfo, anyType CommonHeader);
    static final long serialVersionUID = 1L;
    /** @common:define name="CheckingWsdl" value::
    <?xml version="1.0" encoding="utf-8"?>
    <!-- @editor-info:link autogen="false" source="" -->
    <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:conv="http://www.openuri.org/2002/04/soap/conversation/" xmlns:cw="http://www.openuri.org/2002/04/wsdl/conversation/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:jms="http://www.openuri.org/2002/04/wsdl/jms/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://www.openuri.org/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://www.openuri.org/">
    <types>
    <s:schema targetNamespace="http://www.openuri.org/" xmlns:s="http://www.w3.org/2001/XMLSchema">
    <s:element name="CreateAccountCheckingRequest">
    <s:complexType>
    <s:sequence>
    <s:element name="CustomerInfo">
    <s:complexType>
    <s:sequence>
    <s:element name="FirstName" type="s:string" nillable="false"/>
    <s:element name="LastName" type="s:string" nillable="false"/>
    <s:element name="MiddleName" type="s:string" nillable="true"/>
    <s:element name="SSN" type="s:int"/>
    <s:element name="CustomerNumber" type="s:int"/>
    <s:element name="CreationDate" type="s:dateTime"/>
    <s:element name="LastModifiedDate" type="s:dateTime"/>
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name="FundingInfo">
    <s:complexType>
    <s:sequence>
    <s:element name="Amount" type="s:float"/>
    <s:element name="CurrentDate" type="s:dateTime"/>
    <s:element name="AccountNumber" type="s:int"/>
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name="CommonHeader" type="s:anyType"/>
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name="CreateAccountCheckingResponse">
    <s:complexType>
    <s:sequence>
    <s:element name="AccountInfo">
    <s:complexType>
    <s:sequence>
    <s:element name="AccountNumber" type="s:int"/>
         <s:element name="Balance" type="s:float"/>
         <s:element name="CustomerNumber" type="s:int"/>
         <s:element name="LastModifiedDate" type="s:dateTime"/>
    </s:sequence>
    </s:complexType>
    </s:element>
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:element name="string" nillable="true" type="s:string"/>
    </s:schema>
    </types>
    <message name="CreateAccountCheckingSoapIn">
    <part name="parameters" element="s0:CreateAccountCheckingRequest"/>
    </message>
    <message name="CreateAccountCheckingSoapOut">
    <part name="parameters" element="s0:CreateAccountCheckingResponse"/>
    </message>
    <portType name="CheckingSoap">
    <operation name="CreateAccountChecking">
    <input message="s0:CreateAccountCheckingSoapIn"/>
    <output message="s0:CreateAccountCheckingSoapOut"/>
    </operation>
    </portType>
    <binding name="CheckingSoap" type="s0:CheckingSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
    <operation name="CreateAccountChecking">
    <soap:operation soapAction="http://www.openuri.org/CreateAccountChecking" style="document"/>
    <input>
    <soap:body use="literal"/>
    </input>
    <output>
    <soap:body use="literal"/>
    </output>
    </operation>
    </binding>
    <service name="Checking">
    <port name="CheckingSoap" binding="s0:CheckingSoap">
    <soap:address location="http://localhost:7001/Checking.jws"/>
    </port>
    </service>
    </definitions>
    FOLLOWING IS THE PROXY CLASS THAT IS UNSUCCESSFUL
    import controls.CheckingService.anyType;
    import java.util.ArrayList;
    import java.util.List;
    import javax.xml.namespace.QName;
    import javax.xml.rpc.handler.HandlerInfo;
    import javax.xml.rpc.handler.HandlerRegistry;
    import org.openuri.CreateAccountCheckingResponseDocument.CreateAccountCheckingResponse;
    import org.openuri.www.CustomerInfoAnonType;
    import org.openuri.www.FundingInfoAnonType;
    import weblogic.jws.proxies.*;
    import weblogic.webservice.context.WebServiceContext;
    import weblogic.webservice.context.WebServiceSession;
    import weblogic.webservice.core.handler.WSSEClientHandler;
    import weblogic.webservice.tools.pagegen.result;
    import weblogic.xml.security.UserInfo;
    import weblogic.xml.security.wsse.Security;
    import weblogic.xml.security.wsse.SecurityElementFactory;
    //import weblogic.jws.proxies.WebServiceB;
    //import weblogic.jws.proxies.WebServiceB_Impl;
    //import weblogic.jws.proxies.WebServiceBSoap;
    public class CheckingWSProxy
    public static void CallWS(Controller.CreateAccountCheckingForm form)
    String user;
    String pass;
    try{
    * Instantiate the main proxy class. The proxy class has the same name as the
    * web service, with "_Impl" appended.
    Checking myservice = new Checking_Impl("http://localhost:7001/ConsumerAccountApp/schemas/CheckingService.wsdl");
    WebServiceContext context = myservice.context();
    WebServiceSession session = context.getSession();
    * Registers a handler for the SOAP message traffic.
    HandlerRegistry registry = myservice.getHandlerRegistry();
    List list = new ArrayList();
    list.add(new HandlerInfo(WSSEClientHandler.class, null, null));
    registry.setHandlerChain(new QName("Checking"), list);
    * Set the username and password token for SOAP message sent from the client, through
    * the proxy, to the web service.
    user = form.getUsername();
    pass = form.getPassword();
    UserInfo ui = new UserInfo(user, pass);
    session.setAttribute(WSSEClientHandler.REQUEST_USERINFO, ui);
    * Adds the username / password token to the SOAP header.
    SecurityElementFactory factory = SecurityElementFactory.getDefaultFactory();
    Security security = factory.createSecurity(null);
    security.addToken(ui);
    session.setAttribute(WSSEClientHandler.REQUEST_SECURITY, security);
    * Get the protocol-specific proxy class.
    CheckingSoap msg=myservice.getCheckingSoap();
    * Invoke the web service method
    msg.createAccountChecking((CustomerInfoAnonType)form.getProxyCustomerInfo(), (FundingInfoAnonType)form.getProxyFundingInfo(), (Object)form.get_CommonHeader());
    catch (Exception ex)
    System.out.println("Caught Exception Calling the Web Service from the Proxy. The Exception is the following: " + ex.toString());
    FOLLOWING IS THE FORMBEAN IN THE CONTROLLER.JPF FILE
    * FormData get and set methods may be overwritten by the Form Bean editor.
    public static class CreateAccountCheckingForm extends FormData
    private anyType _CommonHeader;
    private controls.CheckingService.FundingInfo _FundingInfo;
    private controls.CheckingService.CustomerInfo _CustomerInfo;
    private java.util.Date dOut;
    private java.util.Calendar cOut;
    private CustomerInfo proxyCustomerInfo;
    private FundingInfo proxyFundingInfo;
    private String stringDate;
    private String currentDate;
    private String lastModifiedDate;
    private String creationDate;
    private String systemMessage;
    private String username;
    private String password;
    private String accountType;
    private String trashTransferAccount;
    private String trashAccountNumber;
    private boolean secureFlag;
    public void set_CustomerInfo(controls.CheckingService.CustomerInfo _CustomerInfo)
    _CustomerInfo.CreationDate = parseDate(getCreationDate());
    _CustomerInfo.LastModifiedDate = parseDate(getLastModifiedDate());
    this._CustomerInfo = _CustomerInfo;
    public controls.CheckingService.CustomerInfo get_CustomerInfo()
    if(this._CustomerInfo == null)
    this._CustomerInfo = new controls.CheckingService.CustomerInfo();
    _CustomerInfo.CreationDate = dateNow();
    _CustomerInfo.LastModifiedDate = dateNow();              
    return this._CustomerInfo;
    public CustomerInfo getProxyCustomerInfo()
    this.proxyCustomerInfo = (CustomerInfo)this._CustomerInfo;
    return this.proxyCustomerInfo;
    public void set_FundingInfo(controls.CheckingService.FundingInfo _FundingInfo)
    _FundingInfo.CurrentDate = parseDate(getCurrentDate());
    this._FundingInfo = _FundingInfo;
    public controls.CheckingService.FundingInfo get_FundingInfo()
    if(this._FundingInfo == null)
    this._FundingInfo = new controls.CheckingService.FundingInfo();
    _FundingInfo.CurrentDate = dateNow();
    return this._FundingInfo;
    public FundingInfo getProxyFundingInfo()
    this.proxyFundingInfo = (FundingInfo)this._FundingInfo;
    return this.proxyFundingInfo;
    public void set_CommonHeader(anyType _CommonHeader)
    this._CommonHeader = _CommonHeader;
    public anyType get_CommonHeader()
    if(this._CommonHeader == null)
    this._CommonHeader = new anyType();
    return this._CommonHeader;
    public java.util.Calendar dateNow()
    this.dOut = new Date();
    Calendar cOut = this.cOut.getInstance();
    cOut.setTime(this.dOut);
    this.cOut = cOut;
    return this.cOut;
    public java.util.Calendar parseDate( String strDate )
    SimpleDateFormat df4 = new SimpleDateFormat( "MM/dd/yyyy" );
    Calendar cOut = this.cOut;
    df4.setLenient( false );
    try
    this.dOut = df4.parse( strDate );
    } catch ( ParseException e )
    cOut.getInstance();
    cOut.setTime(dOut);
    this.cOut = cOut;
    return this.cOut;
    public void setStringDate( String stringDate )
    this.stringDate = stringDate;
    public String getStringDate()
    return this.stringDate;
    public void setCurrentDate( String currentDate )
    this.currentDate = currentDate;
    public String getCurrentDate()
    SimpleDateFormat df4 = new SimpleDateFormat( "MM/dd/yyyy" );
    this.currentDate = df4.format(_FundingInfo.CurrentDate.getTime());
    return this.currentDate;
    public void setLastModifiedDate( String lastModifiedDate )
    this.lastModifiedDate = lastModifiedDate;
    public String getLastModifiedDate()
    SimpleDateFormat df4 = new SimpleDateFormat( "MM/dd/yyyy" );
    this.lastModifiedDate = df4.format(_CustomerInfo.LastModifiedDate.getTime());
    return this.lastModifiedDate;
    public void setCreationDate( String creationDate )
    this.creationDate = creationDate;
    public String getCreationDate()
    SimpleDateFormat df4 = new SimpleDateFormat( "MM/dd/yyyy" );
    this.creationDate = df4.format(_CustomerInfo.CreationDate.getTime());
    return this.creationDate;
    public void setUsername( String username )
    this.username = username;
    public String getUsername()
    return this.username;
    public void setPassword( String password )
    this.password = password;
    public String getPassword()
    return this.password;
    public void setAccountType( String accountType )
    this.accountType = accountType;
    public String getAccountType()
    return this.accountType;
    public void setTrashTransferAccount( String trashTransferAccount )
    this.trashTransferAccount = trashTransferAccount;
    public String getTrashTransferAccount()
    return this.trashTransferAccount;
    public void setTrashAccountNumber( String trashAccountNumber )
    this.trashAccountNumber = trashAccountNumber;
    public String getTrashAccountNumber()
    return this.trashAccountNumber;
    public void setSystemMessage( String systemMessage )
    this.systemMessage = systemMessage;
    public String getSystemMessage()
    return this.systemMessage;
    public void setSecureFlag( boolean secureFlag )
    this.secureFlag = secureFlag;
    public boolean getSecureFlag()
    return this.secureFlag;
    }

    This exception means that xml namespaces are different.
    Etc. soap has xml element which doesn't belong to namespace of parent xml element and namespace is set without prefix.
    I had such problem.
    Try to set namespace prefix for this element.
    Example:
    <el1>
    <el2 xmlns="http://..."/>
    </el1>
    Should be
    <el1>
    <q:el2 xmlns:q="http://..."/>
    </el1>

  • Calling web service using ksoap2

    Hello Friends,
    I am writing a Java client which uses ksoap2. I am new to web services and ksoap2. The WSDL is like this
    <?xml version="1.0" encoding="utf-8"?>
    <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://leaguematch.com/matchwatch/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="http://leaguematch.com/matchwatch/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
    <wsdl:types>
    <s:schema elementFormDefault="qualified" targetNamespace="http://leaguematch.com/matchwatch/">
    <s:element name="WebServiceInfo">
    <s:complexType />
    </s:element>
    <s:element name="WebServiceInfoResponse">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="1" maxOccurs="1" name="WebServiceInfoResult" type="tns:Information" />
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:complexType name="Information">
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="ServiceName" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="SupportPhone" type="s:string" />
    </s:sequence>
    </s:complexType>
    <s:complexType name="Credential">
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="Email" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
    </s:sequence>
    </s:complexType>
    <s:element name="GetScore">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="1" maxOccurs="1" name="credValidate" type="tns:Credential" />
    <s:element minOccurs="1" maxOccurs="1" name="MyScript" type="tns:ScriptData" />
    </s:sequence>
    </s:complexType>
    </s:element>
    <s:complexType name="ScriptData">
    <s:sequence>
    <s:element minOccurs="0" maxOccurs="1" name="sScriptCode" type="s:string" />
    <s:element minOccurs="0" maxOccurs="1" name="sScriptName" type="s:string" />
    </s:sequence>
    </s:complexType>
    <s:element name="GetScoreResponse">
    <s:complexType>
    <s:sequence>
    <s:element minOccurs="1" maxOccurs="1" name="GetScoreResult" type="s:boolean" />
    <s:element minOccurs="1" maxOccurs="1" name="MyScript" type="tns:ScriptData" />
    </s:sequence>
    </s:complexType>
    </s:element>
    </s:schema>
    </wsdl:types>
    <wsdl:message name="WebServiceInfoSoapIn">
    <wsdl:part name="parameters" element="tns:WebServiceInfo" />
    </wsdl:message>
    <wsdl:message name="WebServiceInfoSoapOut">
    <wsdl:part name="parameters" element="tns:WebServiceInfoResponse" />
    </wsdl:message>
    <wsdl:message name="GetScoreSoapIn">
    <wsdl:part name="parameters" element="tns:GetScore" />
    </wsdl:message>
    <wsdl:message name="GetScoreSoapOut">
    <wsdl:part name="parameters" element="tns:GetScoreResponse" />
    </wsdl:message>
    <wsdl:portType name="matchwatchSoap">
    <wsdl:operation name="WebServiceInfo">
    <wsdl:input message="tns:WebServiceInfoSoapIn" />
    <wsdl:output message="tns:WebServiceInfoSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetScore">
    <wsdl:input message="tns:GetScoreSoapIn" />
    <wsdl:output message="tns:GetScoreSoapOut" />
    </wsdl:operation>
    </wsdl:binding>
    <wsdl:binding name="matchwatchSoap12" type="tns:matchwatchSoap">
    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="WebServiceInfo">
    <soap12:operation soapAction="http://leaguematch.com/matchwatch/WebServiceInfo" style="document" />
    <wsdl:input>
    <soap12:body use="literal" />
    </wsdl:input>
    <wsdl:output>
    <soap12:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetScore">
    <soap12:operation soapAction="http://leaguematch.com/matfchwatch/GetScore" style="document" />
    <wsdl:input>
    <soap12:body use="literal" />
    </wsdl:input>
    <wsdl:output>
    <soap12:body use="literal" />
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="matchwatch">
    <wsdl:port name="matchwatchSoap" binding="tns:matchwatchSoap">
    <soap:address location="http://www.leaguematch.com.au/matchwatch/matchwatch.asmx" />
    </wsdl:port>
    <wsdl:port name="matchwatchSoap12" binding="tns:matchwatchSoap12">
    <soap12:address location="http://www.leaguematch.com.au/matchwatch/matchwatch.asmx" />
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>
    This is how I get the data from the web service with J2SE platform
    javax.xml.ws.Holder<com.leaguematch.matchwatch.ScriptData> myScript = new
    javax.xml.ws.Holder<com.leaguematch.matchwatch.ScriptData>();
    com.leaguematch.matchwatch.ScriptData scData = new com.leaguematch.matchwatch.ScriptData();
    scData.setSScriptCode(jTextField1.getText());
    myScript.value = scData;
    javax.xml.ws.Holder<Boolean> getScoreResult = new javax.xml.ws.Holder<Boolean>();
    port.getScore(credValidate, myScript, getScoreResult);
    What is the equivalent for JavaME platform? This is what I tried.
    SoapObject credential = new SoapObject(nameSpace, "Credential");
    credential.addProperty("Email", new String("[email protected]"));
    credential.addProperty("Password", new String("[email protected]"));
    SoapObject scriptData = new SoapObject(nameSpace, "ScriptData");
    scriptData.addProperty("sScriptCode", new String("GROUND1"));
    request.addProperty("credValidate", credential );
    request.addProperty("MyScript", scriptData);
    request.addProperty("getScoreResult", getScoreResult);
    // serialize the envelope
    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
    envelope.bodyOut = request;
    envelope.setOutputSoapObject(request);
    //make the call
    // set up the transport
    HttpTransport ht = new HttpTransport(endPointURL);
    ht.debug = true;
    ht.call("http://leaguematch.com/matchwatch/GetScore", envelope);
         The server responded
         SoapFault - faultcode: 'soap:Server' faultstring: 'System.Web.Services.Protocols.SoapException:
         Server was unable to process request. ---> System.Exception: You must pass Script Code in
         MyScript.sScriptCode:=ScriptData.sScriptCode to execute GetScore successfully
    I am able to get data using "WebServiceInfoResponse" method.
    But to getScore, I don't know how to pass the credential and scriptData to the web services and get its result ?
    Please help
    Sudheer Palaprambil

    Hello,
    I am not able to access the link you posted about calling a web service. Could please share your code again ?
    Thanks in advance for your help...
    Lionel

  • Calling web service via utl_dbws with unbounded return values

    Hello, everyone.
    I'm trying to use utl_dbws to call web service from Oracle DB 10 g.
    WS has unbounded return value:
    <xs:element maxOccurs='unbounded' minOccurs='0' name='return' type='xs:string'/>
    I'm setting return paramter in web service call handler like this:
    sys.UTL_DBWS.set_return_type(l_h_service_call, cs_qname_type_string);
    and when I'm trying to call it from PL/SQL function I'm getting an error:
    ORA-29532: Java call terminated by uncaught Java exception:
    deserialization error: XML reader error: unexpected character content: "s2"
    ORA-06512: at "SYS.UTL_DBWS", line 388
    ORA-06512: at "SYS.UTL_DBWS", line 385
    ORA-06512: at line 38
    I've tried to return values by out parameters and got the same exception.
    It looks like utl_dbws needs to know parameters count before calling.
    Have anyone succeded in getting arrays from Web Service call?
    This is a part of wsdl:
    <xs:complexType name='getProcessList'>
    <xs:sequence>
    <xs:element minOccurs='0' name='nameMask' type='xs:string'/>
    </xs:sequence>
    </xs:complexType>
    <xs:complexType name='getProcessListResponse'>
    <xs:sequence>
    <xs:element maxOccurs='unbounded' minOccurs='0' name='return' type='xs:string'/>
    </xs:sequence>
    </xs:complexType>
    Throught SoapUI I can produce such kind of request:
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:proc="http://processmanager.argustelecom.ru/">
    <soapenv:Header/>
    <soapenv:Body>
    <proc:getProcessList>
    <processNameMask>*</processNameMask>
    </proc:getProcessList>
    </soapenv:Body>
    </soapenv:Envelope>
    and get a response:
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
    <env:Header/>
    <env:Body>
    <ns2:getProcessListResponse xmlns:ns2="http://processmanager.argustelecom.ru/">
    <return>s1</return>
    <return>s2</return>
    <return>s3</return>
    <return>s4</return>
    </ns2:getProcessListResponse>
    </env:Body>
    </env:Envelope>
    PL/SQL function:
    DECLARE
    cs_qname_type_string CONSTANT sys.UTL_DBWS.qname
    := sys.UTL_DBWS.to_qname('http://www.w3.org/2001/XMLSchema', 'string') ;
    cs_qname_type_int CONSTANT sys.UTL_DBWS.qname := sys.UTL_DBWS.to_qname('http://www.w3.org/2001/XMLSchema', 'int');
    cs_qname_type_any CONSTANT sys.UTL_DBWS.qname
    := sys.UTL_DBWS.to_qname('http://www.w3.org/2001/XMLSchema', 'anyType') ;
    cs_endpoint CONSTANT VARCHAR2(256) := 'http://server:8080/process-manager/ProcessManager';
    l_service sys.UTL_DBWS.service;
    l_service_qname sys.UTL_DBWS.qname;
    l_port_qname sys.UTL_DBWS.qname;
    l_operation_qname sys.UTL_DBWS.qname;
    l_h_service_call sys.UTL_DBWS.call;
    l_params sys.UTL_DBWS.anydata_list;
    l_ret_val SYS.ANYDATA;
    BEGIN
    l_service_qname := sys.UTL_DBWS.to_qname(NULL, 'ProcessManagerService');
    l_service := sys.UTL_DBWS.create_service(l_service_qname);
    l_port_qname := sys.UTL_DBWS.to_qname(NULL, 'ProcessListServiceBinding');
    l_operation_qname := sys.UTL_DBWS.to_qname('http://processmanager.argustelecom.ru/', 'getProcessList');
    l_h_service_call := sys.UTL_DBWS.create_call(l_service, l_port_qname, l_operation_qname);
    sys.UTL_DBWS.set_target_endpoint_address(l_h_service_call, cs_endpoint);
    -- return type
    sys.UTL_DBWS.set_return_type(l_h_service_call, cs_qname_type_any);
    -- param type
    sys.UTL_DBWS.ADD_PARAMETER(l_h_service_call, 'processNameMask', cs_qname_type_string, 'ParameterMode.IN');
    l_params(1) := anydata.convertvarchar2('*');
    l_ret_val := sys.UTL_DBWS.invoke(l_h_service_call, l_params);
    IF l_ret_val IS NULL THEN
    DBMS_OUTPUT.put_line('l_ret_val is null');
    ELSE
    DBMS_OUTPUT.put_line('l_ret_val is not null');
    END IF;
    sys.UTL_DBWS.release_call(l_h_service_call);
    END;
    Edited by: Ilya on 03.12.2008 3:50

    Hi Tony
    I'm not sure if you would have solved your problem by now, but with my recent experience with the utl_dbws package, for doc lits with complex data types, you have to call the service with an XML request, as opposed to passing the param array.
    If you still need details, reply accordingly.
    Ta
    cT

Maybe you are looking for