PHP SoapClient를 사용하여 Webservice를 만들고 있습니다. http://web.abaseguros.com/AutoConnect/ACCatalogos.svc?wsdlPHP SOAPClient WCF 매개 변수를 보내는 중 오류가 발생했습니다.
그리고 여기 내 코드입니다 :
웹 서비스 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 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);
하지만 PHP는 다음과 같은 오류 메시지가 출력한다 : 회사는 나에게 샘플 코드를 준
Fatal error: Uncaught SoapFault exception: [a:DeserializationFailed] when i execute the script.
을 C#로 작성된 #
private void Obtener_Catalogo_ABASeguros()
{
string strEntrada, strSalida;
strEntrada = “<CAT><NEG>5786</NEG></CAT>“; +
ACCatalogosClient proxy = new ACCatalogosClient();
Token token = new Token();
token.usuario = "usuarioWCF";
token.password = "Pa$$w0rd";
try
{
strSalida = proxy.ObtenerMarcas(token, strEntrada);
}
catch (FaultException<Error> ex)
{
txtCotSalida.Text = string.Format("Ocurrio un error en el WCF:\n " +
"Origen: {0}\n "+
"Mensaje: {1}\n "+
"Stack: {2}", ex.Detail.Origen, ex.Detail.Mensaje, ex.Detail.StackTrace);
}
하지만 매개 변수가 두 언어로 전송되는 방식을 이해할 수는 없습니다.
어떤 도움말이 필요합니까?
그것은 didnt 한 작업 치명적인 오류 : catch되지 SOAPFault의 예외 : A : DeserializationFailed] : 동작 "ObtenerMarcas '을 요청 메시지의 바디를 역 직렬화에 오류 메시지를 직렬화하는 동안 포맷터 예외가 발생했습니다. 네임 스페이스 'http://schemas.xmlsoap.org/soap/envelope/'에서 'Body'끝 요소를 예상했습니다. 네임 스페이스 ''에서 요소 'param1'을 (를) 발견했습니다. –
예 토큰 개체를 사용하여 SAP 헤더를 보내고 있지만 토큰 개체에 대한 문서가 없습니다. –
은 c 프록시 클래스 내부의 구현을 살펴볼 가치가 있습니다. 죄송합니다. 설명서가 없으면별로 도움이되지 못합니다. – DavidLin