Тратить Веб Service.NET с SQL посылая параметры string

Я стараюсь посылать дату в WS, у которой есть так называемый метод "Добавлять", метод, в который я должен посылать ему параметр "xmlString" с string, и да совсем смотри ты хорошо он возвращает мне параметр ответа "AgregarResult" с ответом success или fail.

Присоединившись в WS с PHP пойди совсем совершенным, но я нуждаюсь в том, чтобы присоединиться с SQL SERVER 2008 в WS и это делаю, как он появляется на фотографии, и получаю ответ, который:

"Нет элемента Корень".

Я предполагаю, что он относится к переменной, которая ждет метод WS, и также предполагаю, что связь с SQL функционирует, так как, по крайней мере, у меня есть ошибка.

Моя консультация:

  • В какой части кода SQL я должен призывать метод WS?
  • Где и как я посылаю ему параметр с string в WS?

Благодарен за помощь.

Declare @Object as Int;
Declare @ResponseText as Varchar(8000);
Declare @sUrl varchar(max);
Declare @xmlString varchar (8000);
Declare @largo varchar (max);
Declare @SOAPAction varchar (max)

SET @xmlString = '<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<Agregar xmlns="http://qa.in-touch.cl/">
    <xmlString>
        <![CDATA[ 
        <Cliente>
                <Identificador>'+@Concesionario+'</Identificador> 
                <IdCotizacion>'+@IdCotizacion+'</IdCotizacion>
                <IdNegocio>'+@IdNegocio+'</IdNegocio>
                <FhoCreacion>'+@FhoCreacion+'</FhoCreacion>
                <Rut>'+@Rut+'</Rut>
                <Nombre>'+@Nombre+' Andres</Nombre>
                <ApPaterno>'+@ApPaterno+'</ApPaterno>
                <ApMaterno>'+@ApMaterno+'</ApMaterno>
                <Telefono>'+@Telefono+'</Telefono>
                <Email>'+@Email+'</Email>
                <FechaNac>'+@FechaNac+'</FechaNac>
                <Genero>'+@Genero+'</Genero>
                <IndVehPropio>'+@IndVehPropio+'</IndVehPropio>                   
           <CodMarcaVehPropio>'+@CodMarcaVehPropio+'</CodMarcaVehPropio> 
        <CodModeloVehPropio>'+@CodModeloVehPropio+'</CodModeloVehPropio>
                <AnoVehPropio>'+@AnoVehPropio+'</AnoVehPropio>
                <ChkVehLista>'+@ChkVehLista+'</ChkVehLista>
                <TxtMarca>'+@TxtMarca+'</TxtMarca>
                <TxtModelo>'+@TxtModelo+'</TxtModelo> 
                <TxtAnoVehDos>'+@TxtAnoVehDos+'</TxtAnoVehDos>
                <CodMarcaDitec>'+@CodMarcaDitec+'</CodMarcaDitec>
                <CodEstiloDitec>'+@CodEstiloDitec+'</CodEstiloDitec>
                <CodModeloDitec>'+@CodModeloDitec+'</CodModeloDitec> 
                <CodSucursal>'+@CodSucursal+'</CodSucursal>
                <CodVendedor>'+@CodVendedor+'</CodVendedor>                  
           <IndFinanciamiento>'+@IndFinanciamiento+'</IndFinanciamiento>
                <Pie>'+@Pie+'</Pie>
                <Cuotas>'+@Cuotas+'</Cuotas>
                <Observaciones>'+@Observaciones+'</Observaciones>
                <CodOrigen>'+@CodOrigen+'</CodOrigen>
                <Concesionario>'+@Concesionario+' CD</Concesionario>
                <UsuarioCreador>'+@UsuarioCreador+'</UsuarioCreador>
            </Cliente>
            ]]>
        </xmlString>
    </Agregar>
    </soap:Body>
</soap:Envelope>'

SET @largo = LEN(@xmlString)
SET @sUrl = 'http://landing.in-touch.cl/wsditec/carga.asmx?WSDL'
SET @SOAPAction = 'http://qa.in-touch.cl/Agregar'

Exec sp_OACreate 'MSXML2.ServerXMLHTTP', @Object OUT;
Exec sp_OAMethod @Object, 'open', NULL, 'POST', @sUrl,'false'
Exec sp_OAMethod @Object ,'setRequestHeader'    ,NULL ,'Host'           
,'landing.in-touch.cl'
Exec sp_OAMethod @Object ,'setRequestHeader'    ,NULL ,'Content-Type'   
,'text/xml; charset=utf-8'
Exec sp_OAMethod @Object ,'setRequestHeader'    ,NULL ,'Content-Length' , 
@largo
Exec sp_OAMethod @Object ,'setRequestHeader'    ,NULL ,'SOAPAction'     , 
@SOAPAction
Exec sp_OAMethod @Object, 'send'                ,NULL, @xmlString
Exec sp_OAMethod @Object, 'responseText', @ResponseText OUTPUT
Exec sp_OADestroy @Object

Привет!!

6
задан 22.08.2019, 02:22
1 ответ

Добавь элемент

<?xml version="1.0" encoding="UTF-8"?>

к твоему xml. Это элемент raГ-z.

<xmlString>
    <![CDATA[ <?xml version="1.0" encoding="UTF-8"?>
    <Cliente>
            <Identificador>'+@Concesionario+'</Identificador> 
            <IdCotizacion>'+@IdCotizacion+'</IdCotizacion>
-1
ответ дан 03.12.2019, 06:44
  • 1
    это уже присоединяется, это показывает в вопросе: SET @xmlString = ' <? xml версия =" 1.0" encoding =" utf-8"? > – Jorgesys♦ 22.08.2019, 01:53