Use o Serviço Web SOAP Genérico WebCenter Content para Fazer Upload de um Arquivo ZIP do Carregador de Dados do HCM
O servidor do Oracle WebCenter Content expõe uma interface de web service SOAP (GenericSoapPort
) que você pode usar para fazer upload de arquivos.
Chamar o Web Service SOAP Genérico WebCenter Content com Conteúdo em Linha
Você pode enviar conteúdo em linha com suas chamadas de serviço Web GenericSoapPort
.
Obtenha o arquivo WSDL do serviço Web no seguinte local:
https://{host}/idcws/GenericSoapPort?wsdl
O host é o URL do Oracle Fusion Cloud Applications.
O corpo da solicitação inclui os seguintes parâmetros:
Parâmetro | Significado | Comentário para o Carregador de Dados do HCM |
---|---|---|
IdcService |
O serviço a ser chamado. |
|
dDocName |
O ID do Conteúdo do item de conteúdo. |
Valor transmitido para |
dDocAuthor |
O autor do item de conteúdo (colaborador). |
|
dDocTitle |
O título do item de conteúdo. |
O título do arquivo como ele aparece na IU de Importação/Exportação |
dDocType |
O tipo de item de conteúdo. |
Documento |
dSecurityGroup |
O grupo de segurança, como |
|
dDocAccount |
A conta do item de conteúdo. Esse valor somente será necessário se as contas estiverem ativadas. |
|
primaryFile |
O caminho absoluto para o local do arquivo como visto do servidor. |
O valor dDocName
faz parte da resposta e representa o ID do conteúdo a ser usado para processamento adicional do Carregador de Dados do HCM.
Opcionalmente, você pode usar um envelope ao enviar a solicitação, por exemplo:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ucm="http://www.oracle.com/UCM" xmlns:wsse="http://schemas.xmlsoap.org/ws/2003/06/secext">
<soapenv:Header />
<soapenv:Body>
<ucm:GenericRequest webKey="cs">
<ucm:Service IdcService="CHECKIN_UNIVERSAL">
<ucm:User />
<ucm:Document>
<ucm:Field name="dDocTitle">Department Load File</ucm:Field>
<ucm:Field name="dDocType">Document</ucm:Field>
<ucm:Field name="dDocAuthor">YOUR_HCM_USER_NAME</ucm:Field>
<ucm:Field name="dSecurityGroup">FAFusionImportExport</ucm:Field>
<ucm:Field name="dDocAccount">hcm$/dataloader$/import$</ucm:Field>
<ucm:Field name="primaryFile">YourZipFile.zip</ucm:Field>
<ucm:File href="YourZipFile.zip" name="primaryFile">
<ucm:Contents>hQEMA+8YN513c6VEAQf9EstURU0V2erP9hNIP34P6cvwdi2G8hmtTY4dj+jpjSBiBwF28SzOGO5Q T/S6LDM1lAd9fHDFO4CFTEUkiMiAfa4jCpkh2kjvrV05GYiy9rlYGbgjRa38t0Boj0G8dkZia4kw lD5zloegTb4k9dp2ZXtAkJjVPTlmaVs7wPjqHJOk1Dtj+zUL/Dvq/X+rcmBtnvZ6+gX1r/PSBYsI ANiUK36pUac916p1wrYbePtmLs9rLB8dZTIdKE3pbi3aIKECnqnfXN3Rx8BT3afI2kWA9xEsEBwL XSgD4EUlYY2lWKM0wQrSCIfz1jit4zK+vs1Jp3zP3kSFfMH9h5b70ATYCNLpAXTmolmJxhvg9nPN RbgWGM0jWuVE7tXEVL66s2XJuV6HCyJ+3QDTSS/hEzUorpbaH7gOPdd2d9uIJayseWmgkCLhpgNM Ml4dGGDEL7ISZNKbu39MWvptFC5wrFX/VyB0E3kZF3xJ9dHz5UzVN3hiji6/ZLnUKRI+mpY41gEQ BdLm/WehWRLkF9yWhdkKOK1imBa+oLCeZg2YcCPNVqMaf42atoix9kSR+PCdB46SGnyQ2kvx0z9V t+4A/70psaMEOgPmUciQ/CNoC3vPdDs/G+p8Run/9MHoZoW5o2KpGC1M4j593BulKnfE7JZdYopG b1MS9Vrd6e4Oj3ZD7ISyrf8gEsEhvRu4se0CnAA8W2Fj2u88TOBn/rX+9NMffGwwO040a00N4upV 70xY0I0mvMzPKh4u4kHHQLaV7+fChTHIRCXFjvN2ziyGdSCYxiZ9tfhms39jPp2LxJKPnsV5GgC8 XSqpzxipYjbZjpqvKAu0k9VhIF4vHlGjTbzZuhz/CETs5Aj2LXvJksIBpDq6whUK7/LKR3hmfKXi e4xng6B4TwSEvhvRDY0+V2np1RMxzlqW0W3XNpKYqkS2kjO7vQM65CBAqeQjYAW9p1tE1k1S5G2N 1whW46eYIQvN68SzkCQIsafzoAtgKKYClEwJuxGE004i6AluJ0keWx+ZzXohyIxx8eTiw7vp5PIS tm2WTriBJ/x0gMB9CWfdymOFK9Mf</ucm:Contents>
</ucm:File>
</ucm:Document>
</ucm:Service>
</ucm:GenericRequest>
</soapenv:Body>
</soapenv:Envelope>
No entanto, como os arquivos do Carregador de Dados do HCM geralmente são grandes, é recomendável chamar o web service usando o Mecanismo de Otimização de Transmissão de Mensagens (MTOM) com o Pacote Otimizado binário XML (XOP). O exemplo de solicitação a seguir mostra um payload de solicitação que faz upload de um arquivo ZIP do Carregador de Dados do HCM com MTOM/XOP:
POST http://{host}/idcws/GenericSoapPort HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: multipart/related; type="application/xop+xml"; start="<rootpart@example.com>"; start-info="text/xml"; boundary="----=_Part_7_163289738.1476693003095"
SOAPAction: "urn:GenericSoap/GenericSoapOperation"
Authorization: Basic YOUR_AUTHORIZATION_TOKEN
MIME-Version: 1.0
Content-Length: 4030385
Host: {host} User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
Connection: close
------=_Part_7_163289738.1476693003095
Content-Type: application/xop+xml; charset=UTF-8; type="text/xml"
Content-Transfer-Encoding: 8bit
Content-ID:<rootpart@example.com>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ucm="http://www.oracle.com/UCM" xmlns:wsse="http://schemas.xmlsoap.org/ws/2003/06/secext">
<soapenv:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:UsernameToken wsu:Id="UsernameToken-12345">
<wsse:Username>YOUR_HCM_USER_NAME</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">YOUR_HCM_ACCOUNT_PASSWORD</wsse:Password>
<wsse:Nonce EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">ckNXKVpwBU01PD2ENXg5nw==</wsse:Nonce>
<wsu:Created>2018-07-01T08:30:03.094Z</wsu:Created>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
<soapenv:Body>
<ucm:GenericRequest webKey="cs">
<ucm:Service IdcService="CHECKIN_UNIVERSAL">
<ucm:User/>
<ucm:Document>
<ucm:Field name="dDocTitle">Department Load File</ucm:Field>
<ucm:Field name="dDocType">Document</ucm:Field>
<ucm:Field name="dDocAuthor">HCM_IMPL</ucm:Field>
<ucm:Field name="dSecurityGroup">FAFusionImportExport</ucm:Field>
<ucm:Field name="dDocAccount">hcm$/dataloader$/import$</ucm:Field>
<ucm:Field name="primaryFile">YourZipFile.zip</ucm:Field>
<ucm:File href="YourZipFile.zip" name="primaryFile">
<ucm:Contents>
<inc:Include href="cid:YourZipFile.zip" xmlns:inc="http://www.w3.org/2004/08/xop/include" />
</ucm:Contents>
</ucm:File>
</ucm:Document>
</ucm:Service>
</ucm:GenericRequest>
</soapenv:Body>
</soapenv:Envelope>
------=_Part_7_163289738.1476693003095
Content-Type: application/zip; name=YourZipFile.zip
Content-Transfer-Encoding: binary
Content-ID:<YourZipFile.zip>
Content-Disposition: attachment; name="YourZipFile.zip"; filename="YourZipFile.zip"
<<< binary content ommitted for brevity>>>
------=_Part_7_163289738.1476693003095--
Sobre a Ferramenta de Upload do Utilitário de Transferência de Documentos WebCenter Content
Você pode usar o Utilitário de Transferência de Documentos WebCenter Content de forma programática para fazer upload de arquivos ZIP para o servidor WebCenter Content.
O oracle.ucm.idcws.client.UploadTool
incluído no oracle.ucm.fa_genericclient_11.1.1.jar
é o utilitário de transferência baseado em SOAP genérico preferencial. Ele exige as bibliotecas de suporte do serviço Web Oracle JRF e usa JAX/WS por HTTPS para se comunicar com o servidor WebCenter Content. O oracle.ucm.idcws.client.UploadTool
é usado para fazer upload de um arquivo para o Conteúdo WebCenter que é transmitido de um arquivo local.
O utilitário de transferência baseado em SOAP genérico acessa o servidor WebCenter Content por meio de seu web service GenericSoapPort
(/idcws/GenericSoapPort
) e exige que o cliente especifique uma política de cliente de segurança adequada do Oracle Web Services Manager baseada em UsernameToken.
Sobre os Requisitos do Java Runtime Environment
O Oracle Java 6 SE release 1.6.0_20 é a versão mais antiga do Oracle Java Runtime Environment que foi testada com sucesso com as ferramentas do Utilitário de Transferência de Documentos WebCenter Content. A Oracle recomenda que você use a versão mais recente do Java 6 SE ou do Java 7 SE para garantir que você tenha as correções de erros e as atualizações de segurança mais recentes aplicadas.
Sobre os Parâmetros da Ferramenta de Upload
Ao chamar o oracle.ucm.idcws.client.UploadTool
, você deve fornecer os seguintes parâmetros:
-
url: O local do serviço Web
GenericSoapPort
do servidor WebCenter Content, por exemplo:https://<Your_Oracle_WebCenter_Content_Server_URL>/idcws/GenericSoapPort
-
política: A política do cliente de segurança do Oracle Web Services Manager baseada em UsernameToken adequada que corresponde à política de serviço configurada do servidor, como as políticas
oracle/wss_username_token_over_ssl_client_policy
ouoracle/wss_username_token_client_policy
. -
nome de usuário: seu nome de usuário do Oracle Cloud HCM.
-
senha: sua senha do Oracle Cloud HCM.
-
primaryFile: O caminho totalmente qualificado de um arquivo local para upload.
-
dDocAccount: A conta de segurança de destino.
-
dDocTitle: O título do documento.
-
dDocName: Use esse parâmetro se quiser criar uma versão de um arquivo existente, fornecendo o valor
dDocName
do arquivo. -
checkout: Execute a finalização primeiro, se estiver adicionando uma nova revisão. Os valores desse parâmetro podem ser
true
oufalse
(padrão).
Você também pode informar alguns parâmetros opcionais para casos de uso de depuração ou chamada silenciosa:
-
versão: para imprimir a revisão e a versão do
UploadTool
. -
ping: Para executar um teste
PING_SERVER
para validar o URL de conexão e as credenciais. -
verboso: Para configurar uma saída detalhada para registrar binders de dados de solicitação e resposta completos.
-
quiet: Para configurar a saída de log mínima.
-
silencioso: Para desativar mensagens de log.
-
log_file_name: Para enviar as informações de log para um arquivo externo diferente de
System.out
. - log_file_append: Para configurar se o log é anexado versus substituído.