使用SOAP-WDSL和PHP的Web服务

使用SOAP-WDSL和PHP的Web服务,php,web-services,wsdl,soap-client,Php,Web Services,Wsdl,Soap Client,我一直在尝试使用一个Web服务,它有下面的WSDL文件。我不确定的一点是我应该通过什么,或者用它的第一部分做什么。它要求将带有tns类型的personaldetails对象传递给它,但我不明白这意味着什么?我尝试使用的实际方法称为PersonalDetails\u Update,我正在将所有相关值传递给它,但它一直失败,我怀疑这与它之前请求的PersonalDetails对象有关 <s:element name="PersonalDetails_Update"> − <s:co

我一直在尝试使用一个Web服务,它有下面的WSDL文件。我不确定的一点是我应该通过什么,或者用它的第一部分做什么。它要求将带有tns类型的personaldetails对象传递给它,但我不明白这意味着什么?我尝试使用的实际方法称为PersonalDetails\u Update,我正在将所有相关值传递给它,但它一直失败,我怀疑这与它之前请求的PersonalDetails对象有关

<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>

−
−
−
−
−
−
−

请查看和。两者都有关于如何编写Soap客户端的信息。

要发送的信息的结构如下:

<Envelope>
  <Header/>
  <Body>
    <PersonalDetails_Update>
      <personaldetails>
        <ContactId>[some value]</ContactId>
        <GenderId>[some value]</GenderId>
        <EthnicityId>[some value]</EthnicityId>
        <Title>[some value]</Title>
        <Initials>[some value]</Initials>
        <Honours>[some value]</Honours>
        <FirstName>[some value]</FirstName>
        <Surname>[some value]</Surname>
        <Salutation>[some value]</Salutation>
        <Position>[some value]</Position>
        <Department>[some value]</Department>
        <Organisation>[some value]</Organisation>
        <AccessRequirements>[some value]</AccessRequirements>
        <DietaryNeeds>[some value]</DietaryNeeds>
        <BirthDate>[some value]</BirthDate>
        <IsNewContact>[some value]</IsNewContact>
        <HoldingId>[some value]</HoldingId>
        <WebId>[some value]</WebId>
        <RecruitedId>[some value]</RecruitedId>
      </personaldetails>
    </PersonalDetails_Update>
  </Body>
</Envelope>

[一些价值]
[一些价值]
[一些价值]
[一些价值]
[一些价值]
[一些价值]
[一些价值]
[一些价值]
[一些价值]
[一些价值]
[一些价值]
[一些价值]
[一些价值]
[一些价值]
[一些价值]
[一些价值]
[一些价值]
[一些价值]
[一些价值]
PersonalDetails\u Update是您将使用的服务 personaldetails是将保存详细信息的对象
PersonalDetails定义详细信息

$client=new SoapClient(null,数组('location'=>“”,'uri'=>“”,'style'=>SOAP\u DOCUMENT,'use'=>SOAP\u LITERAL));您知道这些参数指的是什么,以及在哪里可以找到它们吗?特别是URI和位置。该示例没有很好的文档记录。@baswoni这些参数是选项,在非wsdl模式下工作时,例如当构造函数的第一个参数为null时,通常会传入这些选项。我将使用WSDL与该Web服务进行接口,因此我仍然处于死胡同,我试图为我最初的问题找到答案-为什么会有PersonalDetails对象和PersonalDetails\u更新对象?我不知道你提供的链接如何帮助回答这个问题?