Java API를 사용하여 Forms 서비스에 문서 전달
Forms 서비스 및 콘텐츠 서비스(더 이상 사용되지 않음) API(Java)를 사용하여 콘텐츠 서비스(더 이상 사용되지 않음)에서 가져온 문서를 전달합니다.
-
프로젝트 파일 포함
Java 프로젝트의 클래스 경로에 adobe-forms-client.jar 및 adobe-contentservices-client.jar과 같은 클라이언트 JAR 파일을 포함합니다.
-
Forms 및 Document Management 클라이언트 API 개체 만들기
- 연결 속성을 포함하는
ServiceClientFactory
개체를 만듭니다. (연결 속성 설정을 참조하세요.) - 생성자를 사용하고
ServiceClientFactory
개체를 전달하여FormsServiceClient
개체를 만듭니다. - 생성자를 사용하고
ServiceClientFactory
개체를 전달하여DocumentManagementServiceClientImpl
개체를 만듭니다.
- 연결 속성을 포함하는
-
컨텐츠 서비스에서 양식 디자인 검색(더 이상 사용되지 않음)
DocumentManagementServiceClientImpl
개체의retrieveContent
메서드를 호출하고 다음 값을 전달하십시오.- 콘텐츠가 추가되는 저장소를 지정하는 문자열 값입니다. 기본 저장소는
SpacesStore
입니다. 이 값은 필수 매개 변수입니다. - 검색할 콘텐츠의 정규화된 경로를 지정하는 문자열 값(예:
/Company Home/Form Designs/Loan.xdp
). 이 값은 필수 매개 변수입니다. - 버전을 지정하는 문자열 값입니다. 이 값은 선택적 매개 변수이며 빈 문자열을 전달할 수 있습니다. 이 경우 최신 버전이 검색됩니다.
retrieveContent
메서드가 XDP 파일이 포함된CRCResult
개체를 반환합니다.CRCResult
개체의getDocument
메서드를 호출하여com.adobe.idp.Document
인스턴스를 가져옵니다. - 콘텐츠가 추가되는 저장소를 지정하는 문자열 값입니다. 기본 저장소는
-
대화형 PDF 양식 렌더링
FormsServiceClient
개체의renderPDFForm2
메서드를 호출하고 다음 값을 전달하십시오.- Content Services에서 검색된 양식 디자인이 포함된
com.adobe.idp.Document
개체입니다(더 이상 사용되지 않음). - 양식과 병합할 데이터가 포함된
com.adobe.idp.Document
개체입니다. 데이터를 병합하지 않으려면 빈com.adobe.idp.Document
개체를 전달하십시오. - 런타임 옵션을 저장하는
PDFFormRenderSpec
개체입니다. 이 값은 선택적 매개 변수이며 런타임 옵션을 지정하지 않으려면null
을(를) 지정할 수 있습니다. - URI 값이 포함된
URLSpec
개체입니다. 이 값은 선택적 매개 변수이며null
을(를) 지정할 수 있습니다. - 첨부 파일을 저장하는
java.util.HashMap
개체입니다. 이 값은 선택적 매개 변수이며, 양식에 파일을 첨부하지 않으려면null
을(를) 지정할 수 있습니다.
renderPDFForm
메서드는 클라이언트 웹 브라우저에 작성해야 하는 양식 데이터 스트림이 포함된FormsResult
개체를 반환합니다. - Content Services에서 검색된 양식 디자인이 포함된
-
양식 데이터 스트림으로 작업 수행
FormsResult
개체 'sgetOutputContent
메서드를 호출하여com.adobe.idp.Document
개체를 만듭니다.- 해당
getContentType
메서드를 호출하여com.adobe.idp.Document
개체의 콘텐츠 형식을 가져옵니다. setContentType
메서드를 호출하고com.adobe.idp.Document
개체의 콘텐츠 형식을 전달하여javax.servlet.http.HttpServletResponse
개체의 콘텐츠 형식을 설정하십시오.javax.servlet.http.HttpServletResponse
개체의getOutputStream
메서드를 호출하여 양식 데이터 스트림을 클라이언트 웹 브라우저에 쓰는 데 사용되는javax.servlet.ServletOutputStream
개체를 만듭니다.com.adobe.idp.Document
개체의getInputStream
메서드를 호출하여java.io.InputStream
개체를 만듭니다.InputStream
개체의read
메서드를 호출하여 바이트 배열을 만들고 양식 데이터 스트림으로 채웁니다. 바이트 배열을 인수로 전달합니다.javax.servlet.ServletOutputStream
개체의write
메서드를 호출하여 양식 데이터 스트림을 클라이언트 웹 브라우저로 보냅니다. 바이트 배열을write
메서드에 전달합니다.
웹 서비스 API를 사용하여 Forms 서비스에 문서 전달
Forms 서비스 및 Content Services(더 이상 사용되지 않음) API(웹 서비스)를 사용하여 Content Services(더 이상 사용되지 않음)에서 가져온 문서를 전달합니다.
-
프로젝트 파일 포함
MTOM을 사용하는 Microsoft .NET 프로젝트를 만듭니다. 이 클라이언트 애플리케이션은 두 개의 AEM Forms 서비스를 호출하므로 두 개의 서비스 참조를 생성합니다. Forms 서비스와 연결된 서비스 참조에 대해
http://localhost:8080/soap/services/FormsService?WSDL&lc_version=9.0.1
WSDL 정의를 사용합니다.문서 관리 서비스와 연결된 서비스 참조에 대해
http://localhost:8080/soap/services/DocumentManagementService?WSDL&lc_version=9.0.1
WSDL 정의를 사용합니다.BLOB
데이터 형식은 두 서비스 참조에 모두 공통적이므로 사용할 때BLOB
데이터 형식을 완전히 정규화합니다. 해당 웹 서비스 빠른 시작에서 모든BLOB
인스턴스가 정규화되었습니다.노트
localhost
을(를) AEM Forms을 호스팅하는 서버의 IP 주소로 바꾸십시오. -
Forms 및 Document Management 클라이언트 API 개체 만들기
-
기본 생성자를 사용하여
FormsServiceClient
개체를 만듭니다. -
System.ServiceModel.EndpointAddress
생성자를 사용하여FormsServiceClient.Endpoint.Address
개체를 만듭니다. WSDL을 지정하는 문자열 값을 AEM Forms 서비스에 전달합니다(예:http://localhost:8080/soap/services/FormsService?WSDL
).lc_version
특성은 사용할 필요가 없습니다. 이 속성은 서비스 참조를 만들 때 사용됩니다.) -
FormsServiceClient.Endpoint.Binding
필드의 값을 가져와System.ServiceModel.BasicHttpBinding
개체를 만듭니다. 반환 값을BasicHttpBinding
(으)로 캐스팅합니다. -
System.ServiceModel.BasicHttpBinding
개체의MessageEncoding
필드를WSMessageEncoding.Mtom
(으)로 설정합니다. 이 값은 MTOM이 사용되도록 합니다. -
다음 작업을 수행하여 기본 HTTP 인증을 활성화합니다.
FormsServiceClient.ClientCredentials.UserName.UserName
필드에 AEM Forms 사용자 이름을 지정하십시오.- 필드
FormsServiceClient.ClientCredentials.UserName.Password
에 해당 암호 값을 지정하십시오. - 상수 값
HttpClientCredentialType.Basic
을(를) 필드BasicHttpBindingSecurity.Transport.ClientCredentialType
에 할당합니다.
-
상수 값
BasicHttpSecurityMode.TransportCredentialOnly
을(를) 필드BasicHttpBindingSecurity.Security.Mode
에 할당합니다.
노트
DocumentManagementServiceClient
서비스 클라이언트에 대해 이 단계를 반복합니다. -
-
컨텐츠 서비스에서 양식 디자인 검색(더 이상 사용되지 않음)
DocumentManagementServiceClient
개체의retrieveContent
메서드를 호출하고 다음 값을 전달하여 콘텐츠를 검색합니다.- 콘텐츠가 추가되는 저장소를 지정하는 문자열 값입니다. 기본 저장소는
SpacesStore
입니다. 이 값은 필수 매개 변수입니다. - 검색할 콘텐츠의 정규화된 경로를 지정하는 문자열 값(예:
/Company Home/Form Designs/Loan.xdp
). 이 값은 필수 매개 변수입니다. - 버전을 지정하는 문자열 값입니다. 이 값은 선택적 매개 변수이며 빈 문자열을 전달할 수 있습니다. 이 경우 최신 버전이 검색됩니다.
- 찾아보기 링크 값을 저장하는 문자열 출력 매개 변수입니다.
- 콘텐츠를 저장하는
BLOB
출력 매개 변수입니다. 이 출력 매개 변수를 사용하여 콘텐츠를 검색할 수 있습니다. - 콘텐츠 특성을 저장하는
ServiceReference1.MyMapOf_xsd_string_To_xsd_anyType
출력 매개 변수입니다. CRCResult
출력 매개 변수입니다. 이 개체를 사용하는 대신BLOB
출력 매개 변수를 사용하여 콘텐츠를 가져올 수 있습니다.
- 콘텐츠가 추가되는 저장소를 지정하는 문자열 값입니다. 기본 저장소는
-
대화형 PDF 양식 렌더링
FormsServiceClient
개체의renderPDFForm2
메서드를 호출하고 다음 값을 전달하십시오.- Content Services에서 검색된 양식 디자인이 포함된
BLOB
개체입니다(더 이상 사용되지 않음). - 양식과 병합할 데이터가 포함된
BLOB
개체입니다. 데이터를 병합하지 않으려면 빈BLOB
개체를 전달하십시오. - 런타임 옵션을 저장하는
PDFFormRenderSpec
개체입니다. 이 값은 선택적 매개 변수이며 런타임 옵션을 지정하지 않으려면null
을(를) 지정할 수 있습니다. - URI 값이 포함된
URLSpec
개체입니다. 이 값은 선택적 매개 변수이며null
을(를) 지정할 수 있습니다. - 첨부 파일을 저장하는
Map
개체입니다. 이 값은 선택적 매개 변수이며, 양식에 파일을 첨부하지 않으려면null
을(를) 지정할 수 있습니다. - 페이지 수를 저장하는 데 사용되는 긴 출력 매개 변수입니다.
- 로케일 값을 저장하는 데 사용되는 문자열 출력 매개 변수입니다.
- 대화형 PDF 양식
.
을(를) 저장하는 데 사용되는FormsResult
출력 매개 변수
renderPDFForm2
메서드가 대화형 PDF 양식을 포함하는FormsResult
개체를 반환합니다. - Content Services에서 검색된 양식 디자인이 포함된
-
양식 데이터 스트림으로 작업 수행
FormsResult
개체의outputContent
필드 값을 가져와서 양식 데이터를 포함하는BLOB
개체를 만듭니다.- 해당 생성자를 호출하여
System.IO.FileStream
개체를 만듭니다. 대화형 PDF 문서의 파일 위치와 파일을 열 모드를 나타내는 문자열 값을 전달합니다. FormsResult
개체에서 검색된BLOB
개체의 내용을 저장하는 바이트 배열을 만듭니다.BLOB
개체의MTOM
데이터 멤버의 값을 가져와서 바이트 배열을 채웁니다.- 해당 생성자를 호출하고
System.IO.FileStream
개체를 전달하여System.IO.BinaryWriter
개체를 만듭니다. System.IO.BinaryWriter
개체의Write
메서드를 호출하고 바이트 배열을 전달하여 바이트 배열의 내용을 PDF 파일에 씁니다.