我一直在尝试使用具有下面的WSDL文件的Web服务。我不确定的一点是我本应该通过或做的第一部分。它要求一个带有tns类型的personaldetails对象被传递给它,但我不明白这意味着什么?我正在尝试使用的实际方法称为PersonalDetails_Update,并且将所有相关值传递给它,但它仍然失败,我怀疑这是与它在此之前要求的personadetails对象有关吗?使用SOAP的WDSL与PHP的Web服务
<s:element name="PersonalDetails_Update">
−
<s:complexType>
−
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="personaldetails" type="tns:PersonalDetails"/>
</s:sequence>
</s:complexType>
</s:element>
−
<s:complexType name="PersonalDetails">
−
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="ContactId" nillable="true" type="s:int"/>
<s:element minOccurs="1" maxOccurs="1" name="GenderId" type="s:int"/>
<s:element minOccurs="1" maxOccurs="1" name="EthnicityId" type="s:int"/>
<s:element minOccurs="0" maxOccurs="1" name="Title" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="Initials" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="Honours" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="FirstName" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="Surname" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="Salutation" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="Position" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="Department" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="Organisation" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="AccessRequirements" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="DietaryNeeds" type="s:string"/>
<s:element minOccurs="1" maxOccurs="1" name="BirthDate" nillable="true" type="s:dateTime"/>
<s:element minOccurs="1" maxOccurs="1" name="IsNewContact" type="s:boolean"/>
<s:element minOccurs="1" maxOccurs="1" name="HoldingId" nillable="true" type="s:int"/>
<s:element minOccurs="1" maxOccurs="1" name="WebId" nillable="true" type="s:int"/>
<s:element minOccurs="1" maxOccurs="1" name="RecruitedId" type="s:int"/>
</s:sequence>
</s:complexType>
−
<s:element name="PersonalDetails_UpdateResponse">
−
<s:complexType>
−
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="PersonalDetails_UpdateResult" type="s:int"/>
</s:sequence>
</s:complexType>
</s:element>
$ client = new SoapClient(null,array('location'=>“http://localhost/soap.php”, 'uri'=>“http:// test-uri /”, 'style'=> SOAP_DOCUMENT, 'use'=> SOAP_LITERAL)); 你知道这些参数指的是什么以及我可能在哪里找到它们 - 特别是URI和位置。这个例子没有很好的记录。 – chocolatecoco 2010-07-22 09:51:34
@baswoni这些参数是您在非wsdl模式下工作时通常通过的选项,例如当构造函数的第一个参数为null时。这些选项在http://de2.php.net/manual/en/soapclient.soapclient.php – Gordon 2010-07-22 10:05:30
详细解释。我将使用WSDL与此Web服务进行接口,所以我仍然处于死胡同,而我我试图得到我原来的问题的答案 - 为什么有PersonalDetails对象和PersonalDetails_Update对象?我没有看到你提供的链接如何帮助回答这个问题? – chocolatecoco 2010-07-22 10:24:54