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
AxelHi 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.DHi 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 lotWe 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 PMCheckout 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 PMMy 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,
byeHi,
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 PalaprambilHello,
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:50Hi 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
-
Can I create a Bootable LION install disc from my laptop?
Basically, I should have done this when I got the laptop. I have a macbook pro with OSX 10.7.5 on it (this must have upgraded from 10.7.3). It did not ship with a OSX install DVD as did my previous units. I never made a recovery disc. Lion is no long
-
Error while creating Mysite in sharepoint 2010 , System error code 0
Hi I was trying to create Mysite and I got the following error. Previously all user able to create MySite this error is coming from 3 days My Site creation failure for user XXXX\cwr.SMahindrakar' for site url 'https://XXXXXXXX/personal/cwr_smahindrak
-
Why is my ipod touch freaking out! tapping on its own
My ipod is randomaly opeing stuff in the application i am on like i was on safari it was going back and opening article on its own. has any one encountered this before i think its rare. It just taps on its own. I have done restore reset everything it
-
I have a MacBook Pro that will not boot up. The apple symbol is there and the spinning wheel keeps spinning. Any idea how I can fix this?
-
Cant burn discs and warning message
My computer wont burn discs. It recognizes and imports music and recognizes blank discs but it says disc recording not found when i try and burn it. It also has a warning message when i open itunes that says "the registry settings used by itunes driv