<?xml version="1.0" encoding="UTF-8"?>
<definitions name="CybozuBulletinServices"
             xmlns="http://schemas.xmlsoap.org/wsdl/"
             targetNamespace="http://wsdl.cybozu.co.jp/bulletin/2008"
             xmlns:typens="http://wsdl.cybozu.co.jp/bulletin/2008/types"
             xmlns:tns="http://wsdl.cybozu.co.jp/bulletin/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 *** -->
  <types>
    <xsd:schema targetNamespace="http://wsdl.cybozu.co.jp/bulletin/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:bulletin="http://schemas.cybozu.co.jp/bulletin/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/bulletin/2008"
                  schemaLocation="bulletin.xsd" />
      <xsd:import namespace="http://wsdl.cybozu.co.jp/base/2008/types" />

      <xsd:complexType name="BulletinGetCategoryVersionsRequestType">
        <xsd:sequence>
          <xsd:element name="category_item" type="base_types:ItemVersionType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="BulletinGetCategoryVersionsResponseType">
        <xsd:sequence>
          <xsd:element name="category_item" type="base_types:ItemVersionResultType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      
       <xsd:complexType name="BulletinGetCategoriesRequestType">
      </xsd:complexType>
      <xsd:complexType name="BulletinGetCategoriesResponseType">
        <xsd:sequence>
          <xsd:element name="categories" type="bulletin:CategoryInformationType"/>
        </xsd:sequence>
      </xsd:complexType>
      
      <xsd:complexType name="BulletinGetTopicVersionsRequestType">
        <xsd:sequence>
          <xsd:element name="topic_item" type="base_types:ItemVersionType"
                       minOccurs="0" maxOccurs="unbounded" />
          <xsd:element name="category_id" type="base:IDType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
        <xsd:attribute name="start" type="xsd:dateTime" use="required" />
        <xsd:attribute name="end" type="xsd:dateTime" use="optional" />
      </xsd:complexType>
      <xsd:complexType name="BulletinGetTopicVersionsResponseType">
        <xsd:sequence>
          <xsd:element name="topic_item" type="base_types:ItemVersionResultType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      
      <xsd:complexType name="BulletinGetDraftTopicVersionsRequestType">
        <xsd:sequence>
          <xsd:element name="topic_item" type="base_types:ItemVersionType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
        <xsd:attribute name="start" type="xsd:dateTime" use="required" />
        <xsd:attribute name="end" type="xsd:dateTime" use="optional" />
      </xsd:complexType>
      <xsd:complexType name="BulletinGetDraftTopicVersionsResponseType">
        <xsd:sequence>
          <xsd:element name="topic_item" type="base_types:ItemVersionResultType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      
      <xsd:complexType name="BulletinGetTopicsRequestType">
        <xsd:sequence>
          <xsd:element name="category_id" type="base:IDType"
                       minOccurs="1" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="BulletinGetTopicsResponseType">
        <xsd:sequence>
          <xsd:element name="category" type="bulletin:TopicsList"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      
      <xsd:complexType name="BulletinGetTopicByIdsRequestType">
        <xsd:sequence>
          <xsd:element name="topics" minOccurs="0" maxOccurs="unbounded">
          <xsd:complexType>
            <xsd:attribute name="topic_id" type="base:IDType" use="required" />
            <xsd:attribute name="is_draft" type="xsd:boolean" use="required" />
          </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="BulletinGetTopicByIdsResponseType">
        <xsd:sequence>
          <xsd:element name="topic" type="bulletin:TopicType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      
       <xsd:complexType name="BulletinFileDownloadRequestType">
        <xsd:attribute name="file_id" type="base:IDType" use="required" />
      </xsd:complexType>
      <xsd:complexType name="BulletinFileDownloadResponseType">
        <xsd:sequence>
          <xsd:element name="file" type="base_types:FileBodyType" minOccurs="0" maxOccurs="1" />
        </xsd:sequence>
      </xsd:complexType>
      
      <xsd:complexType name="BulletinCreateTopicType">
        <xsd:sequence>
          <xsd:element name="topic" type="bulletin:TopicType"
                       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" use="required"/>
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="remove_file_id" type="base:IDType"
                         minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
        <xsd:attribute name="draft_id" type="base:IDType" use="optional" />
      </xsd:complexType>
      
      <xsd:complexType name="BulletinModifyTopicType">
        <xsd:sequence>
          <xsd:element name="topic" type="bulletin:TopicType"
                       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" use="required"/>
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="remove_file_id" type="base:IDType"
                         minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
        <xsd:attribute name="is_notified" type="xsd:boolean" use="optional" />
      </xsd:complexType>
      
      <xsd:complexType name="BulletinCreateTopicsRequestType">
        <xsd:sequence>
          <xsd:element name="request_token" type="xsd:string" minOccurs="0" maxOccurs="1" />
          <xsd:element name="create_topic" type="typens:BulletinCreateTopicType"
                       minOccurs="1" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="BulletinCreateTopicsResponseType">
        <xsd:sequence>
          <xsd:element name="topic" type="bulletin:TopicType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      
      <xsd:complexType name="BulletinModifyTopicsRequestType">
        <xsd:sequence>
          <xsd:element name="request_token" type="xsd:string" minOccurs="0" maxOccurs="1" />
          <xsd:element name="modify_topic" type="typens:BulletinModifyTopicType"
                       minOccurs="1" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="BulletinModifyTopicsResponseType">
        <xsd:sequence>
          <xsd:element name="topic" type="bulletin:TopicType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      
      <xsd:complexType name="BulletinSaveDraftTopicsRequestType">
        <xsd:sequence>
          <xsd:element name="request_token" type="xsd:string" minOccurs="0" maxOccurs="1" />
          <xsd:element name="save_draft_topic" type="typens:BulletinCreateTopicType"
                       minOccurs="1" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="BulletinSaveDraftTopicsResponseType">
        <xsd:sequence>
          <xsd:element name="topic" type="bulletin:TopicType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      
      <xsd:complexType name="BulletinRemoveTopicsRequestType">
        <xsd:sequence>
          <xsd:element name="request_token" type="xsd:string" minOccurs="0" maxOccurs="1" />
          <xsd:element name="topics" minOccurs="0" maxOccurs="unbounded">
          <xsd:complexType>
            <xsd:attribute name="topic_id" type="base:IDType" use="required" />
            <xsd:attribute name="is_draft" type="xsd:boolean" use="required" />
          </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
      </xsd:complexType>
      
      <xsd:complexType name="BulletinSearchTopicsRequestType">
        <xsd:attribute name="text" type="xsd:string" use="required" />
        <xsd:attribute name="sensitive" type="xsd:boolean" use="optional" />
        <xsd:attribute name="start" type="xsd:dateTime" use="required" />
        <xsd:attribute name="end" type="xsd:dateTime" use="optional" />
        <xsd:attribute name="category_id" type="base:IDType" use="required" />
        <xsd:attribute name="search_sub_categories" type="xsd:boolean" use="required" />
        <xsd:attribute name="title_search" type="xsd:boolean" use="required" />
        <xsd:attribute name="body_search" type="xsd:boolean" use="required" />
        <xsd:attribute name="from_search" type="xsd:boolean" use="required" />
        <xsd:attribute name="follow_search" type="xsd:boolean" use="required" />
      </xsd:complexType>
      <xsd:complexType name="BulletinSearchTopicsResponseType">
        <xsd:sequence>
          <xsd:element name="topic" type="bulletin:TopicType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      
      <xsd:complexType name="BulletinGetFollowsRequestType">
        <xsd:attribute name="topic_id" type="base:IDType" use="required" />
        <xsd:attribute name="offset" type="xsd:unsignedLong" use="required" />
        <xsd:attribute name="limit" type="xsd:unsignedLong" use="required" />
      </xsd:complexType>
      <xsd:complexType name="BulletinGetFollowsResponseType">
        <xsd:sequence>
          <xsd:element name="follow" type="bulletin:FollowType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      
      <xsd:complexType name="BulletinAddFollowType">
        <xsd:sequence>
          <xsd:element name="follow" type="bulletin:FollowType"
                       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" use="required"/>
            </xsd:complexType>
          </xsd:element>
        </xsd:sequence>
        <xsd:attribute name="topic_id" type="base:IDType" use="required" />
      </xsd:complexType>
      
      <xsd:complexType name="BulletinAddFollowsRequestType">
        <xsd:sequence>
          <xsd:element name="request_token" type="xsd:string" minOccurs="0" maxOccurs="1" />
          <xsd:element name="add_follow" type="typens:BulletinAddFollowType"
                       minOccurs="1" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      <xsd:complexType name="BulletinAddFollowsResponseType">
        <xsd:sequence>
          <xsd:element name="topic" type="bulletin:TopicType"
                       minOccurs="0" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      
      <xsd:complexType name="BulletinRemoveFollowsRequestType">
        <xsd:sequence>
          <xsd:element name="request_token" type="xsd:string" minOccurs="0" maxOccurs="1" />
          <xsd:element name="follow_id" type="base:IDType"
                       minOccurs="1" maxOccurs="unbounded" />
        </xsd:sequence>
      </xsd:complexType>
      
      
    </xsd:schema>
  </types>

  <!-- *** message *** -->
  
  <message name="BulletinGetCategoryVersionsRequest">
    <part name="parameters" type="typens:BulletinGetCategoryVersionsRequestType" />
  </message>
  <message name="BulletinGetCategoryVersionsResponse">
    <part name="returns" type="typens:BulletinGetCategoryVersionsResponseType" />
  </message>
  
  <message name="BulletinGetCategoriesRequest">
    <part name="parameters" type="typens:BulletinGetCategoriesRequestType" />
  </message>
  <message name="BulletinGetCategoriesResponse">
    <part name="returns" type="typens:BulletinGetCategoriesResponseType" />
  </message>
  
  <message name="BulletinGetTopicVersionsRequest">
    <part name="parameters" type="typens:BulletinGetTopicVersionsRequestType" />
  </message>
  <message name="BulletinGetTopicVersionsResponse">
    <part name="returns" type="typens:BulletinGetTopicVersionsResponseType" />
  </message>
  
  <message name="BulletinGetDraftTopicVersionsRequest">
    <part name="parameters" type="typens:BulletinGetDraftTopicVersionsRequestType" />
  </message>
  <message name="BulletinGetDraftTopicVersionsResponse">
    <part name="returns" type="typens:BulletinGetDraftTopicVersionsResponseType" />
  </message>
  
  <message name="BulletinGetTopicsRequest">
    <part name="parameters" type="typens:BulletinGetTopicsRequestType" />
  </message>
  <message name="BulletinGetTopicsResponse">
    <part name="returns" type="typens:BulletinGetTopicsResponseType" />
  </message>
  
  <message name="BulletinGetTopicByIdsRequest">
    <part name="parameters" type="typens:BulletinGetTopicByIdsRequestType" />
  </message>
  
  <message name="BulletinGetTopicByIdsResponse">
    <part name="returns" type="typens:BulletinGetTopicByIdsResponseType" />
  </message>
  
  <message name="BulletinFileDownloadRequest">
    <part name="parameters" type="typens:BulletinFileDownloadRequestType" />
  </message>
  
  <message name="BulletinFileDownloadResponse">
    <part name="returns" type="typens:BulletinFileDownloadResponseType" />
  </message>
  
  <message name="BulletinCreateTopicsRequest">
    <part name="parameters" type="typens:BulletinCreateTopicsRequestType" />
  </message>
  <message name="BulletinCreateTopicsResponse">
    <part name="returns" type="typens:BulletinCreateTopicsResponseType" />
  </message>

  <message name="BulletinModifyTopicsRequest">
    <part name="parameters" type="typens:BulletinModifyTopicsRequestType" />
  </message>
  <message name="BulletinModifyTopicsResponse">
    <part name="returns" type="typens:BulletinModifyTopicsResponseType" />
  </message>

  <message name="BulletinSaveDraftTopicsRequest">
    <part name="parameters" type="typens:BulletinSaveDraftTopicsRequestType" />
  </message>
  <message name="BulletinSaveDraftTopicsResponse">
    <part name="returns" type="typens:BulletinSaveDraftTopicsResponseType" />
  </message>
  
  <message name="BulletinRemoveTopicsRequest">
    <part name="parameters" type="typens:BulletinRemoveTopicsRequestType" />
  </message>
  
  <message name="BulletinSearchTopicsRequest">
    <part name="parameters" type="typens:BulletinSearchTopicsRequestType" />
  </message>
  <message name="BulletinSearchTopicsResponse">
    <part name="returns" type="typens:BulletinSearchTopicsResponseType" />
  </message>

  <message name="BulletinGetFollowsRequest">
    <part name="parameters" type="typens:BulletinGetFollowsRequestType" />
  </message>
  <message name="BulletinGetFollowsResponse">
    <part name="returns" type="typens:BulletinGetFollowsResponseType" />
  </message>
  
  <message name="BulletinAddFollowsRequest">
    <part name="parameters" type="typens:BulletinAddFollowsRequestType" />
  </message>
  <message name="BulletinAddFollowsResponse">
    <part name="returns" type="typens:BulletinAddFollowsResponseType" />
  </message>
  
  <message name="BulletinRemoveFollowsRequest">
    <part name="parameters" type="typens:BulletinRemoveFollowsRequestType" />
  </message>
  
  <!-- *** portType *** -->
 <portType name="BulletinPort">
    
    <operation name="BulletinGetCategoryVersions">
      <documentation>
        This API gets all categories in the bulletin application.
      </documentation>
      <input message="tns:BulletinGetCategoryVersionsRequest" />
      <output message="tns:BulletinGetCategoryVersionsResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>
    
    <operation name="BulletinGetCategories">
      <documentation>
        This API gets all categories in the bulletin application.
      </documentation>
      <input message="tns:BulletinGetCategoriesRequest" />
      <output message="tns:BulletinGetCategoriesResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>
    
    <operation name="BulletinGetTopicVersions">
      <input message="tns:BulletinGetTopicVersionsRequest" />
      <output message="tns:BulletinGetTopicVersionsResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>
    
    <operation name="BulletinGetDraftTopicVersions">
      <input message="tns:BulletinGetDraftTopicVersionsRequest" />
      <output message="tns:BulletinGetDraftTopicVersionsResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>
    
    <operation name="BulletinGetTopics">
        <documentation>
        This API gets topics list by "category_id".
        Exception 
        In case "category_id" = -1 return topics list in "Waiting to be published" category
        In case "category_id" = -2 return topics list in "Draft" category
        </documentation>
      <input message="tns:BulletinGetTopicsRequest" />
      <output message="tns:BulletinGetTopicsResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>
    
    <operation name="BulletinGetTopicByIds">
      <documentation>
        This API gets a topic by id.
        The client sends list of "topic_id" for specify the topic to retrieve topic
      </documentation>
      <input message="tns:BulletinGetTopicByIdsRequest" />
      <output message="tns:BulletinGetTopicByIdsResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>
    
    <operation name="BulletinFileDownload">
      <input message="tns:BulletinFileDownloadRequest" />
      <output message="tns:BulletinFileDownloadResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>
    
    <operation name="BulletinCreateTopics">
      <input message="tns:BulletinCreateTopicsRequest" />
      <output message="tns:BulletinCreateTopicsResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>

    <operation name="BulletinModifyTopics">
      <documentation>
        This API modifies the Topics.
        The service returns the topics that modified.
      </documentation>
      <input message="tns:BulletinModifyTopicsRequest" />
      <output message="tns:BulletinModifyTopicsResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>

    <operation name="BulletinSaveDraftTopics">
      <documentation>
        This API can save new or modify topic to the draft.
        The service returns the draft topics that saved.
      </documentation>
      <input message="tns:BulletinSaveDraftTopicsRequest" />
      <output message="tns:BulletinSaveDraftTopicsResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>

     <operation name="BulletinRemoveTopics">
      <documentation>
        This API removes the topics.
        The service returns empty response.
      </documentation>
      <input message="tns:BulletinRemoveTopicsRequest" />
      <output message="base_services:EmptyResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>
    
    <operation name="BulletinSearchTopics">
      <documentation>
        This API searches the topics.
      </documentation>
      <input message="tns:BulletinSearchTopicsRequest" />
      <output message="tns:BulletinSearchTopicsResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>

    <operation name="BulletinGetFollows">
      <documentation>
        This API gets follows from topic.
        "offset" and "limit" specifies search range.
      </documentation>
      <input message="tns:BulletinGetFollowsRequest" />
      <output message="tns:BulletinGetFollowsResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>
    
    <operation name="BulletinAddFollows">
      <documentation>
        This API add follows to topic.
        The service returns the topics that a follow added.
      </documentation>
      <input message="tns:BulletinAddFollowsRequest" />
      <output message="tns:BulletinAddFollowsResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>

    <operation name="BulletinRemoveFollows">
      <documentation>
        This API remove follows from topic.
        The service returns empty response.
      </documentation>
      <input message="tns:BulletinRemoveFollowsRequest" />
      <output message="base_services:EmptyResponse" />
      <fault name="CybozuError" message="base_services:Fault" />
    </operation>
    
  </portType>
  
  <!-- *** binding *** -->
  <binding name="BulletinBinding" type="tns:BulletinPort">
    <soap12:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
    
    <operation name="BulletinGetCategoryVersions">
      <soap12:operation soapAction="BulletinGetCategoryVersions" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/bulletin/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/bulletin/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/bulletin/2008" />
      </fault>
    </operation>
    
    <operation name="BulletinGetCategories">
      <soap12:operation soapAction="BulletinGetCategories" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/bulletin/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/bulletin/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/bulletin/2008" />
      </fault>
    </operation>
    
    <operation name="BulletinGetTopicVersions">
      <soap12:operation soapAction="BulletinGetTopicVersions" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/bulletin/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/bulletin/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/bulletin/2008" />
      </fault>
    </operation>
    
    <operation name="BulletinGetDraftTopicVersions">
      <soap12:operation soapAction="BulletinGetDraftTopicVersions" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/bulletin/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/bulletin/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/bulletin/2008" />
      </fault>
    </operation>
    
    <operation name="BulletinGetTopics">
      <soap12:operation soapAction="BulletinGetTopics" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/bulletin/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/bulletin/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/bulletin/2008" />
      </fault>
    </operation>
    
    <operation name="BulletinGetTopicByIds">
      <soap12:operation soapAction="BulletinGetTopicByIds" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/bulletin/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/bulletin/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/bulletin/2008" />
      </fault>
    </operation>
    
    <operation name="BulletinFileDownload">
      <soap12:operation soapAction="BulletinFileDownload" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/bulletin/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/bulletin/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/bulletin/2008" />
      </fault>
    </operation>
    
    <operation name="BulletinCreateTopics">
      <soap12:operation soapAction="BulletinCreateTopics" soapActionRequired="true" />
      <input>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/bulletin/2008" />
      </input>
      <output>
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/bulletin/2008" />
      </output>
      <fault name="CybozuError">
        <soap12:body use="literal" namespace="http://wsdl.cybozu.co.jp/bulletin/2008" />
      </fault>
    </operation>

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

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

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

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

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

    
  </binding>
  
</definitions>
