네,이 작업을 수행 할 수 있지만 매우 까다 롭습니다.
이론적으로 Lists.asmx 웹 서비스의 "UpdateListItems"메서드를 호출하고 배치 문을 전달할 수 있지만 목록 웹 서비스의 구현으로 인해 InfoPath에서 사용할 수 없습니다. 따라서 UpdateListItems 메서드를 래핑하는 자체 웹 서비스를 작성해야 IP에서 사용할 수 있습니다.
당신이 웹 서비스를 쓰기 (및 SharePoint 내에서 호스트)에 StackOverflow의 검색 기능을 사용하거나 구글을 고려하시기 바랍니다하는 방법을 모르는 경우
- 거기 밖으로 많은 훌륭한 자습서 ;-)
웹을 얻었다되면 서비스 실행, 당신은 http://myserver/_vti_bin/Lists.asmx 웹 서비스에 서비스 참조를 추가 한 후 다음 방법을 만들어야합니다 구성하면 LISTSVC의 URL (이 예에서와 같이) 하드 코딩하는 것이
가
[WebMethod]
public void UpdateListItems(string listGuid, string xmlBatch)
{
var batch = new XmlDocument();
batch.LoadXml(xmlBatch);
//create an instance of the lists proxy client
var listSvc = listService = new ListsWebService.Lists();
//set the url of the client
listService.Url = "http://myserver/_vti_bin/Lists.asmx";
listSvc.UpdateListItems(listGuid, batch);
}
주, 당신은 할 필요가 폴더를 추가하려는 List가 th 이내에 있는지 확인하십시오. e URL과 동일한 사이트.이 방법을 좀 더 일반적인 것으로 만들고 싶다면 (간단히 말해서), SiteCollection Url을 매개 변수로 전달하고 listSvc.Url을 SiteCollectionUrl + "_vti_bin/Lists.asmx"로 설정할 수 있습니다. 이가 설정되면
, 당신은 InfoPath는에서 새로 만든 웹 서비스에 데이터 연결을 생성하고 다음과 같이 구성 할 수 있습니다 :
필드는 "listName는"실제로 목록의 GUID - 당신 "라이브러리 설정"- "정보 관리 정책 설정"을 클릭하여 UI를 통해 가져온 다음 브라우저의 주소 표시 줄에서 복사하십시오. 예 :
{39d01277-4ba1-4589-90f8-c957b4b2dd09}
"XML"필드에는 폴더를 생성하는 배치 스크립트가 들어 있습니다. 정적으로 선언 할 수도 있고, 경우에 따라 concat() 함수를 사용하여 동적으로 작성할 수도 있습니다. 이 예제는 라이브러리의 루트에 "MyFolder"라는 폴더를 만듭니다.
<Batch>
<Method ID='1' Cmd='New'>
<Field Name='ID'>New</Field>
<Field Name='FSObjType'>1</Field>
<Field Name='BaseName'>MyFolder</Field>
</Method>
</Batch>
하위 폴더가 필요한 경우에도 가능합니다. 다음 예제에서는 "MyFolder"폴더 내에 "MySubFolder"라는 폴더를 만듭니다.
<Batch>
<Method ID='1' Cmd='New'>
<Field Name='ID'>New</Field>
<Field Name='FSObjType'>1</Field>
<Field Name='BaseName'>MyFolder/MySubFolder</Field>
</Method>
</Batch>
은 그럼 당신은 단순히 전송 버튼 액션을 추가하고
는 또한 위의 코드 (하지만 어떤 작품) 단지 예입니다 있습니다 :-)하면 완료됩니다.프로덕션 환경에서 프로덕션 환경을 사용할 경우 적절한 예외 로깅을 추가하십시오. :-)
희망이 있습니다.
감사합니다. Andreas! 웹 서비스 아이디어를 살펴 보겠습니다. 나는 개발자가 아니지만 나는 곧 올께. 내가 올 때마다 즉시 게시물을 업데이트 할 것이다. – Melkman
아, 알지 못했다. .... 당신이 좋아하는 것에 이것을 전달하고 싶을 수도있다. 셰어 포인트 dev ;-) – int32
하하, 그래, 그렇게 생각해. 우리 개발자 중 한 명은 애완 동물 프로젝트를 원할 것입니다 :-) 도움을 주셔서 감사합니다! 도움이된다면 – Melkman