PHP SOAPClient WCF发送参数时出错
我正在使用PHP SoapClient开发一个Web服务 Web服务url为: 这是我的代码:PHP SOAPClient WCF发送参数时出错,php,wcf,web-services,soap,soap-client,Php,Wcf,Web Services,Soap,Soap Client,我正在使用PHP SoapClient开发一个Web服务 Web服务url为: 这是我的代码: <?php ini_set("soap.wsdl_cache_enabled", "0"); $pin = new SoapClient("http://web.abaseguros.com/AutoConnect/ACCatalogos.svc?wsdl"); class Token { var $usuario; var $password; function T
<?php
ini_set("soap.wsdl_cache_enabled", "0");
$pin = new SoapClient("http://web.abaseguros.com/AutoConnect/ACCatalogos.svc?wsdl");
class Token {
var $usuario;
var $password;
function Token($user,$pass) {
$this->usuario = $user;
$this->password = $pass;
}
}
//User and Password for the token object
$Token = new Token('usuarioWCF','Pa$$w0rd');
//XML 'Entrada' String
$Entrada = "<CAT><NEG>5786</NEG></CAT>";
$result = $pin->ObtenerMarcas($Token,$Entrada);
您的Soap客户端不知道如何反序列化对象令牌。您需要将该令牌对象转换为关联数组,并将该数组用作操作的参数
$pin->ObtenerMarcas(get_object_vars($Token),$Entrada);
恐怕即使您清除了此错误,您也无法成功使用该服务。看起来soap头中需要a令牌。您编写的C代码并没有向您展示所有内容,它将实现封装在代理类中。如果有文档,您需要进行读取,否则您必须读取嵌入在提供的全局wsdl链接中的导入wsdl文件。它不起作用,致命错误:未捕获的SoapFault异常:[a:反序列化失败]格式化程序在尝试反序列化消息时引发异常:反序列化操作“ObtenerMarcas”的请求消息体时出错。应为命名空间“”中的结束元素“Body”。从命名空间“”中找到元素“param1”。是的,我正在修补使用令牌对象发送sap标头的问题,但没有相关文档。值得一看c代理类内部的实现。抱歉,没有文档就帮不上什么忙
$pin->ObtenerMarcas(get_object_vars($Token),$Entrada);