我最近开始使用 SOAP,但发现很难理解抽象复杂类型的使用。
我正在尝试向 wsdl 发出请求,但我一直收到错误消息。'指定的类型是抽象的:name="HomeAffairsIDVRequestedBase"。
我的 php 如下:
$result = $this->soap->__soapCall('PlaceRequest',array('PlaceRequest'=>
array('request' =>
array(
'type'=> 'tns:HomeAffairsIDVStandardRequest',
"IsBatchSearch"=>false,
"ParentRequestId"=>0,
"Reference"=>'test',
"Requester"=>'axxess',
"SessionId"=>'true',
"IdNumber"=>$this->idNumber
))));
目标 wsdl 部分如下
<s:element name="PlaceRequest">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="request" type="tns:HomeAffairsIDVRequestBase"/>
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="HomeAffairsIDVRequestBase" abstract="true">
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="IsBatchSearch" type="s:boolean"/>
<s:element minOccurs="1" maxOccurs="1" name="ParentRequestId" nillable="true" type="s:int"/>
<s:element minOccurs="0" maxOccurs="1" name="Reference" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="Requester" type="s:string"/>
<s:element minOccurs="1" maxOccurs="1" name="SessionId" nillable="true" type="s1:guid"/>
</s:sequence>
注意:我无法编辑 wsdl。
慕婉清6462132