Zmsoap: Difference between revisions

m (category)
No edit summary
Line 1: Line 1:
Secify 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.
==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://cosmonaut.zimbra.com:7070/service/soap/</soapURL>
   <soapURL>http://server.zimbra.com:7070/service/soap/</soapURL>
   <adminSoapURL>https://cosmonaut.zimbra.com:7071/service/admin/soap/</adminSoapURL>
   <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@cosmonaut.zimbra.com</name>
   <name>user1@server.zimbra.com</name>
   <crumb>dace2c2c21df2009dc657b8f9e94b1cc</crumb>
   <crumb>dace2c2c21df2009dc657b8f9e94b1cc</crumb>
   <lifetime>172799977</lifetime>
   <lifetime>172799977</lifetime>
   <rest>http://cosmonaut.zimbra.com:7070/home/user1</rest>
   <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>


Usage:
==Related==
[[zmmailbox]] is a much refined command & is the typical admin tool along with [[zmprov]]


$ zmsoap --help (or -h) 
<pre>                                                             
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>


[[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

Jump to: navigation, search