首页 > 解决方案 > SoapFault 异常:[VersionMismatch] 错误版本

问题描述

我在本地机器上制作了一个 SOAP Web 服务。我通过文件调用 SOAP 客户端some.wsdl,工作正常。但我尝试使用完整的主机 URLhttp://flow.local/soap/some.wsdl

index.php(带有 SOAP)客户端:

<?php
  //Here change the client to 'some wsdl' / 'http://flow.local/soap/some.wsdl'
  $client = new SoapClient("http://flow.local/soap/some.wsdl",
    array('soap_version' => SOAP_1_2,'trace' => 1 ));
  var_dump($client->__getFunctions());
  $return = $client->__soapCall("hello",array("World"));
  echo("\nReturning value: ".$return);

这是soap.php

<?php
  function hello($someone)
  {
    return "Hello " . $someone . "! - With WSDL";
  }

  ini_set("soap.wsdl_cache_enabled", "0");
  $server = new SoapServer("http://flow.local/soap/some.wsdl",
    array('soap_version' => SOAP_1_2));
  $server->addFunction("hello");
  $server->handle();

当然,我有一个 wsdl 模式文件。

当我使用完整的 URLhttp://flow.local/soap/some.wsdl时返回:

“致命错误:未捕获的 SoapFault 异常:[VersionMismatch] 错误版本!”

其他工作正常。

Win10Pro,WAMP 服务器,PHP 版本 7.2.18。

标签: phpweb-servicessoapwsdl

解决方案


推荐阅读