0

phpからいくつかのwsdl関数を呼び出そうとしています。

私がこれらの2つの機能を持っているとしましょう:

**listStyleCategories**
Input:
<xs:complexType name="listStyleCategories">
<xs:sequence>
<xs:element name="arg0" type="xs:string" minOccurs="0"/>
</xs:sequence>
Output:
<xs:complexType name="listStyleCategoriesResponse">
<xs:sequence>
<xs:element name="return" type="tns:listStyleCategoriesOutputBean" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="listStyleCategoriesOutputBean">
<xs:sequence>
<xs:element name="categories" type="xs:string" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="statusInfo" type="xs:int" minOccurs="0"/>
</xs:sequence>
</xs:complexType>

**listStyleTypes**
Input:
<xs:complexType name="listStyleTypes">
<xs:sequence>
<xs:element name="arg0" type="tns:listStyleTypesInputBean" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="listStyleTypesInputBean">
<xs:sequence>
<xs:element name="category" type="xs:string" minOccurs="0"/>
<xs:element name="language" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
Output:
<xs:complexType name="listStyleTypesResponse">
<xs:sequence>
<xs:element name="return" type="tns:listStyleTypesOutputBean" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="listStyleTypesOutputBean">
<xs:sequence>
<xs:element name="detail" type="tns:listStyleTypesOutputDetailBean" nillable="true"    minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="statusInfo" type="xs:int" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="listStyleTypesOutputDetailBean">
<xs:sequence>
<xs:element name="icon" type="xs:base64Binary" minOccurs="0"/>
<xs:element name="styleId" type="xs:int" minOccurs="0"/>
<xs:element name="type" type="xs:string" minOccurs="0"/>
</xs:sequence>
</xs:complexType>

単一のパラメーターを持つ最初のパラメーターを呼び出すと、すべて問題ありません。

$param = array('arg0' =>$language);
$result = $client->listStyleCategories($param);
$result_arr = objectToArray($result);
echo "<pre>";print_r($result_arr);echo "</pre>";

しかし、2つのパラメーターを使用して2番目の関数を呼び出すと、UNEXPECTED_ERRORが発生します。

$param = array('category' =>'Woman','language'=>$language);
$result = $client->listStyleTypes($param);
$result_arr = objectToArray($result);   
echo "<pre>";print_r($result_arr);echo "</pre>";

「女性」カテゴリと定義された言語が正しいことを私はよく知っています。たぶん私は間違ったパラメータを構築していますか?

前もって感謝します。

4

1 に答える 1

0

私はこのようなことを試してみます:

$params = array('arg0' => array('category' =>'Woman','language'=>$language));
$result = $client->listStyleTypes($param);

関数は、2 つの値の複合型 (ハッシュ) であることを除いてlistStyleTypes似ています。listStyleCategoriesarg0

于 2012-11-26T22:45:24.233 に答える