<?xml version="1.0" ?>
<definitions name="CybozuAddressServices"
             xmlns="http://schemas.xmlsoap.org/wsdl/"
             targetNamespace="http://wsdl.cybozu.co.jp/address/2008"
             xmlns:typens="http://wsdl.cybozu.co.jp/address/2008/types"
             xmlns:tns="http://wsdl.cybozu.co.jp/address/2008"
             xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
             xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
             xmlns:base_services="http://wsdl.cybozu.co.jp/base/2008">

  <wsdl:import namespace="http://wsdl.cybozu.co.jp/base/2008" location="base.wsdl"/>

  <types>
    <xsd:schema targetNamespace="http://wsdl.cybozu.co.jp/address/2008/types"
                xmlns="http://www.w3.org/2001/XMLSchema"
                xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                xmlns:base="http://schemas.cybozu.co.jp/base/2008"
                xmlns:address="http://schemas.cybozu.co.jp/address/2008"
                xmlns:base_types="http://wsdl.cybozu.co.jp/base/2008/types">

      <xsd:import namespace="http://schemas.cybozu.co.jp/base/2008"
                  schemaLocation="base.xsd" />
      <xsd:import namespace="http://schemas.cybozu.co.jp/address/2008"
                  schemaLocation="address.xsd" />
      <xsd:import namespace="http://wsdl.cybozu.co.jp/base/2008/types" />
      
      <xsd:complexType name="AddressGetPersonalCardVersionsRequestType">
        <xsd:sequence>
          <xsd:element name="card_item" type="base_types:ItemVersionType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="AddressGetPersonalCardVersionsResponseType">
        <xsd:sequence>
          <xsd:element name="card_item" type="base_types:ItemVersionResultType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      
      <xsd:complexType name="AddressGetPersonalCardsByIdRequestType">
        <xsd:sequence>
          <xsd:element name="card_id" type="base:IDType"
                       minOccurs="1" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="AddressGetPersonalCardsByIdResponseType">
        <xsd:sequence>
          <xsd:element name="card" type="address:CardType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="AddressGetSharedCardVersionsRequestType">
        <xsd:sequence>
          <xsd:element name="card_item" type="base_types:ItemVersionType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
        <xsd:attribute name="book_id" type="base:IDType" use="required" />
      </xsd:complexType>
      <xsd:complexType name="AddressGetSharedCardVersionsResponseType">
        <xsd:sequence>
          <xsd:element name="card_item" type="base_types:ItemVersionResultType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="AddressGetSharedCardsByIdRequestType">
        <xsd:sequence>
          <xsd:element name="card_id" type="base:IDType"
                       minOccurs="1" maxOccurs="unbounded" />
        </xsd:sequence>
        <xsd:attribute name="book_id" type="base:IDType" use="required" />
      </xsd:complexType>
      <xsd:complexType name="AddressGetSharedCardsByIdResponseType">
        <xsd:sequence>
          <xsd:element name="card" type="address:CardType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      
      <xsd:complexType name="AddressGetPersonalBookVersionsRequestType">
        <xsd:sequence>
          <xsd:element name="book_item" type="base_types:ItemVersionType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="AddressGetPersonalBookVersionsResponseType">
        <xsd:sequence>
          <xsd:element name="book_item" type="base_types:ItemVersionResultType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="AddressGetPersonalBooksByIdRequestType">
        <xsd:sequence>
          <xsd:element name="book_id" type="base:IDType"
                       minOccurs="1" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="AddressGetPersonalBooksByIdResponseType">
        <xsd:sequence>
          <xsd:element name="book" type="address:BookType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="AddressGetSharedBookVersionsRequestType">
        <xsd:sequence>
          <xsd:element name="book_item" type="base_types:ItemVersionType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="AddressGetSharedBookVersionsResponseType">
        <xsd:sequence>
          <xsd:element name="book_item" type="base_types:ItemVersionResultType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="AddressGetSharedBooksByIdRequestType">
        <xsd:sequence>
          <xsd:element name="book_id" type="base:IDType"
                       minOccurs="1" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="AddressGetSharedBooksByIdResponseType">
        <xsd:sequence>
          <xsd:element name="book" type="address:BookType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="AddressCardContainsFileType">
        <xsd:sequence>
          <xsd:element name="card" type="address:CardType"
                       minOccurs="1" maxOccurs="1" />
          <xsd:element name="file" minOccurs="0" maxOccurs="unbounded">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="content" type="xsd:base64Binary"
                             minOccurs="1" maxOccurs="1" />
              </xsd:sequence>
              <xsd:attribute name="id" type="base:IDType" />
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="AddressAddCardsRequestType">
        <xsd:sequence>
          <xsd:element name="request_token" type="xsd:string" minOccurs="0" maxOccurs="1" />
          <xsd:element name="add_card" type="typens:AddressCardContainsFileType"
                       minOccurs="1" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="AddressAddCardsResponseType">
        <xsd:sequence>
          <xsd:element name="card" type="address:CardType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      
      <xsd:complexType name="AddressModifyCardsRequestType">
        <xsd:sequence>
          <xsd:element name="request_token" type="xsd:string" minOccurs="0" maxOccurs="1" />
          <xsd:element name="modify_card" type="typens:AddressCardContainsFileType"
                       minOccurs="1" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="AddressModifyCardsResponseType">
        <xsd:sequence>
          <xsd:element name="card" type="address:CardType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      
      <xsd:complexType name="AddressRemovePersonalCardsRequestType">
        <xsd:sequence>
          <xsd:element name="request_token" type="xsd:string" minOccurs="0" maxOccurs="1" />
          <xsd:element name="card_id" type="base:IDType"
                       minOccurs="1" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="AddressRemovePersonalCardsResponseType">
      </xsd:complexType>

      <xsd:complexType name="AddressRemoveSharedCardsRequestType">
        <xsd:sequence>
          <xsd:element name="request_token" type="xsd:string" minOccurs="0" maxOccurs="1" />
          <xsd:element name="card_id" type="base:IDType"
                       minOccurs="1" maxOccurs="unbounded" />
        </xsd:sequence>
        <xsd:attribute name="book_id" type="base:IDType" use="required" />
      </xsd:complexType>
      <xsd:complexType name="AddressRemoveSharedCardsResponseType">
      </xsd:complexType>
      
      <xsd:complexType name="AddressSearchCardsRequestType">
        <xsd:attribute name="book_id" type="base:IDType" use="required" />
        <xsd:attribute name="case_sensitive" type="xsd:boolean" use="required" />
        <xsd:attribute name="text" type="xsd:string" use="required" />
      </xsd:complexType>
      <xsd:complexType name="AddressSearchCardsResponseType">
        <xsd:sequence>
          <xsd:element name="card" type="address:CardType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="AddressCopyItemType">
        <xsd:attribute name="copied_book_id" type="base:IDType" use="required" />
        <xsd:attribute name="card_id" type="base:IDType" use="required" />
      </xsd:complexType>
      <xsd:complexType name="AddressCopyPersonalCardsToOtherBookRequestType">
        <xsd:sequence>
          <xsd:element name="request_token" type="xsd:string" minOccurs="0" maxOccurs="1" />
          <xsd:element name="copy_item" type="typens:AddressCopyItemType"
                       minOccurs="1" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="AddressCopyPersonalCardsToOtherBookResponseType">
        <xsd:sequence>
          <xsd:element name="card" type="address:CardType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="AddressGetMyAddressGroupVersionsRequestType">
        <xsd:sequence>
          <xsd:element name="my_address_group_item" type="base_types:ItemVersionType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="AddressGetMyAddressGroupVersionsResponseType">
        <xsd:sequence>
          <xsd:element name="my_address_group_item" type="base_types:ItemVersionResultType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="AddressGetMyAddressGroupsByIdRequestType">
        <xsd:sequence>
          <xsd:element name="my_address_group_id" type="base:IDType"
                       minOccurs="1" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="AddressGetMyAddressGroupsByIdResponseType">
        <xsd:sequence>
          <xsd:element name="my_address_group" type="address:MyAddressGroupType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      
      <xsd:complexType name="AddressAddMyAddressGroupsRequestType">
        <xsd:sequence>
          <xsd:element name="request_token" type="xsd:string" minOccurs="0" maxOccurs="1" />
          <xsd:element name="my_address_group" type="address:MyAddressGroupType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="AddressAddMyAddressGroupsResponseType">
        <xsd:sequence>
          <xsd:element name="my_address_group" type="address:MyAddressGroupType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      
      <xsd:complexType name="AddressModifyMyAddressGroupsRequestType">
        <xsd:sequence>
          <xsd:element name="request_token" type="xsd:string" minOccurs="0" maxOccurs="1" />
          <xsd:element name="my_address_group" type="address:MyAddressGroupType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="AddressModifyMyAddressGroupsResponseType">
        <xsd:sequence>
          <xsd:element name="my_address_group" type="address:MyAddressGroupType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      
      <xsd:complexType name="AddressRemoveMyAddressGroupsRequestType">
        <xsd:sequence>
          <xsd:element name="request_token" type="xsd:string" minOccurs="0" maxOccurs="1" />
          <xsd:element name="my_address_group_id" type="base:IDType"
                       minOccurs="1" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="AddressRemoveMyAddressGroupsResponseType">
      </xsd:complexType>
      
      <xsd:complexType name="AddressModifyCardsInMyAddressGroupRequestType">
        <xsd:sequence>
          <xsd:element name="request_token" type="xsd:string" minOccurs="0" maxOccurs="1" />
          <xsd:element name="my_address_group" type="address:MyAddressGroupType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="AddressModifyCardsInMyAddressGroupResponseType">
        <xsd:sequence>
          <xsd:element name="my_address_group" type="address:MyAddressGroupType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
            
      <xsd:complexType name="AddressGetProfilesRequestType">
      </xsd:complexType>
      <xsd:complexType name="AddressGetProfilesResponseType">
        <xsd:attribute name="attendee_menu" type="xsd:string" use="required" />
        <xsd:attribute name="use_personal_book" type="xsd:boolean" use="required" />
        <xsd:attribute name="use_shared_book" type="xsd:boolean" use="required" />
      </xsd:complexType>
      
      <xsd:complexType name="AddressSetProfilesRequestType">
        <xsd:sequence>
          <xsd:element name="request_token" type="xsd:string" minOccurs="0" maxOccurs="1" />
        </xsd:sequence>
        <xsd:attribute name="attendee_menu" type="xsd:string" use="required" />
      </xsd:complexType>
      <xsd:complexType name="AddressSetProfilesResponseType">
        <xsd:attribute name="attendee_menu" type="xsd:string" use="required" />
      </xsd:complexType>

      <xsd:complexType name="AddressGetReadAllowBooksRequestType">
      </xsd:complexType>
      <xsd:complexType name="AddressGetReadAllowBooksResponseType">
        <xsd:sequence>
          <xsd:element name="book_id" type="base:IDType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="AddressGetModifyAllowBooksRequestType">
      </xsd:complexType>
      <xsd:complexType name="AddressGetModifyAllowBooksResponseType">
        <xsd:sequence>
          <xsd:element name="book_id" type="base:IDType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>

      <xsd:complexType name="AddressFileDownloadRequestType">
        <xsd:attribute name="file_id" type="base:IDType" use="required" />
      </xsd:complexType>
      <xsd:complexType name="AddressFileDownloadResponseType">
        <xsd:sequence>
          <xsd:element name="file" type="base_types:FileBodyType"
                       minOccurs="0" maxOccurs="1" />
        </xsd:sequence>
      </xsd:complexType>
      
    </xsd:schema>
  </types>

  <message name="AddressGetPersonalCardVersionsRequest">
    <part name="parameters" type="typens:AddressGetPersonalCardVersionsRequestType" />
  </message>
  <message name="AddressGetPersonalCardVersionsResponse">
    <part name="returns" type="typens:AddressGetPersonalCardVersionsResponseType" />
  </message>

  <message name="AddressGetPersonalCardsByIdRequest">
    <part name="parameters" type="typens:AddressGetPersonalCardsByIdRequestType" />
  </message>
  <message name="AddressGetPersonalCardsByIdResponse">
    <part name="returns" type="typens:AddressGetPersonalCardsByIdResponseType" />
  </message>

  <message name="AddressGetSharedCardVersionsRequest">
    <part name="parameters" type="typens:AddressGetSharedCardVersionsRequestType" />
  </message>
  <message name="AddressGetSharedCardVersionsResponse">
    <part name="returns" type="typens:AddressGetSharedCardVersionsResponseType" />
  </message>

  <message name="AddressGetSharedCardsByIdRequest">
    <part name="parameters" type="typens:AddressGetSharedCardsByIdRequestType" />
  </message>
  <message name="AddressGetSharedCardsByIdResponse">
    <part name="returns" type="typens:AddressGetSharedCardsByIdResponseType" />
  </message>

  <message name="AddressGetPersonalBookVersionsRequest">
    <part name="parameters" type="typens:AddressGetPersonalBookVersionsRequestType" />
  </message>
  <message name="AddressGetPersonalBookVersionsResponse">
    <part name="returns" type="typens:AddressGetPersonalBookVersionsResponseType" />
  </message>

  <message name="AddressGetPersonalBooksByIdRequest">
    <part name="parameters" type="typens:AddressGetPersonalBooksByIdRequestType" />
  </message>
  <message name="AddressGetPersonalBooksByIdResponse">
    <part name="returns" type="typens:AddressGetPersonalBooksByIdResponseType" />
  </message>

  <message name="AddressGetSharedBookVersionsRequest">
    <part name="parameters" type="typens:AddressGetSharedBookVersionsRequestType" />
  </message>
  <message name="AddressGetSharedBookVersionsResponse">
    <part name="returns" type="typens:AddressGetSharedBookVersionsResponseType" />
  </message>

  <message name="AddressGetSharedBooksByIdRequest">
    <part name="parameters" type="typens:AddressGetSharedBooksByIdRequestType" />
  </message>
  <message name="AddressGetSharedBooksByIdResponse">
    <part name="returns" type="typens:AddressGetSharedBooksByIdResponseType" />
  </message>

  <message name="AddressAddCardsRequest">
    <part name="parameters" type="typens:AddressAddCardsRequestType" />
  </message>
  <message name="AddressAddCardsResponse">
    <part name="returns" type="typens:AddressAddCardsResponseType" />
  </message>

  <message name="AddressModifyCardsRequest">
    <part name="parameters" type="typens:AddressModifyCardsRequestType" />
  </message>
  <message name="AddressModifyCardsResponse">
    <part name="returns" type="typens:AddressModifyCardsResponseType" />
  </message>

  <message name="AddressRemovePersonalCardsRequest">
    <part name="parameters" type="typens:AddressRemovePersonalCardsRequestType" />
  </message>

  <message name="AddressRemoveSharedCardsRequest">
    <part name="parameters" type="typens:AddressRemoveSharedCardsRequestType" />
  </message>
  
  <message name="AddressSearchCardsRequest">
    <part name="parameters" type="typens:AddressSearchCardsRequestType" />
  </message>
  <message name="AddressSearchCardsResponse">
    <part name="returns" type="typens:AddressSearchCardsResponseType" />
  </message>

  <message name="AddressCopyPersonalCardsToOtherBookRequest">
    <part name="parameters" type="typens:AddressCopyPersonalCardsToOtherBookRequestType" />
  </message>
  <message name="AddressCopyPersonalCardsToOtherBookResponse">
    <part name="returns" type="typens:AddressCopyPersonalCardsToOtherBookResponseType" />
  </message>

  <message name="AddressGetMyAddressGroupVersionsRequest">
    <part name="parameters" type="typens:AddressGetMyAddressGroupVersionsRequestType" />
  </message>
  <message name="AddressGetMyAddressGroupVersionsResponse">
    <part name="returns" type="typens:AddressGetMyAddressGroupVersionsResponseType" />
  </message>

  <message name="AddressGetMyAddressGroupsByIdRequest">
    <part name="parameters" type="typens:AddressGetMyAddressGroupsByIdRequestType" />
  </message>
  <message name="AddressGetMyAddressGroupsByIdResponse">
    <part name="returns" type="typens:AddressGetMyAddressGroupsByIdResponseType" />
  </message>

  <message name="AddressAddMyAddressGroupsRequest">
    <part name="parameters" type="typens:AddressAddMyAddressGroupsRequestType" />
  </message>
  <message name="AddressAddMyAddressGroupsResponse">
    <part name="returns" type="typens:AddressAddMyAddressGroupsResponseType" />
  </message>

  <message name="AddressModifyMyAddressGroupsRequest">
    <part name="parameters" type="typens:AddressModifyMyAddressGroupsRequestType" />
  </message>
  <message name="AddressModifyMyAddressGroupsResponse">
    <part name="returns" type="typens:AddressModifyMyAddressGroupsResponseType" />
  </message>

  <message name="AddressRemoveMyAddressGroupsRequest">
    <part name="parameters" type="typens:AddressRemoveMyAddressGroupsRequestType" />
  </message>

  <message name="AddressModifyCardsInMyAddressGroupRequest">
    <part name="parameters" type="typens:AddressModifyCardsInMyAddressGroupRequestType" />
  </message>
  <message name="AddressModifyCardsInMyAddressGroupResponse">
    <part name="returns" type="typens:AddressModifyCardsInMyAddressGroupResponseType" />
  </message>

  <message name="AddressGetProfilesRequest">
    <part name="parameters" type="typens:AddressGetProfilesRequestType" />
  </message>
  <message name="AddressGetProfilesResponse">
    <part name="returns" type="typens:AddressGetProfilesResponseType" />
  </message>
  
  <message name="AddressSetProfilesRequest">
    <part name="parameters" type="typens:AddressSetProfilesRequestType" />
  </message>
  <message name="AddressSetProfilesResponse">
    <part name="returns" type="typens:AddressSetProfilesResponseType" />
  </message>

  <message name="AddressGetReadAllowBooksRequest">
    <part name="parameters" type="typens:AddressGetReadAllowBooksRequestType" />
  </message>
  <message name="AddressGetReadAllowBooksResponse">
    <part name="returns" type="typens:AddressGetReadAllowBooksResponseType" />
  </message>

  <message name="AddressGetModifyAllowBooksRequest">
    <part name="parameters" type="typens:AddressGetModifyAllowBooksRequestType" />
  </message>
  <message name="AddressGetModifyAllowBooksResponse">
    <part name="returns" type="typens:AddressGetModifyAllowBooksResponseType" />
  </message>

  <message name="AddressFileDownloadRequest">
    <part name="parameters" type="typens:AddressFileDownloadRequestType" />
  </message>
  <message name="AddressFileDownloadResponse">
    <part name="returns" type="typens:AddressFileDownloadResponseType" />
  </message>

  <portType name="AddressPort">

    <operation name="AddressGetPersonalCardVersions">
      <documentation>
        This API gets the modified personal address cards.
        "card_item" is a list of address card's that a client has.
      </documentation>
      <input message="tns:AddressGetPersonalCardVersionsRequest" />
      <output message="tns:AddressGetPersonalCardVersionsResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>

    <operation name="AddressGetPersonalCardsById">
      <documentation>
        This API gets the personal address cards by card id.
        The client sends list of "card_id" for specify the card to search.
      </documentation>
      <input message="tns:AddressGetPersonalCardsByIdRequest" />
      <output message="tns:AddressGetPersonalCardsByIdResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>

    <operation name="AddressGetSharedCardVersions">
      <documentation>
        This API gets the modified address cards in shared books.
        "card_item" is a list of address card's that a client has.
      </documentation>
      <input message="tns:AddressGetSharedCardVersionsRequest" />
      <output message="tns:AddressGetSharedCardVersionsResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>

    <operation name="AddressGetSharedCardsById">
      <documentation>
        This API gets the address cards by card id.
        The client sends list of "card_id" for specify the card to search.
      </documentation>
      <input message="tns:AddressGetSharedCardsByIdRequest" />
      <output message="tns:AddressGetSharedCardsByIdResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>

    <operation name="AddressGetPersonalBookVersions">
      <documentation>
        This API gets the modified personal address books.
        "book_item" is a list of address book's that a client has.
      </documentation>
      <input message="tns:AddressGetPersonalBookVersionsRequest" />
      <output message="tns:AddressGetPersonalBookVersionsResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>

    <operation name="AddressGetPersonalBooksById">
      <documentation>
        This API gets the personal address books by book id.
        The client sends list of "book_id" for specify the book to search.
      </documentation>
      <input message="tns:AddressGetPersonalBooksByIdRequest" />
      <output message="tns:AddressGetPersonalBooksByIdResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>

    <operation name="AddressGetSharedBookVersions">
      <documentation>
        This API gets the modified shared address books.
        "book_item" is a list of address book's that a client has.
      </documentation>
      <input message="tns:AddressGetSharedBookVersionsRequest" />
      <output message="tns:AddressGetSharedBookVersionsResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>

    <operation name="AddressGetSharedBooksById">
      <documentation>
        This API gets the shared address books by book id.
        The client sends list of "book_id" for specify the book to search.
      </documentation>
      <input message="tns:AddressGetSharedBooksByIdRequest" />
      <output message="tns:AddressGetSharedBooksByIdResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>

    <operation name="AddressAddCards">
      <documentation>
        This API adds the address cards to book.
      </documentation>
      <input message="tns:AddressAddCardsRequest" />
      <output message="tns:AddressAddCardsResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>

    <operation name="AddressModifyCards">
      <documentation>
        This API modifies the address cards in book.
        if the card version is different this API returns error.
      </documentation>
      <input message="tns:AddressModifyCardsRequest" />
      <output message="tns:AddressModifyCardsResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>

    <operation name="AddressRemovePersonalCards">
      <documentation>
        This API removes the personal address cards by id.
      </documentation>
      <input message="tns:AddressRemovePersonalCardsRequest" />
      <output message="base_services:EmptyResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>

    <operation name="AddressRemoveSharedCards">
      <documentation>
        This API removes the shared address cards by id.
      </documentation>
      <input message="tns:AddressRemoveSharedCardsRequest" />
      <output message="base_services:EmptyResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>

    <operation name="AddressSearchCards">
      <documentation>
        This API searches the address cards.
      </documentation>
      <input message="tns:AddressSearchCardsRequest" />
      <output message="tns:AddressSearchCardsResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>

    <operation name="AddressCopyPersonalCardsToOtherBook">
      <documentation>
        This API copies the personal address card to other book.
      </documentation>
      <input message="tns:AddressCopyPersonalCardsToOtherBookRequest" />
      <output message="tns:AddressCopyPersonalCardsToOtherBookResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>

    <operation name="AddressGetMyAddressGroupVersions">
      <documentation>
        This API gets the modified my address groups.
        "my_address_group_item" is a list of address card's that a client has.
      </documentation>
      <input message="tns:AddressGetMyAddressGroupVersionsRequest" />
      <output message="tns:AddressGetMyAddressGroupVersionsResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>

    <operation name="AddressGetMyAddressGroupsById">
      <documentation>
        This API gets the my address groups by my address group id.
        The client sends list of "my_address_group_id" for specify the card to search.
      </documentation>
      <input message="tns:AddressGetMyAddressGroupsByIdRequest" />
      <output message="tns:AddressGetMyAddressGroupsByIdResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>

    <operation name="AddressAddMyAddressGroups">
      <documentation>
        This API adds the address cards to book.
      </documentation>
      <input message="tns:AddressAddMyAddressGroupsRequest" />
      <output message="tns:AddressAddMyAddressGroupsResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>

    <operation name="AddressModifyMyAddressGroups">
      <documentation>
        This API modifies the my address group.
        if the my address group version is different this API returns error.
      </documentation>
      <input message="tns:AddressModifyMyAddressGroupsRequest" />
      <output message="tns:AddressModifyMyAddressGroupsResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>

    <operation name="AddressRemoveMyAddressGroups">
      <documentation>
        This API removes the my address groups by id.
      </documentation>
      <input message="tns:AddressRemoveMyAddressGroupsRequest" />
      <output message="base_services:EmptyResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>

    <operation name="AddressModifyCardsInMyAddressGroup">
      <documentation>
        This API modifies cards belongs to address group.
      </documentation>
      <input message="tns:AddressModifyCardsInMyAddressGroupRequest" />
      <output message="tns:AddressModifyCardsInMyAddressGroupResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>

    <operation name="AddressGetProfiles">
      <documentation>
        This API gets profiles in the address application.
      </documentation>
      <input message="tns:AddressGetProfilesRequest" />
      <output message="tns:AddressGetProfilesResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>

    <operation name="AddressSetProfiles">
      <documentation>
        This API modifies profiles in the address application.
      </documentation>
      <input message="tns:AddressSetProfilesRequest" />
      <output message="tns:AddressSetProfilesResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>

    <operation name="AddressGetReadAllowBooks">
      <documentation>
        This API gets books allowed to read cards by login user.
      </documentation>
      <input message="tns:AddressGetReadAllowBooksRequest" />
      <output message="tns:AddressGetReadAllowBooksResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>

    <operation name="AddressGetModifyAllowBooks">
      <documentation>
        This API gets books allowed to modify cards by login user.
      </documentation>
      <input message="tns:AddressGetModifyAllowBooksRequest" />
      <output message="tns:AddressGetModifyAllowBooksResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>

    <operation name="AddressFileDownload">
      <documentation>
        This API downloads the attached file.
      </documentation>
      <input message="tns:AddressFileDownloadRequest" />
      <output message="tns:AddressFileDownloadResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>

  </portType>

  <binding name="AddressBinding" type="tns:AddressPort">
    <soap12:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />

    <operation name="AddressGetPersonalCardVersions">
      <soap12:operation soapAction="AddressGetPersonalCardVersions" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </fault>
    </operation>

    <operation name="AddressGetPersonalCardsById">
      <soap12:operation soapAction="AddressGetPersonalCardsById" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </fault>
    </operation>

    <operation name="AddressGetSharedCardVersions">
      <soap12:operation soapAction="AddressGetSharedCardVersions" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </fault>
    </operation>

    <operation name="AddressGetSharedCardsById">
      <soap12:operation soapAction="AddressGetSharedCardsById" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </fault>
    </operation>

    <operation name="AddressGetPersonalBookVersions">
      <soap12:operation soapAction="AddressGetPersonalBookVersions" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </fault>
    </operation>

    <operation name="AddressGetPersonalBooksById">
      <soap12:operation soapAction="AddressGetPersonalBooksById" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </fault>
    </operation>

    <operation name="AddressGetSharedBookVersions">
      <soap12:operation soapAction="AddressGetSharedBookVersions" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </fault>
    </operation>

    <operation name="AddressGetSharedBooksById">
      <soap12:operation soapAction="AddressGetSharedBooksById" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </fault>
    </operation>

    <operation name="AddressAddCards">
      <soap12:operation soapAction="AddressAddCards" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </fault>
    </operation>

    <operation name="AddressModifyCards">
      <soap12:operation soapAction="AddressModifyCards" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </fault>
    </operation>

    <operation name="AddressRemovePersonalCards">
      <soap12:operation soapAction="AddressRemovePersonalCards" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </fault>
    </operation>

    <operation name="AddressRemoveSharedCards">
      <soap12:operation soapAction="AddressRemoveSharedCards" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </fault>
    </operation>

    <operation name="AddressSearchCards">
      <soap12:operation soapAction="AddressSearchCards" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </fault>
    </operation>

    <operation name="AddressCopyPersonalCardsToOtherBook">
      <soap12:operation soapAction="AddressCopyPersonalCardsToOtherBook" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </fault>
    </operation>

    <operation name="AddressGetMyAddressGroupVersions">
      <soap12:operation soapAction="AddressGetMyAddressGroupVersions" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </fault>
    </operation>

    <operation name="AddressGetMyAddressGroupsById">
      <soap12:operation soapAction="AddressGetMyAddressGroupsById" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </fault>
    </operation>

    <operation name="AddressAddMyAddressGroups">
      <soap12:operation soapAction="AddressAddMyAddressGroups" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </fault>
    </operation>

    <operation name="AddressModifyMyAddressGroups">
      <soap12:operation soapAction="AddressModifyMyAddressGroups" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </fault>
    </operation>

    <operation name="AddressRemoveMyAddressGroups">
      <soap12:operation soapAction="AddressRemoveMyAddressGroups" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </fault>
    </operation>

    <operation name="AddressModifyCardsInMyAddressGroup">
      <soap12:operation soapAction="AddressModifyCardsInMyAddressGroup" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </fault>
    </operation>

    <operation name="AddressGetProfiles">
      <soap12:operation soapAction="AddressGetProfiles" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </fault>
    </operation>

    <operation name="AddressSetProfiles">
      <soap12:operation soapAction="AddressSetProfiles" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </fault>
    </operation>

    <operation name="AddressGetReadAllowBooks">
      <soap12:operation soapAction="AddressGetReadAllowBooks" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </fault>
    </operation>

    <operation name="AddressGetModifyAllowBooks">
      <soap12:operation soapAction="AddressGetModifyAllowBooks" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </fault>
    </operation>

    <operation name="AddressFileDownload">
      <soap12:operation soapAction="AddressFileDownload" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/address/2008" />
      </fault>
    </operation>

  </binding>

</definitions>
