You can create two types of proxies in the SAP NetWeaver Developer Studio:
● Deployable proxy
A Web service client, which can and has to be deployed on the application server to be operational. A deployable proxy is consumed from an Enterprise Java Bean or a servlet and is created and configured by the responsible managing container of the application server. Deployable proxies are used through the Java EE 5 injection mechanism. You generate a deployable proxy in an Enterprise Java Bean project, or in a Dynamic Web Project in the Developer Studio.
You cannot consume a deployable proxy with a JSP application.
● Standalone proxy
A Web service client, which can be instantiated by application code. The application code can run in a standalone program. The standalone proxy can be used mainly for test purposes from within the SAP NetWeaver Developer Studio. You generate a standalone proxy in a Java project. The standalone proxies are restricted to synchronous services only. If you want to use asynchronous or WS-RM enabled services, you have to create a deployable proxy.
Basically, the procedure of creation of standalone and deployable proxies differs only in the target project in which you create the proxy. The procedure steps are the same for both proxy types.
You generate proxies using a WSDL document as a basis. You can use a WSDL document located in the Services Registry, the Enterprise Services Repository, or on a file system, or at a remote location (such as a URL). Some WSDL documents, such as those for Service Interfaces (SI) modeled in the ESR may not contain service, port, and/or binding information. When the framework generates a proxy, it updates the WSDL document with the necessary information. By default, when the WSDL document does not contain binding information, the Web service framework updates the WSDL and sets the binding to SOAP over HTTP. You cannot change this default setting.
If you have generated an outside-in Web service and want to generate it again based on the same WSDL document that was already imported in the SAP NetWeaver Developer Studio, you have to delete the imported WSDL document from the project in the Developer studio. You also have to delete all Java artifacts, including the implementation bean, generated in result of the previous generation of the Web service. In this case, before you delete the Java artifacts, you may want to back up any implementation which you have provided in the implementation bean.
The Web service client and the Web service proxy must be in the same EAR and in the same module (EJB or Dynamic Web module).
More information: Collision Resolution and Global Customizations
● Generating a deployable proxy
You can generate deployable proxies in an Enterprise Java Bean project, or in a Dynamic Web Project. Depending on your scenario, the respective project has to be available in the SAP NetWeaver Developer Studio:
○ An EJB project is created. The EJB module in the project is version 3.0. More information: Creating EJB 3.0 Projects in the Developer Studio
○ A Dynamic Web Project is created. The Dynamic Web Module in the project is version 2.5. More information: Creating Dynamic Web Projects
● Generating a standalone proxy
○ A Java project is created
● An enterprise application project is created. The Enterprise Java Bean project or the Dynamic Web project is added to the enterprise application project.
● The AS Java settings are configured in Window → Preferences → SAP AS Java.
● The application server and Web service runtime are set in the SAP NetWeaver Developer Studio from Window → Preferences → Web Services → Server and Runtime. In the Server field, choose SAP Server, and in the Web service runtime, choose SAP NetWeaver.
● If you want to use the WSDL of a Service Interface modeled in the ESR, open the Enterprise Service Browser.
● If you want to use customization files, you should have them available in advance.
1. Import the WSDL document, which you want to use to generate a proxy. More information: Importing WSDL Documents in the SAP NetWeaver Developer Studio.
If you want to generate a proxy based on a WSDL document of a Service Interface modeled in the ESR, you can start the wizard from the ES Browser (see the next step below). In this case, you do not need to import the WSDL document from the ESR manually. The Web service framework imports it automatically in the project folder. Note that if you use this option, you will not be able to use your own customization files.
On some operating systems, especially when running on virtual machines, long path names or file names may be automatically truncated by the system. This avoids validation of internal references between development objects and affects the Web service artifacts where the references are implemented via file names.
More information: SAP Note 1291018 - Validation of Java EE 5 Web Service Projects Fails
2. In the Project Explorer of the Java EE perspective, choose the WSDL document, and then from the context menu choose Web Services → Generate Client.
If you want to generate a proxy based on a WSDL document of a Service Interface modeled in the ESR, in the Enterprise Service Browser view, expand the Service Interfaces node of a software component, choose a Service Interface, and then from the context menu choose Generate Client. Note that if you use this option, you will not be able to use your own customization files.
The Web Services wizard opens.
3. On the Web Services screen, proceed as follows:
a. Move the slider to the Develop Client position.
In this case, the Web service framework only generates the relevant artifacts (it does not deploy them on the application server).
b. Under Configuration, choose Client EAR Project, and make sure that the correct service EAR project is selected in the Client project field.
c. Choose Next.
If the WSDL document you are using does not contain service, port, and/or binding information, you receive a message, which informs you that the WSDL document will be updated.
4. If the imported WSDL document does not contain a service endpoint, the Update WSDL window opens.
○ To update the WSDL document with a service endpoint or binding, choose Update WSDL. At a later stage, the system overwrites the WSDL document using the values that you provide.
○ To preserve the original WSDL document, choose Do not update WSDL. At a later stage, the system creates a new WSDL document using the values that you provide.
5. On the Client Generation Configuration screen, proceed as follows:
a. If necessary, specify the output folder in which you want the Java artifacts to be generated.
b. Choose the way in which you want to resolve the possible collisions in the WSDL to Java mapping during the conversion of the WSDL document to Java artifacts.
The table below provides information about the separate options and their meaning:
Collision Resolution Options
Resolve collisions interactively
The Web service framework resolves collisions based on input from you.
More information: Using Interactive Conflict Resolution
Resolve collisions automatically
The Web service framework resolves collisions compliant with a predefined algorithm.
More information: Using Automatic Conflict Resolution
Specify JAX-WS customization files
You can use JAX-WS 2.0-compliant customization files prepared in advance to apply customizations. This option is available only when the WSDL document is imported in the SAP NetWeaver Developer Studio.
During the generation process, the Web service framework does not validate the external customization files you might use. You have to ensure that these files are correct and comply with the JAX-WS 2.0 specification.
More information: Using JAX-WS Customization Files
Apply WSDL without customizations
The Web service framework processes the WSDL document as it is. If the WSDL document itself contains customizations in that, for example, it was manually edited, the framework will process these customizations.
More information: Using No Customizations
Depending on the customizations level you choose on this screen, the wizard provides different options on the subsequent screens.
● The framework generates the service endpoint interface, reference classes and the service class in the output folder.
● The class path is updated with additional JAR files.
1. Create the Web service client application. More information: Creating Web Service Client Applications
2. Deploy the Web service client on the application server (for deployable proxies only). More information: Building, Publishing and Removing Published Java EE Applications.
3. Configure the Web service client in the NetWeaver Administrator. More information: Configuring Web Services and Web Service Clients in the SAP NetWeaver Administrator.
When you deploy a Web service client which comprises a Web service proxy and a consumer application on the application server, you can configure that Web service client in the SAP NetWeaver Administrator (NWA). If you deploy only a Web service proxy without the corresponding consumer application on the application server, the NWA does not allow you to configure the deployed proxy. Moreover the deployed proxy is not displayed in the configuration applications of the NWA.