Zmsoap: Difference between revisions
m (category) |
No edit summary |
||
Line 1: | Line 1: | ||
==Intro== | |||
Specify the request on the command line in an XPath-inspired syntax, and zmsoap takes care of authenticating, generating the envelope, sending the request, and writing the response to stdout. | |||
(zmjava com.zimbra.common.soap.SoapCommandUtil got revamped as zmsoap in 5.0.7) | |||
Examples | ==Usage== | ||
$ zmsoap --help (or -h) | |||
<pre> | |||
]$ zmsoap --help | |||
Usage: | |||
zmsoap [options] <path1> [<path2> ...] | |||
options | |||
--help (-h) Print usage information. | |||
--mailbox (-m) name Mailbox account name. mail and account requests | |||
are sent to this account. Also used for | |||
authentication if -a and -z are not specified. | |||
--target name Target account name to which requests will be | |||
sent. Only used for non-admin sessions. | |||
--admin (-a) name Admin account name to authenticaste as. | |||
--zadmin (-z) Authenticate with zimbra admin name/password from | |||
localconfig. | |||
--password (-p) pass Password. | |||
--passfile (-P) path Read password from file. | |||
--element (-e) path Root element path. If specified, all path | |||
arguments that don't start with a slash (/) are | |||
relative to this element. | |||
--type (-t) type SOAP request type (mail, account, admin). | |||
Default is admin. | |||
--url (-u) http[s]://... Server hostname and optional port. | |||
--verbose (-v) Print the SOAP request and other status | |||
information. | |||
path [path ...] Element or attribute path and value. Roughly | |||
follows XPath syntax: | |||
[/]element1[/element2][/@attr][=value]. | |||
</pre> | |||
==Examples== | |||
====GetAccountInfo==== | |||
<pre> | <pre> | ||
$ zmsoap -z -e GetAccountInfoRequest/account=user1 -v @by=name | $ zmsoap -z -e GetAccountInfoRequest/account=user1 -v @by=name | ||
Sending admin auth request to https://localhost:7071/service/admin/soap | Sending admin auth request to https://localhost:7071/service/admin/soap | ||
Line 15: | Line 52: | ||
<a n="zimbraId">decf3d72-623c-44d1-be34-23df4d285fb1</a> | <a n="zimbraId">decf3d72-623c-44d1-be34-23df4d285fb1</a> | ||
<a n="zimbraMailHost">cosmonaut.zimbra.com</a> | <a n="zimbraMailHost">cosmonaut.zimbra.com</a> | ||
<soapURL>http:// | <soapURL>http://server.zimbra.com:7070/service/soap/</soapURL> | ||
<adminSoapURL>https:// | <adminSoapURL>https://server.zimbra.com:7071/service/admin/soap/</adminSoapURL> | ||
</GetAccountInfoResponse> | </GetAccountInfoResponse> | ||
$ zmsoap -m user1 -p test123 -u http://localhost:7070/service/soap --type account GetInfoRequest | head | $ zmsoap -m user1 -p test123 -u http://localhost:7070/service/soap --type account GetInfoRequest | head | ||
Line 24: | Line 62: | ||
<version>unknown unknown unknown unknown</version> | <version>unknown unknown unknown unknown</version> | ||
<id>decf3d72-623c-44d1-be34-23df4d285fb1</id> | <id>decf3d72-623c-44d1-be34-23df4d285fb1</id> | ||
<name>user1@ | <name>user1@server.zimbra.com</name> | ||
<crumb>dace2c2c21df2009dc657b8f9e94b1cc</crumb> | <crumb>dace2c2c21df2009dc657b8f9e94b1cc</crumb> | ||
<lifetime>172799977</lifetime> | <lifetime>172799977</lifetime> | ||
<rest>http:// | <rest>http://server.zimbra.com:7070/home/user1</rest> | ||
<used>10775433</used> | <used>10775433</used> | ||
<prevSession>1211496468000</prevSession> | <prevSession>1211496468000</prevSession> | ||
</pre> | |||
====Search==== | |||
<pre> | |||
$ zmsoap -z -m user1 SearchRequest/query=in:inbox | head | $ zmsoap -z -m user1 SearchRequest/query=in:inbox | head | ||
Line 42: | Line 83: | ||
<c n="1" score="1.0" d="1211495060000" id="-525" f="u" sf="1211495060000"> | <c n="1" score="1.0" d="1211495060000" id="-525" f="u" sf="1211495060000"> | ||
<su>Welcome to the Zimbra Collaboration Suite source!</su> | <su>Welcome to the Zimbra Collaboration Suite source!</su> | ||
</pre> | |||
====EmptyFolder==== | |||
<pre> | |||
$ zmsoap -z -m user@domain.com -v -e FolderActionRequest/action op=empty id=1 recursive=false | |||
Sending admin auth request to https://localhost:7071/service/admin/soap | |||
<FolderActionRequest xmlns="urn:zimbraMail"> | |||
<action> | |||
<op>empty</op> | |||
<id>1</id> | |||
<recursive>false</recursive> | |||
</action> | |||
</FolderActionRequest> | |||
<FolderActionResponse xmlns="urn:zimbraMail"> | |||
<action op="empty" id="1"></action> | |||
</FolderActionResponse> | |||
</pre> | </pre> | ||
==Related== | |||
[[zmmailbox]] is a much refined command & is the typical admin tool along with [[zmprov]] | |||
[[Category:Command Line Interface]] | [[Category:Command Line Interface]] |
Revision as of 04:28, 13 November 2008
Intro
Specify the request on the command line in an XPath-inspired syntax, and zmsoap takes care of authenticating, generating the envelope, sending the request, and writing the response to stdout.
(zmjava com.zimbra.common.soap.SoapCommandUtil got revamped as zmsoap in 5.0.7)
Usage
$ zmsoap --help (or -h)
]$ zmsoap --help Usage: zmsoap [options] <path1> [<path2> ...] options --help (-h) Print usage information. --mailbox (-m) name Mailbox account name. mail and account requests are sent to this account. Also used for authentication if -a and -z are not specified. --target name Target account name to which requests will be sent. Only used for non-admin sessions. --admin (-a) name Admin account name to authenticaste as. --zadmin (-z) Authenticate with zimbra admin name/password from localconfig. --password (-p) pass Password. --passfile (-P) path Read password from file. --element (-e) path Root element path. If specified, all path arguments that don't start with a slash (/) are relative to this element. --type (-t) type SOAP request type (mail, account, admin). Default is admin. --url (-u) http[s]://... Server hostname and optional port. --verbose (-v) Print the SOAP request and other status information. path [path ...] Element or attribute path and value. Roughly follows XPath syntax: [/]element1[/element2][/@attr][=value].
Examples
GetAccountInfo
$ zmsoap -z -e GetAccountInfoRequest/account=user1 -v @by=name Sending admin auth request to https://localhost:7071/service/admin/soap <GetAccountInfoRequest xmlns="urn:zimbraAdmin"> <account by="name">user1</account> </GetAccountInfoRequest> <GetAccountInfoResponse xmlns="urn:zimbraAdmin"> <name>user1@cosmonaut.zimbra.com</name> <a n="zimbraId">decf3d72-623c-44d1-be34-23df4d285fb1</a> <a n="zimbraMailHost">cosmonaut.zimbra.com</a> <soapURL>http://server.zimbra.com:7070/service/soap/</soapURL> <adminSoapURL>https://server.zimbra.com:7071/service/admin/soap/</adminSoapURL> </GetAccountInfoResponse> $ zmsoap -m user1 -p test123 -u http://localhost:7070/service/soap --type account GetInfoRequest | head <GetInfoResponse xmlns="urn:zimbraAccount"> <version>unknown unknown unknown unknown</version> <id>decf3d72-623c-44d1-be34-23df4d285fb1</id> <name>user1@server.zimbra.com</name> <crumb>dace2c2c21df2009dc657b8f9e94b1cc</crumb> <lifetime>172799977</lifetime> <rest>http://server.zimbra.com:7070/home/user1</rest> <used>10775433</used> <prevSession>1211496468000</prevSession>
Search
$ zmsoap -z -m user1 SearchRequest/query=in:inbox | head <SearchResponse xmlns="urn:zimbraMail" offset="0" more="1" sortBy="dateDesc"> <c f="u" score="1.0" id="-514" n="1" sf="1211495060000" d="1211495060000"> <su>Goodmail test</su> <fr>Tastes great!</fr> <e d="goodmailbot42" a="goodmailbot42@aol.com" t="f"></e> <m id="514"></m> </c> <c n="1" score="1.0" d="1211495060000" id="-525" f="u" sf="1211495060000"> <su>Welcome to the Zimbra Collaboration Suite source!</su>
EmptyFolder
$ zmsoap -z -m user@domain.com -v -e FolderActionRequest/action op=empty id=1 recursive=false Sending admin auth request to https://localhost:7071/service/admin/soap <FolderActionRequest xmlns="urn:zimbraMail"> <action> <op>empty</op> <id>1</id> <recursive>false</recursive> </action> </FolderActionRequest> <FolderActionResponse xmlns="urn:zimbraMail"> <action op="empty" id="1"></action> </FolderActionResponse>
Related
zmmailbox is a much refined command & is the typical admin tool along with zmprov