это то, что я хочу:SOAP - префикс без имен
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tps="http://mysite.it">
<soapenv:Header/>
<soapenv:Body>
<tps:getBook>
<tps:id>45</tps:id>
</tps:Retrieve_getBook_Poi_Recordset>
</soapenv:Body>
</soapenv:Envelope>
, но это у меня есть:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tps="http://mysite.it">
<soapenv:Header/>
<soapenv:Body>
<tps:getBook xmlns:tps="http://mysite.it">
<tps:id xmlns:tps="http://mysite.it">45</tps:id>
</tps:Retrieve_getBook_Poi_Recordset>
</soapenv:Body>
</soapenv:Envelope>
Я использую javax.xml.soap * для создания мыла сообщения.. .. и я не могу найти способ вставки только префикса в тег param.
это код для создания мыла сообщения:
MessageFactory msgFactory = null;
SOAPMessage message = null;
msgFactory = MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);
message = msgFactory.createMessage();
SOAPEnvelope messageEnvelope = message.getSOAPPart().getEnvelope();
SOAPBody messageBody = messageEnvelope.getBody();
messageEnvelope.addNamespaceDeclaration(PREFIX, getNameSpace(method));
SOAPElement soapMethod = messageBody.addChildElement(method, PREFIX);
SOAPElement param = soapMethod.addChildElement("id",PREFIX);
param.addTextNode("45");
, что я могу сделать, чтобы удалить только пространство имен?
Опубликованный вами xml не является корректным. В любом случае, попробуйте заменить _messageBody.addChildElement (метод, PREFIX); _ с _messageBody.addChildElement (envelope.createName (метод, PREFIX, getNameSpace (метод)); _ –
благодарю за вашу помощь ... mhhmh..na !. ...это то же самое -_-'.... – Ging3r