公司项目需要与sap(abap)接口通信,我这边是php,对方是sap。new SoapClient()时就报错。现在把对方wsdl文件拿到本地做(线上是有用户密码)$wsdl = "http://www.svnmms.com/DOC_WEBI_YLL_RFC02.WSDL";
try{
$client = new SoapClient($wsdl,array('soap_version'   => SOAP_1_2));
}catch(Exception $e){
  //echo 'Message:'.$e->getMessage();
        echo $e->__toString();
   }var_dump($client->__getFunctions());
?>
执行后报错:
SOAP-ERROR: Parsing WSDL: Unknown required WSDL extension 'http://schemas.xmlsoap.org/ws/2004/09/policy'查百度
<wsp:UsingPolicy wsdl:required="true"/> 说是要把true改为false 我改后又报这错
SOAP-ERROR: Parsing WSDL: Couldn't bind to service小弟现在把sap给我的wsdl文件也上传上来,麻烦大家帮我看看,问题出在哪里,如何解决问题。WSDL内容:

解决方案 »

  1.   

    后来我改用SoapParam这个。还是有报错。SoapFault exception: [VersionMismatch] Wrong Version$wsdl = "http://XXXXXXX/sap/bc/srt/wsdl/flv_10002A111AD1/bndg_url/sap/bc/srt/rfc/sap/yll_rfc02/300/yll_rfc02/yll_rfc021?sap-client=300?wsdl";
    $client = new SoapClient(null,array(
    'location'=>$wsdl,
    'uri'=>"XXXXXXX",
    'login' => 'IF_ALL',
    'password' => '123456', 'soap_version' => SOAP_1_2,
    'style'    => SOAP_DOCUMENT,
                'use'      => SOAP_LITERAL,
    'cache_wsdl' => WSDL_CACHE_NONE, 
    'features' => SOAP_SINGLE_ELEMENT_ARRAYS, 
    'exceptions'=>true,
     "stream_context" => stream_context_create(
                    array(
                        'ssl' => array(
                            'verify_peer' => false,
                            'verify_peer_name' => false,
                        )
                    )
                ),
    'https' => array(
    'curl_verify_ssl_peer'  => false,
    'curl_verify_ssl_host'  => false
    )
    ));
    $str =  $client->YllRfc02(new SoapParam('123', 'IMatnr'));
    var_dump($str);
    } catch (Exception $e) {                           
            printf("Error:sendSms: %s\n",$e->__toString());
            return false;      echo 'Message:'.$e->getMessage();
      

  2.   

    给出可够访问的 url
      

  3.   

    http://172.16.9.30:8000/sap/bc/srt/wsdl/flv_10002A111AD1/bndg_url/sap/bc/srt/rfc/sap/yll_rfc01/300/yll01/yll011?sap-client=300
    不知道外网能不能打开。我在公司是挂VPN访问 的。不过还有个sapsrv01.zhongwang.com:8000 您看看能不能访问