php 与 sap 接口通信问题

[复制链接]
查看11 | 回复4 | 2021-1-27 06:22:52 | 显示全部楼层 |阅读模式
公司项目需要与sap(abap)接口通信,我这边是php,对方是sap。newSoapClient()时就报错。现在把对方wsdl文件拿到本地做(线上是有用户密码)
$wsdl="http://www.svnmms.com/DOC_WEBI_YLL_RFC02.WSDL";
try{
$client=newSoapClient($wsdl,array('soap_version'=>SOAP_1_2));
}catch(Exception$e){
//echo'Message:'.$e->getMessage();
echo$e->__toString();
}
var_dump($client->__getFunctions());
?>

执行后报错:
SOAP-ERROR:ParsingWSDL:UnknownrequiredWSDLextension'http://schemas.xmlsoap.org/ws/2004/09/policy'
查百度
说是要把true改为false我改后又报这错
SOAP-ERROR:ParsingWSDL:Couldn'tbindtoservice
小弟现在把sap给我的wsdl文件也上传上来,麻烦大家帮我看看,问题出在哪里,如何解决问题。
WSDL内容:



分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:22:52 | 显示全部楼层
后来我改用SoapParam这个。还是有报错。SoapFaultexception:[VersionMismatch]WrongVersion
$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=newSoapClient(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(newSoapParam('123','IMatnr'));
var_dump($str);
}catch(Exception$e){
printf("Error:sendSms:%s\n",$e->__toString());
returnfalse;
echo'Message:'.$e->getMessage();

回复

使用道具 举报

千问 | 2021-1-27 06:22:52 | 显示全部楼层
给出可够访问的url
回复

使用道具 举报

千问 | 2021-1-27 06:22:52 | 显示全部楼层
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您看看能不能访问
回复

使用道具 举报

千问 | 2021-1-27 06:22:52 | 显示全部楼层
我在ui上测试可以
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行