Skip Headers
Oracle® Workspaces Web Services Application Developer's Guide
10g Release 1 (10.1.2.2)

Part Number B28207-01
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Master Index
Master Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
View PDF

15 Attachments Service

An attachment (which is called a link in the Oracle Workspace user interface) is a mechanism that associates resource items with each other. The following are some of the tasks that you may perform with the Attachments service:

Example: Create Attachment

The following sample creates a board (or retrieves it if it already exists), creates a meeting, and creates an attachment that associates the board to the meeting:

Example 15-1 AttachmentsServiceSample.java

package oracle.sample.workspaces.ws;
 
import java.rmi.RemoteException;
import javax.xml.rpc.ServiceException;
import oracle.workspaces.ws.AttachmentsService;
import oracle.workspaces.ws.AttachmentsServiceServiceLocator;
import oracle.workspaces.ws.AttachmentsServiceSoapBindingStub;
import oracle.workspaces.ws.AuthenticationService;
import oracle.workspaces.ws.DiscussionService;
import oracle.workspaces.ws.HomeService;
import oracle.workspaces.ws.MeetingsService;
import oracle.workspaces.ws.beans.AttachmentDefinition;
import oracle.workspaces.ws.beans.BoardItem;
import oracle.workspaces.ws.beans.MeetingResourceItem;
import oracle.workspaces.ws.beans.WorkspaceItem;
import oracle.workspaces.ws.exceptions.CwWSException;
import org.apache.axis.transport.http.HTTPConstants;
 
public class AttachmentsServiceSample 
{
  public static AttachmentsService configureAttachmentsService(
    String szAuthCookie) throws ServiceException
  {
    AttachmentsServiceServiceLocator assl =
      new AttachmentsServiceServiceLocator();
    AttachmentsService aService =
      assl.getAttachmentsService();
    ((AttachmentsServiceSoapBindingStub)aService).
      setMaintainSession(true);
    ((javax.xml.rpc.Stub) aService).
      _setProperty(HTTPConstants.HEADER_COOKIE, szAuthCookie);
    return aService;    
  }
  
  public static void addAttachment(
    AttachmentsService szAttachmentsService,
    String szWorkspaceID,
    String szItemBeingAttachedID,
    String szItemReceivingAttachmentID)
    throws RemoteException, CwWSException
  {
  
    // szItemBeingAttachedID is the UID of the entity
    // being attached
    //
    // szItemReceivingAttachmentID is the UID of
    // the entity to which the attachment is being added
  
    AttachmentDefinition[] aDefArray = new AttachmentDefinition[1];
    AttachmentDefinition aDef1 = new AttachmentDefinition();
    aDef1.setDescription("Adding attachments as links");
    aDef1.setEntityId(szItemBeingAttachedID);
    aDefArray[0] = aDef1;
    szAttachmentsService.addAttachments(
      szWorkspaceID,
      szItemReceivingAttachmentID,
      aDefArray); 
  }
  
  public static void main(String[] args)
  {
    try {
      // Get authentication cookie
      
      AuthenticationService myAuthenticationService =
        AuthenticationSample.configureAuthenticationService(
          "rg4",
          "welcome1");
          
      String authCookie = AuthenticationSample.getAuthenticationCookie
        (myAuthenticationService);
        
      System.out.println("Retrieved authentication cookie : " + authCookie);
      
      // Get AttachmentsService and set authentication cookie
      AttachmentsService myAttachmentsService =
        AttachmentsServiceSample.configureAttachmentsService(authCookie);
 
      // Get DiscussionSerivce and set authentication cookie
      DiscussionService myDiscussionService =
        DiscussionServiceSample.configureDiscussionService(authCookie);      
      
      // Get MeetingsService and set authentication cookie
      MeetingsService myMeetingsService =
        MeetingsServiceSample.configureMeetingsService(authCookie);
 
      // Retrieve HomeService and set authentication cookie
      HomeService myHomeService =
        HomeServiceSample.configureHomeService(authCookie);
        
      // Create new workspace (or retrieve it if it already exists)
      WorkspaceItem myWorkspace =
        HomeServiceSample.createOrRetrieveWorkspace(
          myHomeService,
          "NewWorkspace",
          "My New Workspace",
          "Description of My New Workspace",
          "WRITER",
          "ENABLED");
          
      System.out.println("Retrieved or created workspace");
      
      // Create a new meeting
      
      MeetingResourceItem myMeeting =
        MeetingsServiceSample.createMeetingForToday(
        myMeetingsService,
        myWorkspace.getWorkspaceUid());
        
      System.out.println("Created new meeting");                
      
      // Create (or retrieve) a board
        
      BoardItem myBoard =
        DiscussionServiceSample.createDiscussionBoard(
        myDiscussionService,
        myWorkspace.getWorkspaceUid()); 
      
      System.out.println("Created or retrieved board");
      
      // The following method call will create a link from
      // a board to a meeting
      
      AttachmentsServiceSample.addAttachment(
        myAttachmentsService,
        myWorkspace.getWorkspaceUid(),
        myMeeting.getId(),
        myBoard.getId());
 
      System.out.println("Created attachment");
        
      myAuthenticationService.logout();             
 
    } catch (CwWSException cwwse) 
    {
      System.out.println("CwWSException caught: " + cwwse.toString());
      cwwse.printStackTrace();
    } catch (Exception e) 
    {
      System.out.println("Exception caught: " + e.toString());
    }
  }
}