Complex datatypes for webservices
Hello all,
Question from customer:
"...Its not possible to user webservices in htmldb, that user complex types for paramater or return.
Creation htmldb webservice formulars work only with literal soap data types. But soap xsd support complex types or arrays. Thus, we can not use htmldb for accessing such services. .."
If customer uses complex datatypes it appears a ora-20001.
Is there a way to use complex datatypes for webservices in htmldb or will it be included in a new release or patch?
thanks
Hendrik
Hi,
Did you solve this one?
I'm having the exact same problem, trying to communicate with Oracle Wireless webservices from htmldb,
which kind of made me dissapointed because they are both Oracle products! Basically what wireless wants is an array input and htmldb complains about this!
Any solutions?
Magnus
Similar Messages
-
i am using the following description to create a web service reference:
web reference :REST
Name :Yahoo Map
URL :http://local.yahooapis.com/MapsService/V1/mapImage
HTTP Method: GET
Basic Authentication: No
Add Parameter:
Name Type
appid String
location String
Output Format: XML
XPath to Output Parameters : /Result
Output Parameter:
Name Path Type
Url /text() String
Then i tried to create form and report on webservice:
Web Service Reference Type: Yahoo Map
Operation: doREST
All the fields i keep as default
I tick the checkbox (url)in report Parameter
After clicking next whereever required i click create button
I get the following error
ORA-20001: Unable to create form on table. ORA-02263: need to specify the datatype for this column.
Please someone help to solve this as i need to fix it urgently.i exported the application from apex.oracle.com and imported it to our environment
import went fine, but when I ran the IR page I got
ORA-20001: get_dbms_sql_cursor error ORA-00904: : invalid identifier
evidently the problem is a lack of public execute on DBMS_LOB, which is used in the generated IR source.
while waiting for the DBA to grant privs on DBMS_LOB, changing the dbms_lob.getlength call to length() fixes the IR.
however, i am not getting the download link on the associated form page... changed templates, that's not the issue -- we'll see if that's a dbms_lob issue as well -
I am using Apex 4.2.2.00.11
am using the following description to create a web service reference:
web reference :REST
Name :Yahoo Map
URL :http://local.yahooapis.com/MapsService/V1/mapImage
HTTP Method: GET
Basic Authentication: No
Add Parameter:
Name Type
appid String
location String
Output Format: XML
XPath to Output Parameters : /Result
Output Parameter:
Name Path Type
Url /text() String
Then i tried to create form and report on webservice:
Web Service Reference Type: Yahoo Map
Operation: doREST
All the fields i keep as default
I tick the checkbox (url)in report Parameter
After clicking next whereever required i click create button
I get the following error
ORA-20001: Unable to create form on table. ORA-02263: need to specify the datatype for this column.
Please someone help to solve this as i need to fix it urgently.336554,
Looks like there is a 127-column limit on the number of report columns supported when using that wizard. Do you have more than that?
57434 -
Does ColdFusion support nested complex data types when building Web Services? See example CFCs below. I keep getting a ServiceMethodNotFoundException. In my SubmitNoticeOfAppt.cfc, the cfargument data type is NoticeOfAppointment.CFC which references other CFCs that define complex data types. The complex types are needed to support a really complex XML document that must be NIEM (National Information Exchange Model) compliant. Originally tried passing the NIEM XML doument as a string, but receive deserialization errors, encounter child element. Could get around the error by wrapping the XML string in <![CDATA[ ... ]]>, but this convention is not NIEM compliant.
DocumentIssueDate.cfc
<cfcomponent displayname="DocumentIssueDate" output="false">
<cfproperty name="Date" type="date" required="No">
</cfcomponent>
DocumentAugmentation.cfc
<cfcomponent displayname="DocumentAugmentation" output="false">
<cfproperty name="DocumentIssueDate" type="any" required="No">
</cfcomponent>
DocumentIdentification.cfc
<cfcomponent displayname="DocumentIdentification" output="false">
<cfproperty name="IdentificationID" type="numeric" required="Yes">
<cfproperty name="IdentificationCategoryDescriptionText" type="string" required="No">
</cfcomponent>
NoticeOfAppointment.cfc
<cfcomponent displayname="NoticeOfAppointment" output="false">
<cfproperty name="DocumentIdentification" type="any" required="Yes">
<cfproperty name="DocumentAugmentation" type="any" required="Yes">
</cfcomponent>
SubmitNoticeOfAppt.cfc
<cfcomponent style="document">
<cffunction name="SubmitNoticeOfAppt" returnType="string" output="false" access="remote">
<!---Arguments--->
<cfargument name="NoticeOfApptXml" type="NoticeOfAppointment" required="Yes">
<cfreturn "Notice of Appointment successfully received">
</cffunction>
</cfcomponent>
Sample NoticeOfAppointment.xml (Stripped down, actual message contains almost 200 elements with 20+ complex datatypes)
<NoticeOfAppointment>
<DocumentIdentification>
<IdentificationID>000021199</IdentificationID>
<IdentificationCategoryDescriptionText/>
</DocumentIdentification>
<DocumentAugmentation>
<DocumentIssueDate>
<Date>2011-04-07</Date>
</DocumentIssueDate>
</DocumentAugmentation>
</NoticeOfAppointment>Coldfusion should be able to nest complex data types in your web service (after all, that's what the cfproperty tag was designed for). Unfortunately, I have more experience consuming complex web services than designing them in CF. My Recommendation - inspect your web service WSDL using a tool that will generate the sample SOAP XML that will be needed to consume your web service. You should be able to tell from that XML what the issue is - could be a missing namespace in your XML or strange nesting, etc.
We use SOAPSonar from Crosscheck networks - they have a feww personal version that will allow you to inspect your web service interface and it will even generate the sample XML needed to call it via SOAP.
Hope that helps. -
Complex datatype in Web Services
The work involved in handling complex datatype as part of the Web Services
(JDev 9.0.3) seems to be very complex and not very well documented. (as
far as I can tell).
Is there an easy way for a Java client to bypass the deserialization altogether
and just get the raw SOAP XML as returned from a Web Service.
From the Raw XML, we could use the regular parsing tools to do whatever
is necessary with the data. For example, I would like to transform the
XML returned by using a simple XSL transformation.
This would bypass the complexity of mapping all elements of an object that
I would not really use in Java anyway. (I would pass the result of the XSL
transformation to a 'C' program (yes I know it's ugly, but I still use 'C' for
processing data...)
I would really appreciate if anybody had experience in doing something like
that.
Thanks.Hi Denis - I think I might have run into a similar prob. I have been able create and successfully test a web service as long as the input object types are Strings. When I try to do this with a complex data type it fails. "Complex" in this case means an object containing 2 string and 1 double (i.e. not a standard java.lang objects for which serializers are predefined).
Did you encounter the following error message?
[SOAPException: faultCode=SOAP-ENV:Client; msg=No Deserializer found to deserialize a 'http://IWidgetConsumer.xsd:Widget' using encoding style 'http://schemas.xmlsoap.org/soap/encoding/'. [java.lang.IllegalArgumentException]]
Process exited with exit code 0.
Thanks
X -
Inheritance for webservice parameters
Folks,
please pardon if this topic has been covered before, but my search has not found much on this specifically.
I am working on webservices using weblogic 9.1. Starting with an annotated Java bean, using jwsc/jws tasks to generate EJB, etc. All this is being done using ant scripts outside of the workbench.
I am running into a problem when I try to expose complex types with inheritance as web method parameters. If I have a base class A and classes B and C extend A, when I define webservice method to take A as an argument schema in WSDL does not include declarations for B and C.
If I create 2 separate methods for B and C, then I get correct WSDL.
I get the same behaviour if subclassing is involved with member variables of complex types.
Has anyone solved this problem before?
Thanks in advance for any tips.Hi,
following link could be helpful for webservice ( OCI) Parameters and configuration..
SAP Supplier Relationship Management - SAP SRM Open Catalog Interface (B2B-OCI) [original link is broken]
Thanks
siva prasad.s -
How to Create a datatype for a storeprocedure which has got array ?
Hi All,
Please tell me how to create a datatype for a storeprocedure which has got an array structure ?
Thanks,
Sindhu.Hi Sindhu.
You would have to use a JDBC Cursor for this but it's possible only Output parameters, not Input parameters.
It's describle in a help link:
Defining an EXECUTE Statement http://help.sap.com/saphelp_nwpi711/helpdata/en/44/7b72b2fde93673e10000000a114a6b/frameset.htm
The following SQL data types are supported:
INTEGER, BIT, TINYINT, SMALLINT, BIGINT, FLOAT, REAL, DOUBLE, NUMERIC, DECIMAL, CHAR, VARCHAR, STRING, LONGVARCHAR, DATE, TIME, TIMESTAMP, BINARY, VARBINARY, LONGVARBINARY, BLOB (input and output), CLOB (input and output), CURSOR (output; only in connection with the Oracle JDBC driver)
I think you can execute your StoreProcedure many times depends of array occurs.
Regards.
Bruno. -
Change datatype for field of report
I have a report that uses a Stored procedure for a datasource - it originally had to fields that were "number" as the field datatype and took an integer from the Sp.
I've since changed the datatype for that field from int to smallmoney. How can i refresh these links for the report without deleting the data source and loosing the report as it is now. The names stayed the same. Only the data type for two fields changed from int to smallmoney.
Thank you!!
Harryuse set data source location and update the conection
regards,
Raghavendra -
WCF- ( Windows communication Foundation ) New standard for webservice
Dear Friends,
Could anybody tell me whether we can call a WCF service from SAP PI?
WCF (Windows communication Foundation) can be considered as a new standard for webservice.
Take care,
Karthik..kas of now only file with wsdl extention is supported,
-
Dear Friends!!!
I would like to create anAQ for my custom objects. As we are aware that the steps are to
1. Set up user grants
2. Create the Object
3. Create Queue Tables (both in_queue and out_queue)
4. Start the queues.
The process is straight forward, when the object to be created is simple object for example, a student. so the object could be created using -
create type STUDENT_TYPE as OBJECT (
ROLL_NUM VARCHAR2(10),
NAME VARCHAR2(20),
AGE number
But in my case I have a complex object, for example -
Vendor -
ID
Name
Equipments (occurs multiple times)
Feedback (occurs Multiple Times)
Equipment -
ID
Description
Rate
Feedback
ID
Description
Here I am fix, as to how should I create the objects.. if any of you could provide me some pointers, it shall be a great help.
Regards,
SwapSawe.Hi,
You can create complex object types like below:
create type Equipment_type is OBJECT
id NUMBER,
description VARCHAR(100),
rate NUMBER(10,2)
create type Equipment_Arr is VARRAY(50) of Equipment_type;
create type Feedback_type is OBJECT
id NUMBER,
description VARCHAR(100)
create type Feedback_Arr is VARRAY(50) of Feedback_type;
create type vendor is OBJECT
id NUMBER,
name VARCHAR(100),
Equipments Equipment_Arr,
feedback Feedback_Arr
Size of varray will depend on no of occurrence of equipments and feedback.
Regards,
Sachin -
OSB: HTTP digest authentication for WebServices
Hi,
How do I configure HTTP digest authentication for WebServices offered by the OSB (Proxy Services with WS as transport)?
Best regards
DimoDid you figure out how to do it.?
-
Specific features for webservice scenario
Hi All,
Do we have any specific features which are used for webserice scenario in XI compared to other platforms (ORACLE, Microsoft, IBM)?
Regards
SaraHi Sara,
In ID you can generate WSDL used for Webservice communication in Tools -> Define Webservice.
Regards,
Sreenivas -
Session maintenance at server side for webservice developed in CXF.
Hi.
Can anybody explain how to maintain session for a Webservice which is developed with the help of CXF? As earlier we were using AXIS, but recently we migrated to CXF. I tried to find out code samples, many places it’s given the session handling from client side which is not suitable for webservices. As client can work on different technologies.
So i cannot request client to put code for session handling.
Help is appreciated.
Thanks in advance.
Regards
SreedharHi.
Can anybody explain how to maintain session for a Webservice which is developed with the help of CXF? As earlier we were using AXIS, but recently we migrated to CXF. I tried to find out code samples, many places it’s given the session handling from client side which is not suitable for webservices. As client can work on different technologies.
So i cannot request client to put code for session handling.
Help is appreciated.
Thanks in advance.
Regards
Sreedhar -
Using number datatype for date column
Hi
Is there a side effect for using "number" datatype for "date" column?
If so, what is the disadvantage?
Many thanksHi,
Ora_83 wrote:
Hi
Is there a side effect for using "number" datatype for "date" column?
If so, what is the disadvantage?Yes, there's a definite disadvantage.
Oracle provides date arithmetic and a number of functions for manipulating DATEs. None of them work with numbers.
For example,
SELECT TRUNC (order_date, 'MONTH') AS order_month
, AVG (ship_date - order_date) AS avg_delay
FROM orders
GROUP BY TRUNC (order_date, 'MONTH')
;order_month involves a DATE function; it's pretty easy to find the month that conatins order_date.
avg_delay involves date arithmetic. It's extrememly easy to find how much the time passed between order_date and ship_date.
Depending on how you code dates as numbers, doing either one of the above may be just as easy, but doing the other will be very difficult. You'll waste a lot of effort converting the NUMBERs to real DATEs whenever you need to manipulate them.
Validation can be very difficult for NUMBERs, also.
Watch this forum. It's a rare day when there's not some question about how to get around a problem caused by storing dates in a NUMBER (or VARCHAR2) column. Don't add to that. Always use DATE columns for dates. -
Whats the datatype for the time in the format mm:ss.ms
Hello Sir,
I wanted to create a table with a field called time.
what should be the datatype for this field contains the value as in the format mm:ss.ms(04:53.0).
waiting for ur reply.
regards
pannarActually, i need to read some time values from excel sheet and store them into a table. it should contains the field time with the value something like
(05:21.1) ie mm:ss.ms).
if i put varchar2, i will be in trouble at the time of querying the table with some condition like fetch the records only the time duration less than 3 mins or something like that!
in this case, what data type finally fits to do this?
Maybe you are looking for
-
Safari 6.0.2 now available
I just installed Safari 6.0.2 via Software Update on OS 10.8.2. Apple fixed the problem.
-
What GUI to use web application designer in BI 7.0 without support package
I use BI in my ECC 6.0 system. I use tried both GUI 7.1 and GUI 6.40 to logon web application designer. But system display the message please logon to a Netweaver BI 7.x system. System A11 does not have a mimumium version required 7007. My system see
-
How to Send a logic project between people??
Need to send a Logic project of mine to a friend a few hours away, What is the best way to do this? What save options do I have to choose for it to open as the project is on my mac on theirs so they can start editing and mucking around with it? Thanx
-
HT1222 how do you do a software / security update on your i mac
how do you do a software / security update on your i mac
-
After upgrading to Lion I can't access time capsule pre lion.
Last week I backedup to time capsule via cable. I then upgraded to Lion. After upgrading I backedup to TC again. Now my MBP 17 can't access time capsule pre lion. So I can't see any of my last 2 years of Snow Leopard data.