Sharepoint & PHP
来源:互联网 发布:seo属于什么专业 编辑:程序博客网 时间:2024/06/06 07:26
Sharepoint & PHP
I was interested in integrating PHP and SharePoint services, and using Microsoft Word 2003 (Or other MS Office Products) to upload documents directly to PHP, here are some of my observations.
There are two processes winword.exe itself pyshically POST’s the word document on the server, another process called dssm.exe (Microsoft Office Document Update Utility), which manages updates.
Analyzing the http protocol, whilst utilizing shared workspaces in Microsoft Word 2003 initialially authenticates via NTLM and the following protocols are listed in OPTIONS: [GET, POST, OPTIONS, HEAD, MKCOL, PUT, PROPFIND, PROPPATCH, DELETE, MOVE, COPY, GETLIB, LOCK, UNLOCK]; Which means Apache would have to be configured to accept some of the protocols.
Once authenticated the following occurs:
WinWord.exe Upload to SharePoint
WinWord.exe Update to SharePoint
Some example requests.
POST
POST /SharePoint%20Services(1)/_vti_bin/_vti_aut/author.dll HTTP/1.1Accept: auth/sicilyContent-Length: 20207Content-Type: application/x-vermeer-urlencodedX-Vermeer-Content-Type: application/x-vermeer-urlencodedConnection: Keep-Alivemethod=put+document%3a6%2e0%2e2%2e6356&service%5fname=%2fSharePoint+Services%281%29&document=%5bdocument%5fname%3dShared+Documents%2fSharePoint+Services%2edoc%3bmeta%5finfo%3d%5b%5d%5d&put%5foption=edit&comment=&keep%5fchecked%5fout=falsemethod=put+document:6.0.2.6356&service_name=/SharePoint+Services(1)&document=%5Bdocument_name=Shared+Documents/SharePoint+Services.doc;meta_info=%5B%5D%5D&put_option=edit&comment=&keep_checked_out=false
Response
HTTP/1.1 200 OKConnection: closeDate: Tue, 08 Nov 2005 21:26:55 GMTServer: Microsoft-IIS/6.0X-Powered-By: ASP.NETMicrosoftSharePointTeamServices: 6.0.2.6411Content-type: application/x-vermeer-rpc<html><head><title>vermeer RPC packet</title></head><body><p>method=put document:6.0.2.6356<p>message=successfully put document 'Shared Documents/SharePoint Services.doc' as 'Shared Documents/SharePoint Services.doc'<p>document=<ul><li>document_name=Shared Documents/SharePoint Services.doc<li>meta_info=<ul><li>vti_approvallevel<li>SR|<li>vti_categories<li>VW|<li>vti_filesize<li>IR|19968<li>vti_assignedto<li>SR|<li>Checked by<li>SW|Andrew M. Johnstone<li>Department<li>SW|Development<li>vti_modifiedby<li>SR|C22586_40180/administrator<li>vti_timecreated<li>TR|08 Nov 2005 21:26:56 -0000<li>vti_title<li>SR|SharePoint Services<li>vti_timelastmodified<li>TR|08 Nov 2005 21:26:56 -0000<li>_SharedFileIndex<li>SW|0000020000000000{54AD31DF-B8AF-4070-A579-F3A63D6C202F}http://sharepoint.hostelhost.com/SharePoint Services(1)/Shared Documents/SharePoint Services.doc<li>vti_author<li>SR|C22586_40180/administrator<li>vti_sourcecontrolversion<li>SR|V1<li>vti_sourcecontrolcookie<li>SR|fp_internal</ul></ul></body></html>
POST
POST /SharePoint%20Services(1)/_vti_bin/dws.asmx HTTP/1.1Content-Type: text/xml; charset=utf-8SOAPAction: http://schemas.microsoft.com/sharepoint/soap/dws/GetDwsMetaDataX-Office-Version: 11.0.6408User-Agent: Microsoft Office/11.0 (Windows NT 5.1; Microsoft Office Word 11.0.6408; Pro)Host: sharepoint.hostelhost.comContent-Length: 363Connection: Keep-AliveCache-Control: no-cacheCookie: HELM=Username=&Interface=standard%5FXP&ThemeColour=XP&NonSecureReturnURL=&Password=&LanguageCode=ENAuthorization: NTLM <?xml version='1.0' ?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Body> <GetDwsMetaData xmlns="http://schemas.microsoft.com/sharepoint/soap/dws/"> <document>http://sharepoint.hostelhost.com/SharePoint%20Services(1)/Shared%20Documents/SharePoint%20Services.doc</document> <id></id> <minimal>false</minimal> </GetDwsMetaData> </s:Body></s:Envelope>
Response
HTTP/1.1 200 OKDate: Tue, 08 Nov 2005 21:26:59 GMTServer: Microsoft-IIS/6.0X-Powered-By: ASP.NETMicrosoftSharePointTeamServices: 6.0.2.6411X-AspNet-Version: 1.1.4322Cache-Control: private, max-age=0Content-Type: text/xml; charset=utf-8Content-Length: 6367<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <GetDwsMetaDataResponse xmlns="http://schemas.microsoft.com/sharepoint/soap/dws/"> <GetDwsMetaDataResult> <Results> <SubscribeUrl>http://sharepoint.hostelhost.com/SharePoint Services(1)/_layouts/1033/SubNew.aspx</SubscribeUrl> <MtgInstance /> <SettingUrl>http://sharepoint.hostelhost.com/SharePoint Services(1)/_layouts/1033/settings.aspx</SettingUrl> <PermsUrl>http://sharepoint.hostelhost.com/SharePoint Services(1)/_layouts/1033/EditPrms.aspx</PermsUrl> <UserInfoUrl>http://sharepoint.hostelhost.com/SharePoint Services(1)/_layouts/1033/UserEdit.aspx</UserInfoUrl> <Roles> <Role Name="Reader" Type="Reader" Description="Has read-only access to the Web site." /> <Role Name="Contributor" Type="Contributor" Description="Can add content to existing document libraries and lists." /> <Role Name="Web Designer" Type="WebDesigner" Description="Can create lists and document libraries and customize pages in the Web site." /> <Role Name="Administrator" Type="Administrator" Description="Has full control of the Web site." /> </Roles> <Schema Name="Tasks"> <Field Name="Title" Type="Text" Required="True"><Choices /></Field> <Field Name="Attachments" Type="Attachments" Required="False"><Choices /></Field> <Field Name="Order" Type="Number" Required="False"><Choices /></Field> <Field Name="Priority" Type="Choice" Required="False"><Choices><Choice>(1) High</Choice><Choice>(2) Normal</Choice><Choice>(3) Low</Choice></Choices></Field> <Field Name="Status" Type="Choice" Required="False"><Choices><Choice>Not Started</Choice><Choice>In Progress</Choice><Choice>Completed</Choice><Choice>Deferred</Choice><Choice>Waiting on someone else</Choice></Choices></Field> <Field Name="PercentComplete" Type="Number" Required="False"><Choices /></Field> <Field Name="AssignedTo" Type="User" Required="False"><Choices /></Field> <Field Name="Body" Type="Note" Required="False"><Choices /></Field> <Field Name="StartDate" Type="DateTime" Required="False"><Choices /></Field> <Field Name="DueDate" Type="DateTime" Required="False"><Choices /></Field> </Schema> <Schema Name="Documents" Url="Shared Documents"> <Field Name="FileLeafRef" Type="Invalid" Required="True"><Choices /></Field> <Field Name="_SourceUrl" Type="Text" Required="False"><Choices /></Field> <Field Name="_SharedFileIndex" Type="Text" Required="False"><Choices /></Field> <Field Name="Order" Type="Number" Required="False"><Choices /></Field> <Field Name="Title" Type="Text" Required="False"><Choices /></Field> </Schema> <Schema Name="Links"> <Field Name="Attachments" Type="Attachments" Required="False"><Choices /></Field> <Field Name="Order" Type="Number" Required="False"><Choices /></Field> <Field Name="URL" Type="URL" Required="True"><Choices /></Field> <Field Name="Comments" Type="Note" Required="False"><Choices /></Field> </Schema> <ListInfo Name="Tasks"> <Moderated>False</Moderated> <ListPermissions> <InsertListItems /> <EditListItems /> <DeleteListItems /> <ManageLists /> </ListPermissions> </ListInfo> <ListInfo Name="Documents"> <Moderated>False</Moderated> <ListPermissions> <InsertListItems /> <EditListItems /> <DeleteListItems /> <ManageLists /> </ListPermissions> </ListInfo> <ListInfo Name="Links"> <Moderated>False</Moderated> <ListPermissions> <InsertListItems /><EditListItems /><DeleteListItems /><ManageLists /></ListPermissions> </ListInfo> <Permissions> <ManageSubwebs /><ManageWeb /><ManageRoles /><ManageLists /> <InsertListItems /><EditListItems /><DeleteListItems /> </Permissions> <HasUniquePerm>True</HasUniquePerm> <WorkspaceType>DWS</WorkspaceType> <IsADMode>False</IsADMode> <DocUrl>http://sharepoint.hostelhost.com/SharePoint%20Services(1)/Shared%20Documents/SharePoint%20Services.doc</DocUrl> <Minimal>False</Minimal> <Results> <Title>SharePoint Services</Title> <LastUpdate>632670820194565000</LastUpdate> <User> <ID>1</ID> <Name>C22586_40180administrator</Name> <LoginName>C22586_40180administrator</LoginName> <Email>andrew@ajohnstone.com</Email> <IsDomainGroup>False</IsDomainGroup> <IsSiteAdmin>True</IsSiteAdmin> </User> <Members> <Member> <ID>1</ID> <Name>C22586_40180administrator</Name> <LoginName>C22586_40180administrator</LoginName> <Email>andrew@ajohnstone.com</Email> <IsDomainGroup>False</IsDomainGroup> </Member> </Members> <Assignees> <Member> <ID>1</ID> <Name>C22586_40180administrator</Name> <LoginName>C22586_40180administrator</LoginName> </Member> </Assignees> <List Name="Tasks"> <ID>{A9D58464-55C3-477F-A18E-B18A75732A9F}</ID> </List> <List Name="Documents"> <ID>{E133F72B-8ECB-436B-8916-CD331678AC75}</ID> <z:row ows_FileRef="Shared Documents/SharePoint Services.doc" ows_Title="SharePoint Services" ows_FSObjType="0" ows_Created="2005-11-08T21:26:55Z" ows_Author="1;#C22586_40180administrator" ows_Modified="2005-11-08T21:26:55Z" ows_Editor="1;#C22586_40180administrator" ows_ID="1" ows_ProgID="" xmlns:z="#RowsetSchema" /> </List> <List Name="Links"><ID>{51BF4716-E5B7-4C0D-A6AE-93EF0645FF38}</ID></List> </Results> </Results> </GetDwsMetaDataResult> </GetDwsMetaDataResponse> </soap:Body></soap:Envelope>
本文摘自:http://ajohnstone.com/archives/sharepoint-php/
- Sharepoint & PHP
- SharePoint
- SharePoint
- SharePoint
- sharepoint
- sharepoint
- Sharepoint
- Sharepoint
- sharepoint
- SharePoint
- [SharePoint]SharePoint 部分缺点
- Sharepoint资源
- SharePoint技术资料
- SharePoint 是什么?
- SharePoint技术资料
- 竞争SharePoint
- sharepoint是什么?
- sharepoint入门。
- python模块之ConfigParser: 用python解析配置文件
- Go语言 簡介
- 随机保存图片---记录你的状态----java robot test
- Simple语言 簡介
- 从系统Demo中改的一个 托盘图标带窗体的系统服务程序
- Sharepoint & PHP
- Java 获得当前时间以前的时间
- apache+php5.3配置
- ASP.NET profile之 找不到存储过程'dbo.aspnet_CheckSchemaVersion'
- 多线程加载数据显示进度窗体的例子
- Joomla!中如何使用switcher.js实现一个位置上div层的切换显示 【转】
- DVB升级文本
- 与一名写了10万行代码本科生的交流
- C#生成条码图片,并用条码打印机打印