点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我正在尝试使用REST服务将PD...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我正在尝试使用REST服务将PD...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我正在尝试使用REST服务将PDF文件发送到共享点,并且我正在使用以下方法,但是由于共享点服务器未处于预安装状态,而共享点服务器位于Office 365云中,因此无法正常工作。
我找到了SAP之类的文章到SharePoint(使用PI),但是我想使用ABAP上传PDF文件,那么我们是否可以使用REST服务将PDF文件发送到Sharepoint(办公室365云)?
呼叫方法CL_HTTP_CLIENT => CREATE_BY_URLEXPORTING
URL =' https:// companyname 。 sharepoint.com/teams/SharePoint/Invoice/Forms/AllItems.aspx
'" URLIMPORTINGCLIENT = LO_CLIENT" HTTP客户端抽象EXCEPTIONS
ARGUMENT_NOT_FOUND = 1
PLUGIN_NOT_ACTIVE = 2
INTERNAL_ERROR = 3OTHERS = 4.data:部分类型引用到if_http_entity。
IF SY-SUBRC NE 0 消息ID SY-MSGID类型SY-MSGTY编号SY-MSGNOWITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4INTO CV_ERROR_MSG。
CV_ERROR_OCCURRED ='X'.RETURN.ENDIF。
PROXY_AUTHENTICATION ='X'"代理登录(='X')* CLIENT =" R/3系统,登录时的客户端编号
USERNAME = WF_VAR1" ABAP系统,用户登录名称
PASSWORD = WF_VAR2" 登录ID * LANGUAGE =" SAP系统,当前语言)。
LO_CLIENT-> REQUEST-> SET_METHOD('POST')。
part = lo_client-> request-> if_http_entity 〜add_multipart()。
呼叫方法part-> set_header_fieldEXPORTING
name ='content-disposition'value ='form-data; name =" file"; filename =" dotguide.pdf "'。
调用方法部分-> set_co ntent_typeEXPORTING
content_type ='application/pdf'。
呼叫方法part-> set_header_fieldEXPORTING
name ='Content-Transfer-Encoding'value ='binary'。
清除LV_REQUEST_URI。
> LV_REQUEST_URL =' https://公司名称。 sharepoint.com/teams/SharePoint/Invoice/Forms/AllItems 。
LV_LEN = STRLEN(LV_REQUEST_URL)。
呼叫方法LO_CLIENT-> REQUEST-> SET_CDATAEXPORTINGDATA = LV_REQUEST_URL
OFFSET = 0
LENGTH = LV_LEN。
*发送HTTP请求呼叫方法LO_CLIENT -> SENDEXPORTING
超时= 600例外情况
HTTP_COMMUNICATION_FAILURE = 1
HTTP_INVALID_STATE = 2
HTTP_PROCESSING_FAILED = 3OTHERS = 4.如果SY-SUBRC NE 0.
LO_CLIENT-> GET_LAST_ERROR(导入消息)= 。
CV_ERROR_OCCURRED ='X'.RETURN.ENDIF。
* HTTP呼叫接收
LO_CLIENT-> RECEIVE(EXCEPTIONS OTHERS = 1)。如果SY-SUBRC NE 0.
LO_CLIENT-> GET_LAST_ERROR( 导入消息= CV_ERROR_MSG)。
CV_ERROR_OCCURRED ='X'.RETURN.ENDIF。
*获取响应的状态呼叫方法LO_CLIENT-> RESPONSE-> GET_STATUSIMPORTINGCODE = CV_STATUS
原因= CV_ERROR_MSG **。 *读取ResponseCALL方法LO_CLIENT-> RESPONSE-> GET_CDATA(接收数据= RESPONSE)。
*实例化REST客户端创建对象LO_REST_CLIENTEXPORTING
IO_HTTP_CLIENT = LO_CLIEN T.
*获取响应数据
LO_RESPONSE = LO_REST_CLIENT-> IF_REST_CLIENT〜GET_RESPONSE_ENTITY()。
*获取字符串数据
RESPONSE = LO_RESPONSE-> GET_STRING_DATA()。
调用函数'SCMS_STRING_TO_XSTRING'EXPORTINGTEXT =响应"变量类型stringIMPORTINGBUFFER = XSTR。"变量类型xstring
调用函数SPORTUTIL_CONVER
XDOC = XSTRIMPORTING
ERROR_TEXT = LD_ERROR_TEXTDATA = LD_DATA。 " SRTUTIL_CONVERT_XML_TO_TABLE
您好 Jay Dalwadi
请查看下面的代码。
请注意,我在调用分配了SharePoint API密钥的SharePoint API,而不是可供用户使用的SharePoint页面。 您可能需要与SharePoint管理员联系以获取API访问和密钥。
问候,
Mateusz
一周热门 更多>