ist falsch, ich bin ein Web-Service-Client zu entwickeln und ich hace einen Code wie diesen zu generieren:Erstellen von SOAP-Nachricht: NAMESPACE_ERR Es wird versucht, zu erstellen oder ein Objekt in einer Weise zu ändern, die im Hinblick auf die Namensräume
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:env="Envio_ConsultaSecuencia">
<soapenv:Header/>
<soapenv:Body>
<env:envio>
<env:cabecera>
<env:idMensaje>ABCDEFG<env:idMensaje>
<env:tipoMensaje>ABCDEFG</env:tipoMensaje>
</env:cabecera>
</env:envio>
</soapenv:Body>
</soapenv:Envelope>
Also, mein Problem ist, wenn ich versuche, das Präfix "env" bei Cabecera einzufügen. Dies ist der Code Ich verwende:
MessageFactory factory = MessageFactory.newInstance();
SOAPMessage message = factory.createMessage();
SOAPPart soapPart = message.getSOAPPart();
SOAPEnvelope envelope = soapPart.getEnvelope();
SOAPHeader header = envelope.getHeader();
SOAPBody body = envelope.getBody();
SOAPElement envio = body.addChildElement("envio");
envio.setPrefix("env");
SOAPElement cabecera = envio.addChildElement("cabecera");
cabecera.setPrefix("env");
(...)
Ich verstehe nicht, warum ich das Präfix „env“ in dem Soapelement namens einstellen „envío“ und wenn ich versuche, das gleiche mit „cabecera zu tun "Ich habe diesen Fehler:
org.w3c.dom.DOMException: NAMESPACE_ERR: An attempt is made to create or change an object in a way which is incorrect with regard to namespaces.
Ich werde Ihre Hilfe apreciete. Danke im Voraus.
EDIT:
ich die Lösung in Oracle Web gefunden https://docs.oracle.com/cd/E19340-01/820-6767/aeqfx/index.html
Der richtige Weg jedes Kind zu schaffen ist:
Name bodyName = envelope.createName("GetLastTradePrice", "m",
"http://eztrade.com")
SOAPBodyElement gltp = body.addBodyElement(bodyName);
Und das Präfix wird ohne Probleme eingesetzt.
Das ist alles!
Lösung gefunden. Ich bearbeite den Beitrag. –