使用SoapClient调用多个具有相同名称的方法

Krt*_*lta 5 php soap soap-client

我有一个SOAP Web服务,在SOAP UI中我看到有相同名称的方法.因此,例如,有两种CreateNewContact方法,其中一种方法需要3个参数,另外两种方法4.下面是SOAP UI生成的存根

方法1存根:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:rfp="http://test.com/testWebservice/">
   <soapenv:Header/>
   <soapenv:Body>
      <rfp:CreateNewContact_FullName>
         <!--Optional:-->
         <rfp:fullName>?</rfp:fullName>
         <!--Optional:-->
         <rfp:email>?</rfp:email>
         <!--Optional:-->
         <rfp:telNo>?</rfp:telNo>
      </rfp:CreateNewContact_FullName>
   </soapenv:Body>
</soapenv:Envelope>
Run Code Online (Sandbox Code Playgroud)

方法2存根:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:rfp="http://test.com/testWebservice/">
   <soapenv:Header/>
   <soapenv:Body>
      <rfp:CreateNewContact_FirstLastName>
         <!--Optional:-->
         <rfp:firstName>?</rfp:firstName>
         <!--Optional:-->
         <rfp:lastName>?</rfp:lastName>
         <!--Optional:-->
         <rfp:email>?</rfp:email>
         <!--Optional:-->
         <rfp:telNo>?</rfp:telNo>
      </rfp:CreateNewContact_FirstLastName>
   </soapenv:Body>
</soapenv:Envelope>
Run Code Online (Sandbox Code Playgroud)

当我CreateNewContact使用PHP SoapClient 调用带有4个参数的方法时,看起来我正在从另一个方法获得响应.

如何使用SoapClient指定使用哪种方法?

谢谢,

Dev*_*evy 0

我在使用 Travelport 通用 API 时也遇到过同样的问题,我最终修改了本地 wsdl 文件以对每种方法使用不同的名称,并且效果非常好。