[GENERIC] Zend_Translate:
[zend.git] / documentation / manual / ja / module_specs / Zend_Soap_Client.xml
blob2483078f4c6b97bcf34106dfc918ace11c059da5
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- Reviewed: no -->
3 <!-- EN-Revision: 20810 -->
4 <sect1 id="zend.soap.client">
5     <title>Zend_Soap_Client</title>
7     <para>
8         <classname>Zend_Soap_Client</classname>により<acronym>PHP</acronym>プログラマーにとって<acronym>SOAP</acronym>クライアントの開発が簡単になります。
9     </para>
11     <para>
12         WSDLモードまたは非WSDLモードで使用できるでしょう。
13     </para>
15     <para>
16         WSDLモードでは、<classname>Zend_Soap_Client</classname>コンポーネントは
17         トランスポート層オプションを定めるためにWSDLドキュメントを使います。
18     </para>
20     <para>
21         WSDL記述は通常、クライアントがアクセスするウェブ・サービスによって提供されます。
22         WSDL記述が利用できるようにならなければ、非WSDLモードで<classname>Zend_Soap_Client</classname>を使いたいかもしれません。
23         すべての<acronym>SOAP</acronym>プロトコル・オプションは、
24         このモードで明示的に<classname>Zend_Soap_Client</classname>クラス上に設定されなければなりません。
25     </para>
27     <sect2 id="zend.soap.client.constructor">
28         <title>Zend_Soap_Clientコンストラクタ</title>
29         <para>
30             <classname>Zend_Soap_Client</classname>コンストラクタには引数が2つあります:
31             <itemizedlist>
32                 <listitem>
33                     <para>
34                         <code>$wsdl</code> - WSDLファイルの<acronym>URI</acronym>
35                     </para>
36                 </listitem>
37                 <listitem>
38                     <para>
39                         <code>$options</code> - <acronym>SOAP</acronym>クライアントオブジェクトを作成するためのオプション
40                     </para>
41                 </listitem>
42             </itemizedlist>
44             これらのパラメータは両方とも、
45             それぞれ<methodname>setWsdl($wsdl)</methodname>や<methodname>setOptions($options)</methodname>メソッドで、
46             後から設定されるかもしれません。
47         </para>
49         <note>
50             <title>重要</title>
51             <para>
52                 もし非WSDLモードで<classname>Zend_Soap_Client</classname>コンポーネントを使う場合、
53                 'location' および 'uri' オプションを設定し<emphasis>なければなりません</emphasis>。
54             </para>
55         </note>
57         <para>
58             下記のオプションが許されています:
59             <itemizedlist>
60                 <listitem>
61                     <para>
62                         'soap_version' ('soapVersion') - 使用する<acronym>SOAP</acronym>バージョン (SOAP_1_1 または SOAP_1_2).
63                     </para>
64                 </listitem>
65                 <listitem>
66                     <para>
67                         'classmap' ('classMap') -
68                         一部の WSDL 型を<acronym>PHP</acronym>クラスにマップするために使います。
69                     </para>
70                     <para>
71                         このオプションは、キーとしてWSDL型、値として<acronym>PHP</acronym>クラス名をもつ配列でなければなりません。
72                     </para>
73                 </listitem>
74                 <listitem>
75                     <para>
76                         'encoding' - 内部文字エンコーディング。 (対外的なエンコーディングとしてUTF-8が常に使われます)
77                     </para>
78                 </listitem>
79                 <listitem>
80                     <para>
81                         'wsdl' <methodname>setWsdl($wsdlValue)</methodname>呼び出しと同じです。
82                     </para>
83                     <para>
84                         このオプションを変更すると、
85                         <classname>Zend_Soap_Client</classname>オブジェクトをWSDLモードに、または、から切り替えるかもしれません。
86                     </para>
87                 </listitem>
88                 <listitem>
89                     <para>
90                         'uri' - <acronym>SOAP</acronym>サービスのためのターゲットのネームスペース (非WSDLモードで必要です。WSDLモードでは動作しません)
91                     </para>
92                 </listitem>
93                 <listitem>
94                     <para>
95                         'location' - 要求する<acronym>URL</acronym> (非WSDLモードで必要です。WSDLモードでは動作しません)
96                     </para>
97                 </listitem>
98                 <listitem>
99                     <para>
100                         'style' - 要求形式 (WSDLモードでは動作しません): <code>SOAP_RPC</code> または <code>SOAP_DOCUMENT</code>
101                     </para>
102                 </listitem>
103                 <listitem>
104                     <para>
105                         'use' - メッセージをエンコードするメソッド (WSDLモードでは動作しません): <code>SOAP_ENCODED</code> または
106                         <code>SOAP_LITERAL</code>
107                     </para>
108                 </listitem>
109                 <listitem>
110                     <para>
111                         'login' および 'password' - <acronym>HTTP</acronym>認証のための login および password
112                     </para>
113                 </listitem>
114                 <listitem>
115                     <para>
116                         'proxy_host', 'proxy_port', 'proxy_login' および 'proxy_password' - プロキシ・サーバ経由の<acronym>HTTP</acronym>接続
117                     </para>
118                 </listitem>
119                 <listitem>
120                     <para>
121                         'local_cert' および 'passphrase' - <acronym>HTTPS</acronym>クライアント証明書認証オプション。
122                     </para>
123                 </listitem>
124                 <listitem>
125                     <para>
126                         'compression' - 圧縮オプション; 
127                         <code>SOAP_COMPRESSION_ACCEPT</code>や<code>SOAP_COMPRESSION_GZIP</code>、
128                         <code>SOAP_COMPRESSION_DEFLATE</code>の組み合わせです。
129                         下記のように使われるでしょう:
130                         <programlisting language="php"><![CDATA[
131 // レスポンスの圧縮を受け付けます
132 $client = new Zend_Soap_Client("some.wsdl",
133   array('compression' => SOAP_COMPRESSION_ACCEPT));
136 // 圧縮レベル5でqzipを使ってリクエストを圧縮します
137 $client = new Zend_Soap_Client("some.wsdl",
138   array('compression' => SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP | 5));
141 // deflate 圧縮を使ってリクエストを圧縮します
142 $client = new Zend_Soap_Client("some.wsdl",
143   array('compression' => SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_DEFLATE));
144 ]]></programlisting>
145                     </para>
146                 </listitem>
147             </itemizedlist>
148         </para>
149     </sect2>
151     <sect2 id="zend.soap.client.calls">
152         <title>SOAPリクエストの実行</title>
154         <para>
155             <classname>Zend_Soap_Client</classname>オブジェクトを作成したら、<acronym>SOAP</acronym>リクエストを実行する準備ができます。
156         </para>
157         <para>
158             ウェブ・サービス・メソッドそれぞれで、
159             一般的な<acronym>PHP</acronym>型のパラメータを持つ仮想<classname>Zend_Soap_Client</classname>オブジェクト・メソッドにマップされます。
160         </para>
162         <para>
163             それを下記の例のように使います:
164             <programlisting language="php"><![CDATA[
165 //****************************************************************
166 //                サーバのコード
167 //****************************************************************
168 // class MyClass {
169 //     /**
170 //      * このメソッドは ...
171 //      *
172 //      * @param integer $inputParam
173 //      * @return string
174 //      */
175 //     public function method1($inputParam) {
176 //         ...
177 //     }
179 //     /**
180 //      * このメソッドは ...
181 //      *
182 //      * @param integer $inputParam1
183 //      * @param string  $inputParam2
184 //      * @return float
185 //      */
186 //     public function method2($inputParam1, $inputParam2) {
187 //         ...
188 //     }
190 //     ...
191 // }
192 // ...
193 // $server = new Zend_Soap_Server(null, $options);
194 // $server->setClass('MyClass');
195 // ...
196 // $server->handle();
198 //****************************************************************
199 //                サーバのコード終了
200 //****************************************************************
202 $client = new Zend_Soap_Client("MyService.wsdl");
205 // $result1 は string です。
206 $result1 = $client->method1(10);
209 // $result2 は float です。
210 $result2 = $client->method2(22, 'some string');
211 ]]></programlisting>
212         </para>
213     </sect2>
214 </sect1>