• Oracle SALT allows you to import external Web Services into Tuxedo Domains. To import external Web services into Tuxedo application, a WSDL file must first be loaded and converted. The Oracle SALT WSDL conversion utility, wsdlcvt, translates each wsdl:operation into a Oracle SALT proxy service. The translated SALT proxy service can be invoked directly through standard Tuxedo ATMI functions.If an error occurs during the service call, the GWWS server sets the error status using tperrno, which can be retrieved by Tuxedo applications. This enables you to detect and handle the SALT proxy service call error status.Oracle SALT provides a WSDL conversion utility, wsdlcvt, that converts external WSDL files into Tuxedo specific definition files so that you can develop Tuxedo ATMI programs to access services defined in the WSDL file.
Note: If the operation name exceeds the Tuxedo service name length limitation (255 characters), you must manually set a unique short Tuxedo service name in the metadata respository and set the <Service> tuxedoRef attribute in the WSDF file.For more information, see Oracle SALT Web Service Definition File Reference in the Oracle SALT Reference Guide.
• Each wsdl:operation object and its input/output message details are converted as a Tuxedo service definition conforms to Tuxedo Service Metadata Repository input syntax.Table 4‑1 lists detailed mapping relationships between the WSDL file and Tuxedo definition files.
Table 4‑1 WSDL Model / Tuxedo Model Mapping Rules
• These basic ATMI functions can be called with a Tuxedo typed buffer as input parameter. The return of the call will also carry a Tuxedo typed buffer. All these buffers will conform to the converted outside Web service interface. tpacall/tpgetreply is not related to SOAP async communication.
• TMQFORWARD enabled queue-based communication.
• Write a skeleton C source file for the client to call the outbound service (refer to Tuxedo documentation and the Tuxedo Service Metadata Repository generated pseudo-code if necessary). You can use tpcall(1) or tpacall(1) for synchronous or asynchronous communication, depending on the requirement.If the GWWS server encounters an error accessing external Web services, tperrno is set accordingly so the Tuxedo application can diagnose the failure. Table 4‑2 lists possible Oracle SALT proxy service tperrno values.
There are two modes for mapping Metadata errbuf into SOAP Fault messages: Tux Mode and XSD Mode.
•
• Each service in XSD mode (servicemode=webservice) always has an errbuf in Metadata, with type=FML32.
• errbuf is a FML32 buffer. It is a complete descriptionof the SOAP:Fault message that may appear in correspondence (which is different for SOAP 1.1 and 1.2). The errbuf definition content is determined by the SOAP version and WSDL fault message both.
• Parameter detail/Detail (1.1/1.2) is an FML32 field that represents the wsdl:part defined in a wsdl:fault message (when wsdl:fault is present). Each part is defined as a param(field) in the FML32 field. The mapping rules are the same as for input/output buffer. The difference is that each param requiredcount is 0, which means it may not appear in the SOAP fault message.
• Other elements that appear in soap:fault message are always defined as a filed in errbuf, with requiredcount equal to 1 or 0 (depending on whether the element is required or optional).
• Each part definition in the Metadata controls converting a <detail> element in the soap fault message into a field in the error buffer.Table 4‑3 lists the outbound SOAP fault errbuf definitions.
Table 4‑3 Outbound SOAP Fault Errbuf Definition