ನಾನು ಶೇರ್ಪಾಯಿಂಟ್ ಭಾಗವಾಗಿ ಒದಗಿಸಿದ list.asmx ವೆಬ್ ಸೇವೆ ಸುತ್ತ ಇಂದು ಯಾರಾದರೂ ಕೆಲವು ಸಂಶೋಧನೆ ಮಾಡುತ್ತಿದ್ದ 2010 (ಮತ್ತು ಹಿಂದಿನ). ಅವರು ಮೂಲ ಫೋಲ್ಡರ್ ನಲ್ಲಿ ಪಟ್ಟಿ ಐಟಂಗಳನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಾಯಿತು (ಉಪ ಫೋಲ್ಡರ್ಗಳನ್ನು ಹೆಸರುಗಳು ಸೇರಿದಂತೆ), ಆದರೆ ಉಪ ಫೋಲ್ಡರ್ಗಳನ್ನು ಐಟಂಗಳನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ. ನಾನು ಕೆಲವು internets ಮೇಲೆ ಸುತ್ತಲೂ ನೋಡುತ್ತಿದ್ದವು ಮತ್ತು ಅದನ್ನು ಒಂದು ಆಶ್ಚರ್ಯಕರ ಸಾಮಾನ್ಯ ಪ್ರಶ್ನೆ ಇಲ್ಲಿದೆ. ಇನ್ನೂ, ನಾನು ಸರಳ ಪ್ರಶ್ನೆಗೆ ಉತ್ತಮ ಉತ್ತರವನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ, "ನಾನು ಫೋಲ್ಡರ್ ತಿಳಿದಿದ್ದರೆ, ಹೇಗೆ ನಾನು ಫೋಲ್ಡರ್ನಲ್ಲಿ ಐಟಂಗಳನ್ನು ಪಡೆಯಲು ಇಲ್ಲ?" ಪ್ರಾಮಾಣಿಕವಾಗಿ, ನಾನು ಆ ನನ್ನ ಈ ಒಂದು ಲೆಕ್ಕಾಚಾರ ಬಯಸಿದರು ಬಂದಿದೆ ಏಕೆಂದರೆ ನಾನು ಆ ಹಾರ್ಡ್ ಪ್ರಯತ್ನಿಸಿ ಇಲ್ಲ .
ಈ ಹೊಂದಿಸಲು, ನಾನು "ಬ್ಲಾಗಿಂಗ್ ಸಂದರ್ಭಗಳ" ಮತ್ತು "ಉಪ ಫೋಲ್ಡರ್ಗಳು ಕಸ್ಟಮ್ ಪಟ್ಟಿ" ಹೆಸರಿನ ಕಸ್ಟಮ್ ಪಟ್ಟಿಯಲ್ಲಿ ಹೆಸರಿನ ಸೈಟ್ ದಾಖಲಿಸಿದವರು. ನಾನು ಎಂಬ ಫೋಲ್ಡರ್ಗಳನ್ನು ದಾಖಲಿಸಿದವರು:
- ವರ್ಷ 2005
- ವರ್ಷ 2006
- ವರ್ಷ 2007
ನಾನು ಫೋಲ್ಡರ್ "ವರ್ಷದ 2006" ಕೆಲವು ಐಟಂಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ. ಇದು ತೋರುತ್ತಿದೆ ಏನು:
ನನ್ನ ಸ್ನೇಹಿತ C # ಕೋಡ್ ಬರೆಯುವ ಬದಲಿಗೆ ಜಾವಾ ಬಳಸದೇ, ಆದ್ದರಿಂದ SOAP ಹೊದಿಕೆ ಅವರು ನಿಜವಾಗಿಯೂ ಅಗತ್ಯವಿದೆ ಯಾವುದು. ಎಂದು ಪಡೆಯಲು, ನಾನು jQuery ಒಂದು ಬಿಟ್ ಬರೆದು ನಂತರ ನಿಜವಾದ HTTP ಸಂವಾದವನ್ನು ಪಡೆಯಲು ಪಿಟೀಲುವಾದಕ ಬಳಸಲಾಗುತ್ತದೆ.
ಇಲ್ಲಿ ಸೂಕ್ತ jQuery ಇಲ್ಲಿದೆ (ನೀವು ಅಂಟಿಸಿ / ನಕಲಿಸಲು ಬಯಸುವ ವೇಳೆ ನಾನು ಕೆಳಗೆ ಕೋಡ್ ಕೆಳಗೆ ನಕಲು):
ಅವರು ಮೊದಲ ಪ್ರಮುಖ ಒಂದು ಎರಡೂ ಸೇರಿಸುವುದು <queryOptions> ಮತ್ತು <QueryOptions> ನೋಡ್. ಎರಡನೇ ಪ್ರಮುಖ ಎಂದು <ಫೋಲ್ಡರ್> ನೋಡ್ ಇದು ಕ್ಲೈಂಟ್ ನಿಲುಕುವ ಒಂದು URL ಅನ್ನು ಹೊಂದಿದೆ.
ಈ ಪಡೆಯಲು ಇತರ ಬಗೆಗಳು ಇರಬಹುದು, jQuery ಬಳಸುವಾಗ ಆದರೆ ಈ ನನಗೆ ಚೆನ್ನಾಗಿ ಕೆಲಸ.
ಇಲ್ಲಿ ಮೇಲೆ ಫಾರ್ SOAP ಹೊದಿಕೆ ಆಗಿದೆ:
<soapenv:ಎನ್ವೆಲಪ್ xmlns:soapenv =’HTTP://schemas.xmlsoap.org / ಸಾಬೂನು / ಹೊದಿಕೆ /’>
<soapenv:ದೇಹ>
<GetListItems xmlns =’HTTP://schemas.microsoft.com / ಶೇರ್ಪಾಯಿಂಟ್ / ಸಾಬೂನು /’>
<ಪತನಶೀಲ>ಉಪ ಫೋಲ್ಡರ್ಗಳು ಕಸ್ಟಮ್ ಪಟ್ಟಿ</ಪತನಶೀಲ>
<viewFields>
<ViewFields>
<FieldRef ಹೆಸರು = 'ಶೀರ್ಷಿಕೆ’ />
<FieldRef ಹೆಸರು = 'EncodedAbsUrl’ />
</ViewFields>
</viewFields>
<queryOptions>
<QueryOptions>
<ಫೋಲ್ಡರ್>HTTP://demoserver1/Blogging ಸಂದರ್ಭಗಳ / ಪಟ್ಟಿಗಳನ್ನು / ಉಪ ಫೋಲ್ಡರ್ಗಳು / ವರ್ಷದ 2006 ಕಸ್ಟಮ್ ಪಟ್ಟಿ</ಫೋಲ್ಡರ್>
</QueryOptions>
</queryOptions>
</GetListItems>
</soapenv:ದೇಹ>
</soapenv:ಹೊದಿಕೆ>
ಇದರೊಂದಿಗೆ ಉದಾಹರಣೆಗಳು ಮತ್ತು ಚರ್ಚೆಯ ಬಹಳಷ್ಟು ನಾನು ಬೇಕಾಗಿರುವುದೆಲ್ಲಾ ಎಂದು ನಂಬಲು ಕಾರಣವಾಯಿತು <QueryOptions> ಮತ್ತು ಫೋಲ್ಡರ್ ಹೆಸರು ಸೂಚಿಸಿ. ನನಗೆ, ನಾನು ಎರಡೂ ಸುತ್ತು ಒಳಗೆ ಅಗತ್ಯವಿದೆ <queryOptions> ಜೊತೆಗೆ ಒಂದು ಸಂಪೂರ್ಣ ಅರ್ಹವಾದ URL ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದು <ಫೋಲ್ಡರ್> ಗೆಣ್ಣು.
ಇಲ್ಲಿ jQuery AJAX ಸೆಟಪ್ ಇಲ್ಲಿದೆ:
$(ದಾಖಲೆ).ಸಿದ್ಧ(ಕ್ರಿಯೆ() {
soapEnv = ಆಗಿತ್ತು
"<soapenv:ಎನ್ವೆಲಪ್ xmlns:soapenv =’HTTP://schemas.xmlsoap.org / ಸಾಬೂನು / ಹೊದಿಕೆ /’> \
<soapenv:ದೇಹ> \
<GetListItems xmlns =’HTTP://schemas.microsoft.com / ಶೇರ್ಪಾಯಿಂಟ್ / ಸಾಬೂನು /’> \
<ಪತನಶೀಲ>ಉಪ ಫೋಲ್ಡರ್ಗಳು ಕಸ್ಟಮ್ ಪಟ್ಟಿ</ಪತನಶೀಲ> \
<viewFields> \
<ViewFields> \
<FieldRef ಹೆಸರು = 'ಶೀರ್ಷಿಕೆ’ /> \
<FieldRef ಹೆಸರು = 'EncodedAbsUrl’ /> \
</ViewFields> \
</viewFields> \
<queryOptions> \
<QueryOptions> \
<ಫೋಲ್ಡರ್>http://demoserver1/Blogging ಸಂದರ್ಭಗಳ / ಪಟ್ಟಿಗಳನ್ನು / ಉಪ ಫೋಲ್ಡರ್ಗಳು / ವರ್ಷದ 2006 ಕಸ್ಟಮ್ ಪಟ್ಟಿ</ಫೋಲ್ಡರ್> \
</QueryOptions> \
</queryOptions> \
</GetListItems> \
</soapenv:ದೇಹ> \
</soapenv:ಹೊದಿಕೆ>";
</ಕೊನೆಯಲ್ಲಿ>
ನನ್ನ ಬ್ಲಾಗ್ ಚಂದಾದಾರರಾಗಿ.
ನಲ್ಲಿ ಟ್ವಿಟ್ಟರ್ ನನ್ನನ್ನು ಅನುಸರಿಸಿ http://www.twitter.com/pagalvin