春季:将webServiceTemplate信封“ env”更改为“ soapenv”

时间:2018-12-17 22:40:09

标签: java xml spring web-services soap

我尝试致电组织,但没有WSDL。我正在尝试使用webServiceTemplate发出SOAP请求。

        <ws:RegistrarEntrada xmlns:ws="http://ws.rtaws.rtaws.jccm.es" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> 
        <sUsuario>user</sUsuario> 
        <sClave>pass</sClave> 
        <strXML> 
            &lt;Datos&gt;
            &lt;AcuseRecibo&gt;N&lt;/AcuseRecibo&gt;
            &lt;CodSIACI&gt;SJT3&lt;/CodSIACI&gt;
            &lt;CodUniOrgDest&gt;850&lt;/CodUniOrgDest&gt;
            &lt;Observaciones&gt;Registro.&lt;/Observaciones&gt;
            &lt;ExisteRep&gt;N&lt;/ExisteRep&gt;
            &lt;NumDocumentos&gt;0&lt;/NumDocumentos&gt;
            &lt;/Datos&gt;
        </strXML> 
    </ws:RegistrarEntrada>

将要发出SOAP请求时,在webServiceTemplate.sendSourceAndReceiveToResult(source, result);中添加一个信封,然后发出请求:

 <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
 <env:Header/>
 <env:Body>
    <ws:RegistrarEntrada xmlns:ws="http://ws.rtaws.rtaws.jccm.es" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> 
        <sUsuario>user</sUsuario> 
        <sClave>pass</sClave> 
        <strXML> 
            &lt;Datos&gt;
            &lt;AcuseRecibo&gt;N&lt;/AcuseRecibo&gt;
            &lt;CodSIACI&gt;SJT3&lt;/CodSIACI&gt;
            &lt;CodUniOrgDest&gt;850&lt;/CodUniOrgDest&gt;
            &lt;Observaciones&gt;Registro.&lt;/Observaciones&gt;
            &lt;ExisteRep&gt;N&lt;/ExisteRep&gt;
            &lt;NumDocumentos&gt;0&lt;/NumDocumentos&gt;
            &lt;/Datos&gt;
        </strXML> 
        </ws:RegistrarEntrada>
    </env:Body>
</env:Envelope>

这是我发送请求时在日志中看到的:

 12:30:32,233 DEBUG sent:649 - Sent request [
 <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
 <env:Header/>
 <env:Body>
    <ws:RegistrarEntrada xmlns:ws="http://ws.rtaws.rtaws.jccm.es" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> 
        <sUsuario>user</sUsuario> 
        <sClave>pass</sClave> 
        <strXML> 
            &lt;Datos&gt;
            &lt;AcuseRecibo&gt;N&lt;/AcuseRecibo&gt;
            &lt;CodSIACI&gt;SJT3&lt;/CodSIACI&gt;
            &lt;CodUniOrgDest&gt;850&lt;/CodUniOrgDest&gt;
            &lt;Observaciones&gt;Registro.&lt;/Observaciones&gt;
            &lt;ExisteRep&gt;N&lt;/ExisteRep&gt;
            &lt;NumDocumentos&gt;0&lt;/NumDocumentos&gt;
            &lt;/Datos&gt;
        </strXML> 
        </ws:RegistrarEntrada>
    </env:Body>
</env:Envelope>]

12:30:33,722 DEBUG received:706 - Received response [

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Body>
        <ns1:RegistrarEntradaResponse xmlns:ns1="http://ws.rtaws.rtaws.jccm.es" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
            <RegistrarEntradaReturn xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="soapenc:string">
        &lt;?xml version="1.0" encoding="iso-8859-1"?&gt
        ;&lt;RTA-JCCM&gt;
        &lt;resultado&gt;0
        &lt;/resultado&gt;
        &lt;fecha&gt;04/12/2018 12:30:34
        &lt;/fecha&gt;
        &lt;/RTA-JCCM&gt;</RegistrarEntradaReturn>
    </ns1:RegistrarEntradaResponse>
</soapenv:Body>
</soapenv:Envelope>

] 
  

错误:'尚未声明前缀'soapenv'的命名空间。'

如何在webServiceTemplate中将前缀“ env”更改为“ soapenv”以发送正确的请求?

0 个答案:

没有答案