Customizing a Service Control: Declaring Compliance with a WSDL File

This topic describes customizations you can make to a Service control's CTRL file to modify the control's default behavior.

To learn more about controls, see Controls: Using Resources from a Web Service.

To learn more about Service controls, see Service Control: Using Another Web Service.

To learn more about customizing Service controls, see Customizing a Service Control: Overview.

How Service Controls Specify Contract Compliance

A Service control CTRL file typically explicitly declares that it complies with the public contract expressed in a WSDL file. This compliance is declared with the @jws:wsdl tag. The @jws:wsdl tag's file attribute names the WSDL file with which the Service control complies.

The file specified by the @jws:wsdl tag may be placed in line inside the Service control's CTRL file. The WSDL contents are specified as the value of a @jws:define tag. The @jws:wsdl tag's file attribute then refers to #Name instead of an actual filename, where Name is the value of the @jws:define tag's name attribute. The following sample contents of a CTRL file illustrate this arrangement:

import weblogic.jws.control.ServiceControl;
/**
 * @jws:location http-url="creditreport/IRS.jws" jms-url="creditreport/IRS.jws"
 * @jws:wsdl file="#IRSWsdl"
 */
public interface IRSControl extends ServiceControl
{
    ...
}
/** 
 @jws:define name="IRSWsdl" value::
      <?xml version=1.0 encoding=utf-8?>
      <definitions ...>
        ...remainder of WSDL here...
      </definitions>
  ::
 */

If a Service control has an associated @jws:wsdl tag, the methods in the Service control's interface must be capable of producing messages that comply with the operations defined in the WSDL file.

To learn more about the @jws:wsdl tag, see @jws:wsdl Tag.

Related Topics

CTRL Files: Implementing Controls

WSDL Files: Web Service Descriptions

@jws:define Tag

@jws:wsdl Tag