Ótima discussão, me ajudou com um problema semelhante.:)
Avalados por :
Olá,
Criei um serviço web no Cloud Application Studio para um Objeto de Negócio personalizado que fiz.
Agora quero criar uma nova instância desse O.N. utilizando um Formulário HTML e PHP.
Testei o serviço web usando o SOAPUI e criei com sucesso uma nova instância do objeto.
No entanto, ao tentar fazer isso através de um Formulário HTML usando PHP, recebo a seguinte mensagem de erro:
Erro fatal: Exceção SoapFault : [WSDL] ERRO SOAP: Analisando WSDL: Não foi possível carregar de 'https://my307371.crm.ondemand.com/sap/bc/srt/scs/sap/yygyhi4a8y_webtoleadservice?sap-vhost=my307371....' : erro ao carregar a entidade externa "https://my307371.crm.ondemand.com/sap/bc/srt/scs/sap/yygyhi4a8y_webtoleadservice?sap-vhost=my307371...." em C:\xampp\htdocs\WebToLead\sendToC4C.php:58 Rastreamento da pilha: #0 C:\xampp\htdocs\WebToLead\sendToC4C.php(58): SoapClient->SoapClient('https://my30737...', Array) #1 {principal} lançado em C:\xampp\htdocs\WebToLead\sendToC4C.php em linha 58
Atualmente estou tentando usar o seguinte código PHP:
//Configurar Cliente SOAP
$url = "https://my307371.crm.ondemand.com/sap/bc/srt/scs/sap/yygyhi4a8y_webtoleadservice?sap-vhost=my307371....";
$cliente = new SoapClient($url);
//Criar Cabeçalho
$auth = new Authentication($usuario, $senha);
$cabeçalho = new SoapHeader("http://0003427388-one-off.sap.com/YGYHI4A8Y_", "Autenticação", $auth, false);
//Chamar Função
$resultado = $cliente->__soapCall("Criar", array(
"WebToLead" => array(
"IDLead" => $ID_in,
"NomeProduto" => $NOMEPRODUTO_in,
"NomeContato" => $NOMECONTATO_in,
"EmailContato" => $EMAILCONTATO_in,
"DataCriação" => $DATACRIACAO_in
)
), NULL, $cabeçalho);
//Resultado
echo "<pre>".print_r($resultado, TRUE)."</pre>";
if ($resultado->Criar->Estado == "Sucesso") {
echo "Lead criado.";
Ótima discussão, me ajudou com um problema semelhante.:)
Algo está errado com a estrutura da propriedade
dê uma olhada aqui php - SOAP-ERROR: Encoding: Object has no property - Stack Overflow
Não tinha ideia de que deveria ser usado assim!
Muito obrigado.
Mas agora surge um erro diferente:
Erro fatal: Exceção SoapFault não capturada: [Cliente] ERRO DE SOAP: Codificação: o objeto não possui a propriedade 'BasicMessageHeader' em C:\xampp\htdocs\WebToLead\sendToC4C.php:74 Rastreamento de pilha: #0 C:\xampp\htdocs\WebToLead\sendToC4C.php(74): SoapClient->__soapCall('Create', Array, NULL, Object(SoapHeader)) #1 {main} lançado em C:\xampp\htdocs\WebToLead\sendToC4C.php na linha 74
Alguma ideia de como resolver isso?
O que eles querem dizer com "objeto" aqui?
Parece que o construtor da instância do cliente SOAP está solicitando o link do arquivo WSDL.
Você está fornecendo a URI do serviço!
Faça o download do WSDL e tente apontar para a pasta:
$url = "/wsdl/tuwswsdl.wsdl"
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute