我需要从现有的WSDL文件为使用OCPP协议的系统创建一个中心系统(SOAP服务器)。(开放充电桩协议)
我已经成功地在非wsdl模式和wsdl模式下编写了测试SOAP服务器和客户机,但是当我尝试使用现有的wsdl时,我得到的只是一堆错误(这并不能告诉我太多)
可以在此处找到WSDL文件(中央系统和chargepoint。抱歉,无法发布更多链接..)
我已经修复了一些错误,但是不能越过这个。
我想server.php有一个错误,没有返回任何东西,但是我不知道为什么或者如何使它工作。
为什么服务器不能识别请求或这里发生了什么?
变量转储($client)-
String(201)msgstr"POST /testi/OCPPServer.phpHTTP/1.1主机:127.0.0.1连接:保持存活用户代理:PHP-SOAP/5.6.8内容类型:应用程序/肥皂xml; charset=utf-8; action="/Heartbeat"内容长度:276"
变量转储($client)-
字符串(276)"1234"
变量转储($client)-
无效的
变量转储($client)-
无效的
这是我得到的代码:
server.php
<?php
ini_set("soap.wsdl_cache_ttl", "0");
header("Content-type:text/xml");
# This class handles OCPP central system functions
class OCPPFunctions {
public function Heartbeat() {
#$date = date('Y-m-d H:i:s');
#return array('currentTime' => $date);
#return $date;
#test datetime
return array('currentTime' => '2010-10-10T10:10:10Z');
}
public function BootNotification($params) {
$result['RegistrationStatus'] = "Accepted";
$result['currentTime'] = "";
$result['heartbeatInterval'] = 100000;
return $result;
}
}
$server = new SoapServer("http://127.0.0.1/testi/ocppcp.wsdl",
array('trace' => 1));
$server->setClass('OCPPFunctions');
$server->handle();
?>
客户php
<?php
ini_set("soap.wsdl_cache_ttl", "0");
$wsdl_local = "http://127.0.0.1/testi/ocppcs.wsdl";
$client = new SoapClient($wsdl_local,
array('trace' => 1 ,
'soap_version' => SOAP_1_2,
'location' => 'http://127.0.0.1/testi/server.php'));
$header = new SoapHeader('urn://Ocpp/Cs/2012/06/', 'chargeBoxIdentity', '1234' );
$client->__setSoapHeaders($header);
var_dump($client->__getFunctions());
echo '<br>';
try {
$result = $client->__soapCall('Heartbeat', array());
echo $result;
} catch(SoapFault $e) {
var_dump($e);
}
?>
SoapFaultvar_dump($e)我得到的是:
对象(SoapFault)#3(9){["消息": protected]=
任何帮助或提示将不胜感激!
var_dump(client);
如果它返回NULL,则它是一个网络问题;如果它返回soap调用详细信息,则它是一个代码问题。
这是最有可能在你的肥皂选项数组,因为如果我没记错uri和选项仅用于当wdsl是一个空值(NON-WDSL模式)
我想创建PHP SOAP服务器,但不明白如何正确地做到这一点。下面是server.php文件: client.php文件: wsdl文件: 日食图像 压缩所有文件 我用Eclipse Web服务XML编辑器创建了WSDL文件。现在我不知道如何创建功能。我得到以下错误: 致命错误:在C:\wamp\www\soap websiteservice wsdl\client中未找到未捕获的SoapFaul
我试图开发一个快速的SOAP服务器,以便在使用Spring-Boot和Spring-WS进行测试时使用。首先是合同,因为我有现有的WSDL和XSD文件,并在构建时从它们生成java类。但是,当我通过使用或SOAPUI发送请求时,我会得到以下错误: (亮点: 这个问题的答案是肯定的,我的endpoint是用注释的。完整设置如下: Build.Gradle mocksoapconfig.java 因此
我需要从wsdl(使用wsdl url)为一个操作创建SOAP请求xml。我从一个web服务调用得到一个响应,我需要从这个响应中获取一些值,并将其添加到另一个web服务Soap请求中,然后再次执行一个web服务调用。因此,为了向soap请求添加新值,我需要获得完整的soap请求xml。这就是为什么我问如何从WSDD获得soap请求xml。我不能使用SoapUI,因为它每次都是动态的,所以我需要编写
我的SOAP请求有问题。当我尝试向服务器发出下面的肥皂请求时,它会返回预期的结果。 位置: 输入: 输出: 它返回此连接的令牌。 但是当我尝试处理下面的请求时,它返回整个wsdl文件,而不是成功/失败响应。 地点:http://api.notificationmessaging.com/NMSOAP/NotificationService?wsdl 输入: 输出: 预期输出: 有人能提出实际问题是
我尝试了在原始wsdl中为EPR定义的protocal,以便与Axis2.xml中httpFrontendHostUrl参数中定义的protocal匹配,但这并不有用。 提前谢了。哈里卡。
什么会阻止 命令完成?它永远不会返回到命令提示符或报告任何类型的错误。相反,它反复在“新”,“已分配”,“就绪”和“开始”之间切换。 这是命令: 这是来自“DevOps 2.1工具包 - Docker群”,维克多·法西奇的一本书,我遇到了一个我无法克服的问题...... 我试图在一群三个节点上运行一个反向代理服务,所有节点都在LinuxMint系统上本地运行,而< code>docker serv