Declaring a variable to access a SOAP service
myService WeatherForcast {@webBinding
{wsdlLocation="wsdl/weatherForecast",
wsdlService="wsdlforecast",
wsdlPort="wsdlport"};
In that declaration, you can specify either of two properties, each of which gives you a way to specify details that indicate how to access the web service: @webBinding and @BindService. You can use the @webBinding property to specify the WSDL-file detail directly in your code. You can use the @BindService property to specify those details in a deployment descriptor. This property allows for changes at configuration time.
- @webBinding
- Use this property to specify, in your code, the details that indicate
how to access the web service. You do not need to create the @webService complex
property. Rich UI writes the details in a comment, which is stored
in the file that contains the Interface part created from a WSDL file.
The property fields are as follows:
- wsdlLocation
- A string that identifies the name and location of the WSDL file.
The location is relative to the root directory of the project. For
example, if the file is named
weatherForecast.wsdland is in the wsdl folder, the string is "wsdl/weatherForecast.wsdl". - wsdlPort
- A string that identifies the name of the wsdl:port element within the wsdl:service element in the WSDL file
- wsdlService
- A string that identifies the name of the wsdl:service element in the WSDL file
- uri
- If specified, uri is a string that overrides the URL that is specified in the WSDL file. If the service is available at a location besides the location that is specified in the WSDL file, such as a different version of the service used for production or testing, you can enter that location here and use that version of the service instead. By default, this value is null.
- @BindService
- Use this property to use an entry in the EGL deployment descriptor
to indicate how to access the web service. Using this property has
two implications:
- You create a service binding in the EGL deployment descriptor by using a WSDL file.
- From that file, the deployment-descriptor editor retains the details about the file location, the wsdl:port element, and the wsdl:service element.
The @BindService property has one field:
- bindingKey
- Identifies the deployment-descriptor entry that includes the two details.
You can specify the @BindService property without specifying the bindingKey field. In that case, the property identifies the deployment-descriptor entry that has the same name as the Interface part. Here is an example of that usage, which refers to the deployment-descriptor entry named WeatherForecast:MyService WeatherForecast {@BindService{}}For details about setting up the EGL deployment descriptor, see “Adding a SOAP service binding to the deployment descriptor.”
Each SOAP service invocation uses a new HTTP session, and no session information is retained from invocation to invocation. Your code cannot usefully call a service that is using session variables, which retain information from invocation to invocation.