本文整理汇总了Java中org.springframework.ws.soap.saaj.SaajSoapMessage类的典型用法代码示例。如果您正苦于以下问题:Java SaajSoapMessage类的具体用法?Java SaajSoapMessage怎么用?Java SaajSoapMessage使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
SaajSoapMessage类属于org.springframework.ws.soap.saaj包,在下文中一共展示了SaajSoapMessage类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: doWithMessage
import org.springframework.ws.soap.saaj.SaajSoapMessage; //导入依赖的package包/类
@Override
public void doWithMessage(WebServiceMessage request) throws IOException, TransformerException {
callback.doWithMessage(request);
SaajSoapMessage message = (SaajSoapMessage) request;
SOAPMessage mes = message.getSaajMessage();
try {
SOAPBody body = mes.getSOAPBody();
SOAPElement queryEle = (SOAPElement) body.getChildElements().next();
SOAPElement kehaEle = (SOAPElement) queryEle.getChildElements().next();
java.util.Iterator kehaChilds = kehaEle.getChildElements();
while (kehaChilds.hasNext()) {
Object nextEle = kehaChilds.next();
if (nextEle instanceof SOAPElement) {
addType((SOAPElement) nextEle);
}
}
} catch(Exception ex) {
ex.printStackTrace();
}
}
示例2: doWithMessage
import org.springframework.ws.soap.saaj.SaajSoapMessage; //导入依赖的package包/类
public void doWithMessage(WebServiceMessage message) throws IOException, TransformerException {
callback.doWithMessage(message);
try {
SaajSoapMessage saajMessage = (SaajSoapMessage) message;
SOAPMessage soapmess = saajMessage.getSaajMessage();
SOAPEnvelope env = soapmess.getSOAPPart().getEnvelope();
env.addNamespaceDeclaration("xro", "http://x-road.ee/xsd/x-road.xsd");
Iterator headers = env.getHeader().getChildElements();
while (headers.hasNext()) {
SOAPElement header = (SOAPElement) headers.next();
if (header.getNamespaceURI().equalsIgnoreCase("http://x-rd.net/xsd/xroad.xsd")) {
String localHeaderName = header.getLocalName();
QName qName = new QName("http://x-road.ee/xsd/x-road.xsd", localHeaderName, "xro");
header.setElementQName(qName);
}
}
} catch (SOAPException e) {
throw new RuntimeException(e);
}
}
示例3: doWithMessage
import org.springframework.ws.soap.saaj.SaajSoapMessage; //导入依赖的package包/类
public void doWithMessage(WebServiceMessage message) throws IOException, TransformerException {
callback.doWithMessage(message);
try {
SaajSoapMessage saajMsg = (SaajSoapMessage) message;
SOAPMessage soapMsg = saajMsg.getSaajMessage();
SOAPEnvelope env = soapMsg.getSOAPPart().getEnvelope();
env.addNamespaceDeclaration(ns, nsV31Uri);
Iterator headers = env.getHeader().getChildElements();
while (headers.hasNext()) {
SOAPElement header = (SOAPElement) headers.next();
if (header.getNamespaceURI().equalsIgnoreCase(nsV30Uri)) {
QName qName = new QName(nsV31Uri, header.getLocalName(), ns);
header.setElementQName(qName);
}
}
formatDate(saajMsg, startDate);
formatDate(saajMsg, endDate);
} catch (SOAPException e) {
throw new RuntimeException(e);
}
}
示例4: formatDate
import org.springframework.ws.soap.saaj.SaajSoapMessage; //导入依赖的package包/类
private void formatDate(SaajSoapMessage saajMsg, Date date) throws TransformerException {
if (date == null) {
return;
}
SOAPPart soapPart = saajMsg.getSaajMessage().getSOAPPart();
Source source = new DOMSource(soapPart);
StringResult stringResult = new StringResult();
TransformerFactory.newInstance().newTransformer().transform(source, stringResult);
try {
String from = dateWithTimezone.format(date);
String to = dateWithoutTimezone.format(date);
String content = StringUtils.replace(stringResult.toString(), from, to);
soapPart.setContent(new StringSource(content));
} catch (Exception e) {
throw new TransformerException(e);
}
}
示例5: substitute
import org.springframework.ws.soap.saaj.SaajSoapMessage; //导入依赖的package包/类
/**
* Substitutes all occurences of some given string inside the given {@link WebServiceMessage} with another value.
*
* @param message message to substitute in
* @param from the value to substitute
* @param to the value to substitute with
* @throws TransformerException
*/
public static void substitute(WebServiceMessage message, String from, String to) throws TransformerException {
SaajSoapMessage saajSoapMessage = (SaajSoapMessage) message;
SOAPPart soapPart = saajSoapMessage.getSaajMessage().getSOAPPart();
Source source = new DOMSource(soapPart);
StringResult stringResult = new StringResult();
TransformerFactory.newInstance().newTransformer().transform(source, stringResult);
String content = stringResult.toString().replaceAll(from, to);
try {
soapPart.setContent(new StringSource(content));
} catch (SOAPException e) {
throw new TransformerException(e);
}
}
示例6: doWithMessage
import org.springframework.ws.soap.saaj.SaajSoapMessage; //导入依赖的package包/类
public void doWithMessage(WebServiceMessage message) {
SaajSoapMessage saajMessage = (SaajSoapMessage) message;
try {
// Add attachments
if (attachments != null) {
for (XRoadAttachment attachment : attachments) {
saajMessage.addAttachment("<" + attachment.getCid() + ">", attachment, attachment.getContentType());
}
}
SOAPMessage soapmess = saajMessage.getSaajMessage();
SOAPEnvelope env = soapmess.getSOAPPart().getEnvelope();
protocolVersionStrategy.addNamespaces(env);
protocolVersionStrategy.addXTeeHeaderElements(env, serviceConfiguration);
} catch (SOAPException e) {
throw new RuntimeException(e);
}
}
示例7: logMessage
import org.springframework.ws.soap.saaj.SaajSoapMessage; //导入依赖的package包/类
private boolean logMessage(MessageContext mc, MessageType messageType) {
if (log.isDebugEnabled()) {
WebServiceMessage message = MessageType.REQUEST.equals(messageType) ? mc.getRequest() : mc.getResponse();
if (message instanceof SaajSoapMessage) {
OutputStream out = new ByteArrayOutputStream();
try {
((SaajSoapMessage) message).writeTo(out);
log.debug(messageType + " message follows:\n" + out.toString());
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
return true;
}
示例8: testExtractDataBase64PEMFormat
import org.springframework.ws.soap.saaj.SaajSoapMessage; //导入依赖的package包/类
@Test
public void testExtractDataBase64PEMFormat() throws IOException, SOAPException {
// xml elements in a single row, but base64binary part on different rows (PEM format)
XRoadMessage message1 = EXTRACTOR.extractData(new SaajSoapMessage(getMessageFromString("extractor/EarestFail1.xml")));
assertEquals(RESULT_PEM_FORMAT, message1.getContent().toString());
// manually formated file with whitespaces between elements without new row (base64binary in PEM format)
XRoadMessage message2 = EXTRACTOR.extractData(new SaajSoapMessage(getMessageFromString("extractor/EarestFail2.xml")));
assertEquals(RESULT_PEM_FORMAT, message2.getContent().toString());
// menually formated file without whitespaces between elements and without new row (base64binary in PEM format)
XRoadMessage message3 = EXTRACTOR.extractData(new SaajSoapMessage(getMessageFromString("extractor/EarestFail3.xml")));
assertEquals(RESULT_PEM_FORMAT, message3.getContent().toString());
// menually formated file with whitespaces between elements and without new row (base64binary in PEM format)
XRoadMessage message5 = EXTRACTOR.extractData(new SaajSoapMessage(getMessageFromString("extractor/EarestFail5.xml")));
assertEquals(RESULT_PEM_FORMAT, message5.getContent().toString());
}
示例9: getSOAPEnvelope
import org.springframework.ws.soap.saaj.SaajSoapMessage; //导入依赖的package包/类
/**
* Gets original SOAP envelope.
*
* @param exchange the exchange
* @return envelope as string or {@code null} if input message isn't Spring web service message
*/
@Nullable
public static String getSOAPEnvelope(Exchange exchange) {
if (! (exchange.getIn() instanceof SpringWebserviceMessage)) {
return null;
}
try {
TransformerFactory tranFactory = TransformerFactory.newInstance();
Transformer aTransformer = tranFactory.newTransformer();
SpringWebserviceMessage inMsg = (SpringWebserviceMessage) exchange.getIn();
Source source = ((SaajSoapMessage) inMsg.getWebServiceMessage()).getEnvelope().getSource();
StringResult strRes = new StringResult();
aTransformer.transform(source, strRes);
return strRes.toString();
} catch (Exception ex) {
throw new IllegalStateException("Error occurred during conversion SOAP envelope to string", ex);
}
}
示例10: handleRequest
import org.springframework.ws.soap.saaj.SaajSoapMessage; //导入依赖的package包/类
@Override
public boolean handleRequest(MessageContext messageContext, Object endpoint)
throws IOException, SAXException, TransformerException {
// validate payload
boolean reqValResult = super.handleRequest(messageContext, endpoint);
// validate header
if (reqValResult && validateHeader && !ignoreRequest(messageContext)) {
SaajSoapMessage soapMessage = (SaajSoapMessage) messageContext.getRequest();
SoapHeader soapHeader = soapMessage.getSoapHeader();
ValidationIntegrationException[] errors = validateHeader(soapHeader);
if (!ObjectUtils.isEmpty(errors)) {
return handleHeaderValidationErrors(messageContext, errors);
} else if (logger.isDebugEnabled()) {
logger.debug("Request header validated");
}
}
return reqValResult;
}
示例11: doWithMessage
import org.springframework.ws.soap.saaj.SaajSoapMessage; //导入依赖的package包/类
@Override
public void doWithMessage(WebServiceMessage request) throws IOException, TransformerException {
SaajSoapMessage message = (SaajSoapMessage) request;
SOAPMessage mes = message.getSaajMessage();
try {
mes.getSOAPPart().getEnvelope().addNamespaceDeclaration(StandardXRoadConsumer.ROOT_NS,
metadata.getRequestElementNs());
getMarshaller().marshal(object, new DOMResult(mes.getSOAPBody()));
} catch (SOAPException e) {
throw new RuntimeException("Invalid SOAP message");
}
callback.doWithMessage(request);
}
示例12: handleResponse
import org.springframework.ws.soap.saaj.SaajSoapMessage; //导入依赖的package包/类
@Override
public boolean handleResponse(MessageContext messageContext, Object o) throws Exception {
WebServiceMessage response = messageContext.getResponse();
SaajSoapMessage saajSoapMessage = (SaajSoapMessage) response;
SOAPMessage soapMessage = saajSoapMessage.getSaajMessage();
SOAPPart soapPart = soapMessage.getSOAPPart();
SOAPEnvelope envelope = soapPart.getEnvelope();
SOAPBody body = envelope.getBody();
Iterator responses = body.getChildElements(new QName(
"http://xroad.vrk.fi/xroad-catalog-lister",
"GetWsdlResponse"));
while (responses.hasNext()) {
Node wsdlResponse = (Node) responses.next();
NodeList children = wsdlResponse.getChildNodes();
for (int i = 0; i < children.getLength(); i++) {
Node child = children.item(i);
if (child.getLocalName().equals("wsdl")) {
CDATASection cdat = soapPart.createCDATASection(child.getFirstChild().getNodeValue());
child.removeChild(child.getFirstChild());
child.appendChild(cdat);
}
}
}
return true;
}
示例13: testResolveFault_HTTPException
import org.springframework.ws.soap.saaj.SaajSoapMessage; //导入依赖的package包/类
/**
* Test method for
* {@link py.una.pol.karaku.services.client.KarakuFaultMessageResolver#resolveFault(org.springframework.ws.WebServiceMessage)}
* .
*/
@Test
public void testResolveFault_HTTPException() throws Exception {
Jaxb2Marshaller marshaller = new Jaxb2Marshaller();
marshaller.setClassesToBeBound(HTTPExceptionDTO.class);
KarakuFaultMessageResolver resolver = new KarakuFaultMessageResolver(
marshaller);
// @formatter:off
SOAPMessage message = getFromString(""
+ "<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\"> " +
" <SOAP-ENV:Header/> " +
" <SOAP-ENV:Body> " +
" <SOAP-ENV:Fault> " +
" <faultcode>SOAP-ENV:Client</faultcode> " +
" <faultstring xml:lang=\"en\">Invalid request</faultstring> " +
" <detail> " +
" <ns4:HTTPException xmlns:ns4=\"http://sigh.med.una.py/2013/schemas/base\"> " +
" <code>1</code>" +
" <summary>2</summary>" +
" </ns4:HTTPException>" +
" </detail>" +
" </SOAP-ENV:Fault>" +
" </SOAP-ENV:Body>" +
"</SOAP-ENV:Envelope>");
// @formatter:on
SaajSoapMessage ssm = new SaajSoapMessage(message);
try {
resolver.resolveFault(ssm);
fail();
} catch (HTTPException exception) {
assertEquals("1", exception.getCode());
assertEquals("2", exception.getShortDescription());
}
}
示例14: testResolvXteFault_NormalException
import org.springframework.ws.soap.saaj.SaajSoapMessage; //导入依赖的package包/类
@Test
public void testResolvXteFault_NormalException() throws Exception {
Jaxb2Marshaller marshaller = new Jaxb2Marshaller();
marshaller.setClassesToBeBound(HTTPExceptionDTO.class);
KarakuFaultMessageResolver resolver = new KarakuFaultMessageResolver(
marshaller);
// @formatter:off
SOAPMessage message = getFromString(""
+ "<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\"> " +
" <SOAP-ENV:Header/> " +
" <SOAP-ENV:Body> " +
" <SOAP-ENV:Fault> " +
" <faultcode>SOAP-ENV:Client</faultcode> " +
" <faultstring xml:lang=\"en\">Invalid request</faultstring> " +
" </SOAP-ENV:Fault>" +
" </SOAP-ENV:Body>" +
"</SOAP-ENV:Envelope>");
// @formatter:on
SaajSoapMessage ssm = new SaajSoapMessage(message);
try {
resolver.resolveFault(ssm);
fail();
} catch (SoapFaultClientException exception) {
assertEquals("Client", exception.getFaultCode().getLocalPart());
assertEquals("Invalid request", exception.getFaultStringOrReason());
}
}
示例15: doWithMessage
import org.springframework.ws.soap.saaj.SaajSoapMessage; //导入依赖的package包/类
public void doWithMessage(WebServiceMessage message) throws IOException, TransformerException {
try {
SaajSoapMessage saajMessage = (SaajSoapMessage) message;
SOAPMessage soapmess = saajMessage.getSaajMessage();
SOAPEnvelope env = soapmess.getSOAPPart().getEnvelope();
env.addNamespaceDeclaration("eto", "http://producers.etoimik.xtee.riik.ee/producer/etoimik");
} catch (SOAPException e) {
throw new RuntimeException(e);
}
callback.doWithMessage(message);
}