Add the utilws web service to your client proxy

The utilws web service is an optional web service. However, you must have the utilws web service in your client proxy to run the code sample Creating your first application for the BlackBerry® Administration API. By default, the wsdl2java proxy generator does not interpret the BlackBerry® Administration API namespaces as intended. If you use the default namespaces, the proxy generator stores your BlackBerry Administration API packages in a flat file structure inside a com/rim/ folder. For example, a class in the com.rim.bes.basplugin.dispatcher package is stored in the client proxy as com/rim/com_rim_bes_basplugin_dispatcher instead of com/rim/bes/basplugin/dispatcher. You can use the default namespaces, but you must manually change the package names in any code samples, or you can change the package names manually by using Eclipse®. You can define the namespaces, which can be time consuming, but if you save the commands for future reference, you can save time when you generate the client proxy again.
Before you begin:

Create a temporary folder in which to generate the client proxy if a folder does not already exist (for example, C:\Temp\BAA\proxy).

  1. At the Windows® command prompt, navigate to the bin folder of Apache CXF™.
    cd C:\Program Files\apache-cxf-2.1.2\bin\
  2. Perform one of the following tasks to invoke the wsdl2java proxy generator:

    Task

    Steps

    Use the default namespaces.

    1. Invoke wsdl2java.bat
      wsdl2java.bat -wv 1.1 -d
      C:\Temp\BAA\proxy https://<servername>/baaws/core/wsutil?wsdl
    2. In the code sample Creating your first application, change the package names so that they match the generated package names.

    Use the default namespaces and change them manually by using Eclipse.

    1. In the bin folder, invoke wsdl2java.bat
      wsdl2java.bat -wv 1.1 -d
      C:\Temp\BAA\proxy https://<servername>/baaws/core/wsutil?wsdl
    2. Add the com folder from the client proxy to a source folder in an Eclipse project.
    3. In the Package Explorer window, right-click a package name, and click Refactor > Rename.
    4. Type the correct package name and click OK.
    5. Repeat steps 3 and 4 for each package name that contains an underscore character.

    Define the namespaces for the proxy generator.

    1. Type the following line into a text editor:
      wsdl2java.bat -wv 1.1 -d C:\Temp\BAA\proxy https://<servername>/baaws/core/wsutil?wsdl
    2. To view the WSDL file for the utilws web service, in a browser, visit https://<servername>/baaws/core/ws?wsdl.
    3. For each xml namespace at the beginning of the WSDL file, copy the package name. For example, in xmlns:ns1="http://www.rim.com/com.rim.bes.example.dto", the package name is com.rim.bes.example.dto.
    4. For each xml namespace, add the following parameter to the command in your text editor:
      -p http://www.rim.com/<package>=<package>
      For example:
      wsdl2java.bat -wv 1.1 -p http://www.rim.com/com.rim.bes.example.dto=com.rim.bes.example.dto 
      -d C:\Temp\BAA\proxy https://<servername>/baaws/core/wsutil?wsdl
    5. Once you have added the -p parameter for each namespace, copy the command from your text editor into your command prompt and invoke the command.
    6. Open the folder C:\Temp\BAA\proxy\com\rim.
    7. If your client proxy folder contains any namespaces that that contain an underscore character, for example com_rim_bes_bas, delete the folder C:\Temp\BAA\proxy\com, define the namespaces in your command correctly, and invoke wsdl2java again. Also re-add any other web services that you added before you deleted C:\Temp\BAA\proxy\com
    8. Save the command in the text editor. You might need to use it again.

Example: Defining the utilws namespaces.

The following one-line command adds the classes for the utilws web service to the folder C:\Temp\BAA\proxy. Your server might contain more namespace or fewer namespaces.
wsdl2java.bat -wv 1.1 
-p http://www.rim.com/com.rim.bes.basplugin.emailcommon.dto=com.rim.bes.basplugin.emailcommon.dto
-p http://www.rim.com/com.rim.bes.basplugin.dispatcher.dto=com.rim.bes.basplugin.dispatcher.dto 
-p http://www.rim.com/com.rim.bes.bas.dto=com.rim.bes.bas.dto
-p http://www.rim.com/com.rim.bes.bas.baa.dto=com.rim.bes.bas.baa.dto
-p http://www.rim.com/com.rim.bes.bas.baa=com.rim.bes.bas.baa
-d C:\Temp\BAA\proxy https://<servername>/baaws/core/wsutil?wsdl

Was this information helpful? Send us your comments.