Oracle SALT 11g Release 1 (11.1.1.1.0) provides performance enhancements to the SCA container of Oracle SALT, adds support for Python and Ruby scripting languages in the SCA container. It also provides an interface parsing tool for generating service metadata which can also be used to convert C++ SCA interfaces into WSDL interfaces.
What’s New and Improved
Oracle SALT Release 11g Release 1 (11.1.1.1.0) includes the following new features:
Python and Ruby Support
Python and Ruby support in SALT SCA utilizes the SCAHOSTcommand to perform SCA calls from Python or Ruby client programs, and language extensions to access Python or Ruby components.
The Scatuxgen Metadata Generation Tool parses C++ interfaces as used to develop SCA components for the SCA runtime functionality introduced in SALT 10gR3. It generates Tuxedo metadata repository interface data, and optionally a Web Services Definition File (WSDL) document.
Provides bi-directional transactional interoperability between Web Services and Oracle Tuxedo applications. Applications transparently make use of the GWWS system server transactional capabilities.
For more information, see WS-TX Supportin Oracle SALT Interoperability.
Upgrade Considerations
For information on installing Oracle SALT 11g Release 1 (11.1.1.1.0) on top of a previous SALT release, see theOracle SALT Installation Guide.
Before installing Oracle SALT 11g Release 1 (11.1.1.1.0), you must ensure that Oracle Tuxedo 11g Release 1 (11.1.1.1.0) is installed.
For more information, seeSystem Requirements in the Oracle SALT
Installation Guide.
Oracle SALT Platform Support
Oracle SALT 11g Release 1 (11.1.1.1.0) supported platforms are listed in Appendix A: Oracle SALT 11g Release 1 (11.1.1.1.0) Supported Platforms in the Oracle SALT
Installation Guide.
Interoperability Considerations
Oracle SALT 11g Release 1 (11.1.1.1.0) is compatible with, and fully supports, most industry-standard Web service development toolkits. For more information, seeInteroperability Considerations in the Oracle SALT
Interoperability Guide.
Known Issues
The following sections describe known problems in Oracle SALT 11g Release 1 (11.1.1.1.0). Entries include a description of the problem, and a workaround or solution where appropriate.
Each problem is listed by the Change Request (CR) number. The CR number is provided to facilitate the tracking of these problems.
Problem: GWWS rejects non UTF-8 inbound SOAP request messages when SignBody WS-Security Policy is enabled.
When GWWS is configured with multiple encoding support, it can accept non UTF-8 encoded SOAP requests; however, the GWWS internally converts all non UTF-8 encoding messages into UTF-8 encoding messages for later operation.
If a service requires <soap:Body> signature verification, the GWWS always verify the signature against the converted UTF-8 encoded <soap:Body> instead of theoriginal <soap:Body> content. Thus the signature verification always failed.
2.0
Platform: All
Workaround:
Web service client programs must initiate SOAP requests using UTF-8 encoding when the WS-Security Policy Assertion SignBody is enabled for the corresponding services.
CR328329
Problem: GWWS may reject valid SOAP requests if the target Tuxedo service consumes XML typed buffer as input and the input buffer is defined with “size” restriction in the Tuxedo Service Metadata definition.
GWWS automatically adds an additional ‘\0’ to the end of the converted XML buffer. This additional byte may result the XML buffer length exceed the “size” value, hence reject by later Tuxedo buffer validation routine in the GWWS.
2.0
Platform: All
Workaround:
Enlarge or remove the “size” restriction for XML typed buffer in the Tuxedo Service Metadata Definition.
CR306710
Problem: Tuxedo service may not receive the exact same non UTF-8 encoding string as the string prepared in the SOAP request message.
If multiple encoding capability is turned on for the GWWS, and Web Service client programs written in Java send messages with non UTF-8 encoding, GWWS may not send exact the same string value to the Tuxedo service.
This is a general problem if different encoding conversion implementations are used. Java encoding implementation has slight difference from ICU encoding implementation (which is used by Tuxedo and SALT), hence an encoding string prepared by the Java program, after ICU “to UTF-8” and “from UTF-8” conversion, may not revert to the exact original string.
2.0
Platform: All
Workaround:
None. Customers rarely use those characters. If some characters mapping are confirmed due to ICU bugs, please contact Oracle Tuxedo Customer Support.
9281764
Problem: WCF (.Net) C# clients may not handle SOAP 1.2 faults sent back by the GWWS gateway.
When an Tuxedo service is exposed as a Web Service using the SOAP 1.2 style, GWWS may return faults such as service unavailable, problems during invocation, etc. When this happens, a C# client will receive an exception indicating that an invalid SOAP fault was received.
This is due to the fact that GWWS does not specify an @xml:lang attribute in the /Fault/Reason/Text element returned.
11gR1
Platform: All
Workaround:
Code the C# client so that it receives the fault as an XML document which can then be parsed, as follows:
...
catch (FaultException ex) {
MessageFault mf = ex.CreateMessageFault();
XmlReader xr = mf.GetReaderAtDetailContents();
...
}
--
Interoperability
CR Number
Description and Workaround or Solution
Found In
CR330363
Problem: SALT multiple encoding feature does not interoperable with Microsoft .NET WCF 3.0 engine.
If SALT enables multiple encoding feature, when the inbound call Tuxedo service returns MBSTRING or XML typed buffer with non UTF-8 encoding, the SOAP response message is encoded the same as the MBSTING or XML buffer. Such SOAP response message cannot be accepted by those Web Service client applications developed using Microsoft .NET WCF 3.0 engine.
2.0
Third-Party Web Service Toolkit: Microsoft .NET WCF 3.0
Workaround:
Customers may need to develop custom encoder/decoder if the Tuxedo service may return non UTF-8 typed buffers and GWWS multiple encoding feature is turned on.
Alternatively, you may explicitly turn off the GWWS multiple encoding feature if you are aware all Tuxedo services in your Tuxedo domain never return non UTF-8 buffers.
CR296594
Problem: SOAP fault response message cannot be accepted by Microsoft .NET 3.0 when the HTTP Content-Length exceeds 65536.
If the GWWS server returns a SOAP fault message when the HTTP Content-Length exceeds 65536, the .NET WCF 3.0 engine sends an exception to report the response is not well-formed.
Note:
If the GWWS server returns a normal SOAP message (non SOAP fault) when the HTTP Content-Length exceeds 65536, the .NET Web service engine can accept.
2.0
Third-Party Web Service Toolkit: Microsoft .NET WCF 3.0
Workaround:
None. Avoid to return big buffer when invoking tpreturn() along with TPFAIL status code in the Tuxedo service.
CR294785
Problem: Apache Axis2/Java fails to handle Tuxedo FML32 TPFAIL response buffers that have field names with initial uppercase.
If a Tuxedo service returns TPFAIL with FML32 buffer, SALT maps each field as an XML segment in the SOAP fault detail, and the field name is used directly as the XML element tag name.
If the FML32 buffer contains field names with initial letter uppercase, Axis2 may not recognize the SOAP fault messages that converted from this Tuxedo FML32 buffer.
2.0
Third-Party Web Service Toolkit: Apache Axis2/Java
Workaround:
Modify the FML32 field name to avoid use initial uppercase name. Corresponding Tuxedo application also needs to be changed and re-compiled.
CR306978
Problem: Apache Axis2/Java does not recognize the SOAP with Attachment (SwA) featured WSDL file generated by Oracle SALT.
If SwA featured WSDL file is generated by Oracle SALT, Apache Axis2 wsdl2java utility generates Java stub code which is different from Apache Axis. Axis2 generated stub code cannot initiate a successful call to Oracle SALT service.
2.0
Third-Party Web Service Toolkit: Apache Axis2/Java
Workaround:
Use Apache Axis instead for SwA featured soap calls.
MTOM is an alternative attachment format that supported by Oracle SALT. You may also use MTOM feature with Apache Axis2/Java for CARRAY buffer stream.
CR296221
Problem: Apache Axis wsdl2java utility fails to compile the Oracle SALT generated WSDL file if soap 1.2 binding with soap fault is defined in the WSDL file.
You may define SOAP version 1.1 for SALT WSDL if Apache Axis has to be used for Web Service client programming. Or you should manually re-compile Apache Axis classes using Apache Axis source code with the fix provide in the above URL link.
You may also choose another third-party Web Service client toolkit for soap 1.2 binding with soap fault feature, such as Oracle WebLogic 9.x Web Services, Apache Axis2, Microsoft .NET WCF 3.0, etc.
CR323477
Problem: GWWS fails to call external Web Service applications built upon Microsoft .NET WCF 3.0 if asynchronous WS-Addressing feature is enabled.
Oracle SALT supports WS-Addressing feature that conforms to WS-Addressing standard 200408 submission. While initiating an asynchronous outbound call, GWWS always defines a <wsa:ReplyTo> endpoint reference in the WS-Addressing soap header. See the following sample <wsa:ReplyTo> segment:
Host name “myhost” and port number “7102” in the above sample indicates the listening endpoint that is created by the GWWS which is used to accept asynchronous soap response messages for outbound calls.
But Microsoft .NET WCF 3.0 does not recognize the <wsa:ReplyTo> endpoint in the request, and always returns the synchronous response through the request connection.
GWWS then always encounters time out in receiving asynchronous response because Microsoft .NET WCF 3.0 never send the response to GWWS expected endpoint.
2.0
Third-Party Web Service Toolkit: Microsoft .NET WCF 3.0
Workaround:
None. You should disable WS-Addressing feature when initiating outbound call to external Web Service applications built upon Microsoft .NET WCF 3.0. For more information about configuring WS-Addressing feature, see “Configuring Advanced Web Service Messaging Features” in the Oracle SALT Administration Guide.
SCA Container
CR Number
Description and Workaround or Solution
Found In
CR379052
Problem: XmlHelper::save() loses content of XML document of mixed type
In a schema where a type is defined as follows: <xsd:complexType name="myType" mixed="true"> ... A document cannot be loaded by SDO XmlHelper, then saved as its original content. For example: ... Dear Mr.<name>John Smith</name>. Your order <orderid>1032</orderid> will be shipped on <shipdate>2001-07-13</shipdate>. ... can only be saved as: ... <name>John Smith</name> <orderid>1032</orderid> <shipdate>2001-07-13</shipdate> ...
10g R3
Platform: All
Workaround:
These types of documents should be handled directly by the application code.
CR379307
Problem: Error data sent is ignored when Web service binding is used to connect two Tuxedo domains
The current implementation of Web services binding only returns the fault string when a SOAP fault occurs. For those services where fault detail may contain additional information or data (as handled by the GWWS SALT gateway), ServiceInvocationException has no place or mechanism to store this data.
This may happen:
when attempting to invoke an existing Tuxedo service exposed as a Web service from an SCA component or SCA client.
only between two Tuxedo domains.
10g R3
Platform: All
Workaround:
Use ATMI binding and /Domain feature to connect two Tuxedo domains.
CR383168
Problem: JATMI binding does not support transaction.
The JATMI binding crashed when running with transaction because the JATMI container does not have sufficient transaction support for TSESSION.
10g R3
Platform: All
Workaround:
The services accessed may be configured as AUTOTRAN.
CR383362
Problem: JATMI reference binding does not check the presence of two different serviceType, inputBufferType, outputBufferType and errorBufferType elements without specifying a target attribute.
10g R3
Platform: All
Workaround:
To avoid this problem, you should not configure duplicated XML elements for ATMI binding without specifying target in the composite file.
Where to Get Product Documentation
Documentation for this product is available from the Oracle corporate Web site. From the Oracle home page at http://www.oracle.com.
To access the .PDF files, open the Oracle SALT documentation home page, click the PDF files button and select the document you want to view or print. If you do not have the Adobe Acrobat Reader, you can get it for free from the Adobe Web site at http://www.adobe.com.
Contacting Oracle Customer Support
If you have any questions about this Oracle SALT version, or if you have problems installing and running Oracle SALT, contact Oracle Customer Support through Oracle WebSupport at http://www.oracle.com/bea/support.html.
You can also contact Customer Support by using the contact information provided on the Customer Support Card, which is included in the product package.
When contacting Customer Support, be prepared to provide the following information:
Your name, e-mail address, phone number, and fax number
Your company name and company address
Your machine type and authorization codes
The name and version of the products you are using
A description of the problem and the content of pertinent error messages
Where to Get Product Documentation
Documentation for this product is available from the Oracle corporate Web site. From the Oracle home page at http://www.oracle.com.
To access the .PDF files, open the Oracle SALT documentation home page, click the PDF files button and select the document you want to view or print. If you do not have the Adobe Acrobat Reader, you can get it for free from the Adobe Web site at http://www.adobe.com.
Contacting Oracle Customer Support
If you have any questions about this Oracle SALT version, or if you have problems installing and running Oracle SALT, contact Oracle Customer Support through Oracle Web Support at http://www.oracle.com/bea/support.html.
You can also contact Customer Support by using the contact information provided on the Customer Support Card, which is included in the product package.
When contacting Customer Support, be prepared to provide the following information:
Your name, e-mail address, phone number, and fax number
Your company name and company address
Your machine type and authorization codes
The name and version of the products you are using
A description of the problem and the content of pertinent error messages