2009-07-16 28 views
5

Những gì tôi đã Xonghơn 2.007 AddList và AddListFromFeature bị thiếu cột mẫu và nội dung dữ liệu

  • Bên trong SharePoint Tôi tạo ra một danh sách dựa trên mẫu Nhiệm vụ dự án
  • tôi đã xóa hầu hết các cột mặc định, và đã thêm các cột tùy chỉnh mới
  • Tôi đã thêm dữ liệu bằng định dạng mới
  • Sau đó, tôi đã thực hiện "Lưu làm mẫu" và chọn lưu mẫu với nội dung

gì đang làm việc

Bây giờ, khi tôi sử dụng mẫu đó để tạo ra một danh sách mới bên trong của SharePoint nó hoạt động hoàn hảo. Các cột tùy chỉnh có mặt và dữ liệu được điền sẵn như mong đợi.

gì là không làm việc

Tuy nhiên, khi tôi sử dụng AddList hoặc AddListFromFeature phương pháp tạo sẵn bởi các dịch vụ web SharePoint danh sách mới được tạo ra, nhưng nó chỉ đơn giản là dựa tắt của Nhiệm vụ dự án ban đầu mẫu với các cột mặc địnhkhông có dữ liệu!

Những gì tôi đã cố gắng

  • Tôi thử làm theo các gợi ý in the article from Phase 2 để thiết lập một tùy chỉnh mẫu ID, nhưng điều đó chỉ khiến tôi từ việc sử dụng mẫu ở tất cả (không còn được liệt kê khi tôi làm một "Tạo nên").
  • Tôi vẫn đang cố gắng tìm hiểu xem liệu this article applies - có vẻ là vấn đề tương tự nhưng được áp dụng cho Sites thay vì Danh sách.
  • Tôi thấy rằng một người khác là having the same problem khoảng một năm trước.

System Setup

Làm việc với SharePoint 2007 (tôi nghĩ?), Sử dụng PHP với NuSOAP để kết nối. Kết nối chắc chắn hoạt động như tôi đã thêm các mục vào danh sách, danh sách được tạo và đọc dữ liệu.

Mã mẫu

Yêu cầu - chống lại giai đoạn 2 Phương pháp mẫu trên

<?xml version="1.0" encoding="ISO-8859-1"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2034="http://tempuri.org"><SOAP-ENV:Body> 
<AddListFromFeature xmlns="http://schemas.microsoft.com/sharepoint/soap/"> 
    <listName>2Test Milestone Release</listName> 
    <description>Testing this out</description> 
    <featureID>{00BFEA71-513D-4CA0-96C2-6A47775C0119}</featureID> 
    <templateID>151</templateID> 
</AddListFromFeature></SOAP-ENV:Body></SOAP-ENV:Envelope> 

phản hồi - thất bại do templateID không được công nhận

<?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><soap:Fault><faultcode>soap:Server</faultcode><faultstring>Exception of type 'Microsoft.SharePoint.SoapServer.SoapServerException' was thrown.</faultstring><detail><errorstring xmlns="http://schemas.microsoft.com/sharepoint/soap/">Cannot complete this action. 

Please try again.</errorstring><errorcode xmlns="http://schemas.microsoft.com/sharepoint/soap/">0x81072101</errorcode></detail></soap:Fault></soap:Body></soap:Envelope> 

tôi stumped! Vì vậy, nếu bạn có thể giúp đỡ - Tôi sẽ là một người rất hạnh phúc! Cảm ơn trước!

+0

[1]: http://msdn.microsoft.com/en-us/library/lists.lists.addlist.aspx [2]: http://msdn.microsoft.com/en-us/library /lists.lists.addlistfromfeature.aspx [3]: http://www.phase2.com/blog/?p = 89 [4]: ​​http://blogs.msdn.com/harsh/archive/2006/08/04/687984.aspx [5]: http://social.technet.microsoft.com/Forums/ en-US/sharepointdevelopment/thread/9a8da931-ca44-45be-8d4e-e762adcde238 – Joshua

+0

Sắp xếp các liên kết cho bạn. Câu hỏi đầu tiên rất hay: +1. –

+0

Cảm ơn Alex! Bây giờ tôi chỉ cần một số câu trả lời :) – Joshua

Trả lời

1

Tôi sẽ theo dõi lý do bạn không thể tạo danh sách qua giao diện ngay từ đầu, hai cuộc gọi dịch vụ web này dường như không bao gồm thông số quan trọng khi tạo từ mẫu tùy chỉnh, cho phép phân tích truy vấn:

Nhiệm vụ New Project (out of the box)

http://site/_layouts/new.aspx?FeatureId= {00bfea71-513d-4ca0-96c2-6a47775c0119} & ListTemplate = 150

Nhiệm vụ New Project Tuỳ chỉnh (được lưu trong danh sách viện mẫu)

http://site/_layouts/new.aspx? CustomTemplate = PT6.stp & FEATUREID = {00bfea71-513d-4ca0-96c2-6a47775c0119} & ListTemplate = 150

Nhiệm vụ New Project Tuỳ chỉnh (manifest.xml chỉnh sửa để 151)

http://site/_layouts/new.aspx? CustomTemplate = PT6.stp & FEATUREID = {00bfea71-513d-4ca0-96c2-6a47775c0119} & ListTemplate =

Họ tất cả công việc, vì vậy quan điểm của tôi ở đây là các dịch vụ Web là một không không cho tùy chỉnh các mẫu, hoặc nó có một số ma thuật bí mật (phổ biến trong các định nghĩa danh sách) vì chỉ định ListTemplate mà không được rõ ràng CUSTOM sẽ không hoạt động ngay cả trong giao diện người dùng.

Nếu bạn không thể có được xung quanh với giới hạn rõ ràng này, gợi ý của tôi là:

  1. NET, lưu ý rằng có một số this post voodoo trong bình luận đầu tiên nếu bạn xảy ra để có được những lỗi tương tự
  2. Tạo IFRAME với http://site/_layouts/new.aspx? CustomTemplate = PT6.stp & FeatureId = {00bfea71-513d-4ca0-96c2-6a47775c0119} & ListTemplate = 150 dưới dạng nguồn và điền vào các trường bằng cách sử dụng javascript, và sau đó kích hoạt nút OK, thực hiện chuyển tiếp tải trang đầy đủ và thậm chí sẽ tốt.

Phương pháp 2 cần được thực hiện từ cùng một tên miền, nếu bạn không chạy PHP từ cùng một tên miền (không), bạn cần phải tạo một trang bên trong trang SharePoint để chứa hack này, nó có thể đơn giản như một Trang Phần Web với Phần Web Trình soạn thảo Nội dung trong đó, bạn đọc một số tham số chuỗi truy vấn, đặt chúng trên các trường, kích hoạt OK và đợi trang thay đổi để bạn có thể chuyển hướng đến trang "thành công".

Edit: Tôi đã tò mò và nhìn vào nguồn gốc của New.aspx, nó có đoạn này ít (bIsCustomTemplate = strCustomTemplate = null, strCustomTemplate = chuỗi truy vấn "CustomTemplate"!):

Tôi nhìn mã tháo rời nhưng tôi không nghĩ rằng chúng ta có thể đăng nó ở đây, nhưng nó chỉ chứng minh rằng giao diện người dùng xây dựng nó từ một bài đăng (Request.Form) và tìm tham số CustomTemplate và Dịch vụ Web chỉ có những phương thức mà bạn có thể không chỉ định mẫu tùy chỉnh.

Các vấn đề liên quan