Jump to: navigation, search

Scout/SDK/JAXWS-SDK/Create webservice consumer

< Scout‎ | SDK‎ | JAXWS-SDK
Revision as of 10:11, 9 November 2011 by Daniel.wiehl.bsiag.com (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


Scout
Wiki Home
Website
DownloadGit
Community
ForumsBlogTwitter
Bugzilla
Bugzilla

On server node, go to the node 'Webservices (JAX-WS RI 2.1.6)' | 'Consumer' | 'Services'. Right-click on that node to create a new webservice consumer [1].

Choose WSDL file

First, you are asked for a WSDL file to build the webservice stub for that webservice [2]. Thereto, you have 2 options: Either choose the WSDL file from local filesystem or specify the URL to the WSDL file to be downloaded. If the WSDL file consists of multiple files such as separate files for Port and Binding definitions as well as separate files for XSD Schema types, use the first option and specify those files as related files. If you chose the WSDL from URL, press TAB or click somewhere outside the URL field to validate and download the WSDL file.

Choose Service and Port

In the next wizard step, you are asked to choose from the available Services and Ports [3] - service and port are used to uniquely resolve the port type to be used the by webservice consumer. If you are not sure which service or port to use, address to the webservice provider about their meaning and usage. Please note, that the port list is based on the service selection. By default, Scout SDK chooses the first service found in WSDL file and derives the associated port.

Control the Stub Generation Process

In the next wizard step, you have the possiblity to specify a custom package name for the stub files to be generated [4]. Please note, that the stub is generatged into a separate JAR-file, so the package name is not that important.

In general, you should not set a custom package because this instruments JAX-WS builder to not apply the default package name algorithm and to ignore any WSDL and schema binding customization for package name. Typically, the default package name algorithm derives the package name based on the targetNamespace of the webservice to be built. In some situations, this name might not be a valid Java package name and requires you to specify a custom package name.

Also, you can specify to create a binding file to customize JAX-WS default bindings [5]. By default, such a file is created. In the default binding-file, there is a global binding configured to unmarshall any xsd:date, xsd:time and xsd:dateTime to a java.util.Date represented as UTC time. If you do not choose to create such a binding-file, you can do it anytime later in Scout SDK. Please note that changes in the binding-file are to instrument the stub build process, meaning that changes require are rebuild of the webservice stub.

Webservice Client

Finally, you can change the default name and default package name of the Scout Service which is created to represent the webservice [6]. This is just like all other services in Scout. Basically, they are plain OSGi services which are registered in plugin.xml and are accessible by SERVICES.get(XyWebServiceClient.class).

Also, you can choose to annotate the service with ScoutWebServiceClient. This allows you to specify an authentication mechanism to be used when connecting to the endpoint service [7]. By default, you can choose from BasicAuthenticationHandler and WsseUsernameTokenAuthenticationHandler as authentication mechanism. If no authentication is to be applied, choose NONE as authentication mechanism.

Create Webservice Consumer
Choose WSDL file
Choose Service and Port from WSDL file
Specify custom package name and to create a binding file
Specify name and package for Consumer Service
Choose authentication method to provide user's credentials