使用 WebCenter 内容一般 SOAP Web 服务上载 HCM 数据加载程序 ZIP 文件
Oracle WebCenter Content 服务器公开可用于上载文件的 SOAP Web 服务接口 (GenericSoapPort
)。
使用内嵌内容调用 WebCenter 内容 通用 SOAP Web 服务
您可以随 GenericSoapPort
Web 服务调用一起发送内嵌内容。
从以下位置获取 Web 服务的 WSDL 文件:
https://{host}/idcws/GenericSoapPort?wsdl
主机是 Oracle Fusion Cloud Applications URL。
请求正文包括以下参数:
参数 | 含义 | HCM 数据加载程序的备注 |
---|---|---|
IdcService |
要调用的服务。 |
用于上载文件的 |
dDocName |
内容项的内容 ID。 |
传递给 |
dDocAuthor |
内容项作者(贡献者)。 |
|
dDocTitle |
内容项标题。 |
文件在导入/导出 UI 中显示的标题 |
dDocType |
内容项类型。 |
文档 |
dSecurityGroup |
安全组,例如 |
|
dDocAccount |
内容项的账户。仅当启用了帐户时,此值是必需的。 |
|
primaryFile |
从服务器看到的文件位置的绝对路径。 |
dDocName
值是响应的一部分,表示用于进一步 HCM 数据加载程序处理的内容 ID。
在发送请求时,您可以选择使用信封,例如:
<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>
但是,由于 HCM 数据加载程序文件通常很大,因此建议使用消息传输优化机制 (Message Transmission Optimization Mechanism,MTOM) 和 XML 二进制优化打包 (XOP) 来调用 Web 服务。以下请求示例显示上载具有 MTOM/XOP 的 HCM 数据加载程序 ZIP 文件的请求有效负载:
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--
关于 WebCenter Content 文档传输实用程序上载工具
您可以通过编程方式使用 WebCenter Content 文档传输实用程序将 ZIP 文件上载到 WebCenter Content 服务器。
oracle.ucm.fa_genericclient_11.1.1.jar
中包含的 oracle.ucm.idcws.client.UploadTool
是基于 SOAP 的首选通用传输实用程序。它需要支持库的 Oracle JRF Web 服务并使用基于 HTTPS 的 JAX/WS 与 WebCenter Content 服务器通信。oracle.ucm.idcws.client.UploadTool
用于将文件上载到从本地文件流化的 WebCenter Content 。
基于 SOAP 的通用传输实用程序通过其 GenericSoapPort
Web 服务 (/idcws/GenericSoapPort
访问 WebCenter Content 服务器,并要求客户机指定适当的基于 UsernameToken 的 Oracle Web Services Manager 安全客户机策略。
关于 Java Runtime Environment 要求
Oracle Java 6 SE 发行版 1.6.0_20 是 Oracle Java Runtime Environment 的最早版本,它使用 WebCenter Content 文档传输实用程序工具成功测试。Oracle 建议您使用最新的 Java 6 SE 或 Java 7 SE 发行版,以确保应用了最新的 bug 修复和安全更新。
关于上载工具参数
调用 oracle.ucm.idcws.client.UploadTool
时,必须提供以下参数:
-
url :WebCenter Content 服务器
GenericSoapPort
Web 服务位置,例如:https://<Your_Oracle_WebCenter_Content_Server_URL>/idcws/GenericSoapPort
-
策略:与服务器配置的服务策略(例如
oracle/wss_username_token_over_ssl_client_policy
或oracle/wss_username_token_client_policy
策略)匹配的基于 UsernameToken 的合适 Oracle Web Services Manager 安全客户机策略。 -
username :您的 Oracle Cloud HCM 用户名。
-
密码:您的 Oracle Cloud HCM 密码。
-
primaryFile :要上载的本地文件的全限定路径。
-
dDocAccount :目标安全帐户。
-
dDocTitle :文档标题。
-
dDocName :如果要通过提供文件的
dDocName
值来版本化现有文件,请使用此参数。 -
结账:如果要添加新修订,请先执行结账。此参数的值可以是
true
或false
(默认值)。
还可以传递一些用于调试或无提示调用用例的可选参数:
-
version :打印
UploadTool
修订版和版本。 -
ping :执行
PING_SERVER
测试以验证连接 URL 和身份证明。 -
详细:配置详细输出以记录完整请求和响应数据绑定器。
-
quiet :配置最少的日志输出。
-
silent :禁用日志消息。
-
log_file_name :将日志信息发送到不同于
System.out
的外部文件。 - log_file_append :配置是否附加日志而不覆盖日志。