code: public byte[] requestMFPSchemata(byte[] schemaData)
     throws SIConnectionLostException,
            SIConnectionDroppedException,
            SIConnectionUnavailableException,
            SIErrorException
     {
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.entry(this, tc, "requestMFPSchemata");
  
        if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) SibTr.bytes(this, tc, schemaData);
  
        byte[] returnSchemaData = null;
  
        CommsByteBuffer request = getCommsByteBuffer();
        request.wrap(schemaData);
  
        CommsByteBuffer reply = jfapExchange(request,
                                             JFapChannelConstants.SEG_REQUEST_SCHEMA,
                                             JFapChannelConstants.PRIORITY_HIGHEST,
                                             true);
  
        try
        {
           short err = reply.getCommandCompletionCode(JFapChannelConstants.SEG_REQUEST_SCHEMA_R);
           if (err != CommsConstants.SI_NO_EXCEPTION)
           {
              checkFor_SIConnectionUnavailableException(reply, err);
              checkFor_SIErrorException(reply, err);
              defaultChecker(reply, err);
           }
  
           // Now get the bytes
           returnSchemaData = reply.getRemaining();
  
           if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) SibTr.bytes(this, tc, returnSchemaData);
        }
        finally
        {
           if (reply != null) reply.release();
        }
  
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(this, tc, "requestMFPSchemata", returnSchemaData);
        return returnSchemaData;
     }
docs: Used to synchronously request an MFP schema from the server. This code will block until the
  server replies with the requested data.
  
  @param schemaData The data used to request the schema.
  
  @return Returns the data