public String buildSigProfile( boolean isSignRequest ) throws ServiceException {
		Report.trace( "bezzotechcosign", "Entering buildSigProfile, passed in parameters:" +
				"\n\tisSignRequest: " + isSignRequest + "\n\tbinder: ", null );
		m_doc = m_xmlutil.getNewDocument();
		m_doc_root = m_doc.createElement( "request" );
		m_doc.appendChild( m_doc_root );
		if( m_binder.getLocal( "dWorkflowState" ) != "" ) {
			m_binder.putLocal( m_appName + ".SigField.enforceFieldToSign", "true" );
			m_binder.putLocal( m_appName + ".RejectReasons.fields", "rejectReason" );
			m_binder.putLocal( m_appName + ".RejectReasons.rejectReason", "None" );
			m_doc_root.appendChild( m_xmlutil.appendChildrenFromLocal( m_appName, m_doc, "RejectReasons" ) );
		}
		if( !Boolean.parseBoolean( m_binder.getLocal( m_appName + ".Logic.allowAdHoc" ) ) ) {
			m_doc_root.appendChild( m_xmlutil.appendChildrenFromLocal( m_appName, m_doc, "SigField" ) );
//			prepareAdHocSigProfileValues();
		}
		else {
			m_doc_root.appendChild( buildSigProfilesElement() );
		}
		if( isSignRequest )
			m_doc_root.appendChild( m_xmlutil.appendChildrenFromLocal( m_appName, m_doc, "Document" ) );
		m_doc_root.appendChild( m_xmlutil.appendChildrenFromLocal( m_appName, m_doc, "SignReasons" ) );
		m_doc_root.appendChild( m_xmlutil.appendChildrenFromLocal( m_appName, m_doc, "Logic" ) );
		if( !isSignRequest )
			m_doc_root.appendChild(
					m_xmlutil.appendChildrenFromEnvironmental( m_appName, m_doc, "Logic", true ) );
		m_doc_root.appendChild(
				m_xmlutil.appendChildrenFromEnvironmental( m_appName, m_doc, "Url", false ) );
		m_doc_root.appendChild( buildAuthElement() );
		return m_xmlutil.getStringFromDocument( m_doc );
	}