Oracle9i Application Server Release Notes
Release 2 (9.0.3) for Solaris Operating System (SPARC) Part No. B10015-08 |
|
![]() |
![]() |
This chapter discusses the issues associated with Oracle9iAS Web Services. It covers the following topics:
This section describes general issues and their workarounds for Oracle9iAS Web Services. Topics include:
Section 9.1.3, "Adding JMS Doc Service Tags for Durable Topic Destinations"
Section 9.1.4, "OC4J Server not Accepting RPC Requests when Part Names are Untyped"
Section 9.1.5, "Limitation in Using Multibyte Characters in Web Services config.xml File"
Section 9.1.6, "Limitation in Method Names Containing Multibyte Characters"
Patch kits for UDDI v1.0 and v2.0 compliance of the Oracle9iAS UDDI registry will be available for download from OracleMetaLink for Oracle9iAS Release 2 (9.0.3) at:
http://metalink.oracle.com Check with OracleMetaLink for more information on these UDDI patch kits.
The <jms-doc-service> tag supports the <receive-timeout> sub-tag. This sub-tag provides a configureable timeout property to specify the receive timeout in milliseconds.
When this tag is not specified, or when the value is set to 0, a JMS receive operation blocks indefinitely.
This tag is optional. Valid values are 0 and all positive integers.
This tag is valid when the <operation> value is receive or both.
The following is a sample Web Services Assembler configuration file that contains a <receive-timeout> tag.
<jms-doc-service> <uri>JmsReceive</uri> <connection-factory-resource-ref> jms/logQueueConnectionFactory </connection-factory-resource-ref> <queue-resource-ref>jms/logQueue</queue-resource-ref> <operation>receive</operation> <!-- provides the time in milliseconds that the receive operation will wait for a new message --> <receive-timeout>5</receive-timeout> </jms-doc-service>
When a JMS provider supports durable JMS topics, the JMS Doc service supports using the durable topics.
To specify a durable topic, configure the JMS Doc web service using the <jms-doc-service> tag and the <topic-subscription-name> sub-tag.
For example:
<jms-doc-service> <uri>JmsDemo2</uri> <connection-factory-resource-ref>jms/theNewTopicConnectionFactory </connection-factory-resource-ref> <topic-resource-ref>jms/theNewTopic</topic-resource-ref> <!-- Name of durable topic subscription --> <topic-subscription-name>WS_SUBSCRIBER</topic-subscription-name> </jms-doc-service>
The <topic-subscription-name> tag is optional and is only valid when a <topic-resource-ref> tag is supplied.
Every part should have a type attribute. OC4J server does not accept RPC requests when part names are untyped.
For example, OC4J Web Services request will fail if the SOAP Body is as follows:
<ns:GetStockQuote> <ticker>ORCL</ticker> </ns:GetStockQuote>
The correct request should have been as follows:
<ns:GetStockQuote> <ticker type="xsi:string">ORCL</ticker> </ns:GetStockQuote>
If a client uses Oracle's Dynamic Proxy APIs, then response part should also be typed. A response with untyped parts will fail.
Multibyte characters or contents using the <display-name> element of the config.xml file for Web Services are not supported.
If method names in Web Services contain multibyte characters, then you cannot use Web Services Assembler to generate the proxy for Web Services. The only way to generate Web Services is to download the proxy jar from the Web Services server.