本文整理汇总了Java中javax.xml.ws.handler.LogicalMessageContext.getMessage方法的典型用法代码示例。如果您正苦于以下问题:Java LogicalMessageContext.getMessage方法的具体用法?Java LogicalMessageContext.getMessage怎么用?Java LogicalMessageContext.getMessage使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类javax.xml.ws.handler.LogicalMessageContext
的用法示例。
在下文中一共展示了LogicalMessageContext.getMessage方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: testGetMultiplePayloadsAsSource
import javax.xml.ws.handler.LogicalMessageContext; //导入方法依赖的package包/类
/**
* Test to make sure we can get the payload multiple times from the same LogicalMessage.
* @throws Exception
*/
public void testGetMultiplePayloadsAsSource() throws Exception {
LogicalMessageContext lmc = createSampleContext();
LogicalMessage msg = lmc.getMessage();
assertTrue("The returned LogicalMessage was null", msg != null);
int loopCount = 3;
for (int i = 0; i < loopCount; ++i) {
Source payload = msg.getPayload();
assertTrue("Attempt number " + i + " to get the payload (Source) was null", payload != null);
String resultContent = _getStringFromSource(payload);
assertTrue("The content returned in loop " + i + " was null", resultContent != null);
assertTrue("The content returned in loop " + i + " was incomplete, unexpected element", resultContent.indexOf("echoString") > -1);
assertTrue("The content returned in loop " + i + " was incomplete, unexpected content", resultContent.indexOf(INPUT) > -1);
}
}
示例2: testConvertMessageToFault
import javax.xml.ws.handler.LogicalMessageContext; //导入方法依赖的package包/类
public void testConvertMessageToFault() throws Exception {
LogicalMessageContext lmc = createSampleContext();
LogicalMessage msg = lmc.getMessage();
assertTrue("The returned LogicalMessage was null", msg != null);
Source payload = msg.getPayload();
assertTrue("The returned payload (Source) was null", payload != null);
String resultContent = _getStringFromSource(payload);
assertTrue("The content returned was null", resultContent != null);
ByteArrayInputStream bais = new ByteArrayInputStream(sampleSOAP11FaultPayload.getBytes());
StreamSource faultSource = new StreamSource(bais);
msg.setPayload(faultSource);
Source newFaultSource = msg.getPayload();
assertTrue("The new fault content returned was null", faultSource != null);
String newFaultContent = _getStringFromSource(newFaultSource);
assertTrue("The new fault content returned was invalid", newFaultContent.equals(sampleSOAP11FaultPayload));
}
示例3: testInboundFaultFlow
import javax.xml.ws.handler.LogicalMessageContext; //导入方法依赖的package包/类
/**
* A test that mimics the inbound flow through a handler chain.
*/
public void testInboundFaultFlow() throws Exception {
MessageContext mc = createSampleFaultMessageContext();
LogicalMessageContext lmc = MessageContextFactory.createLogicalMessageContext(mc);
LogicalMessage lm = lmc.getMessage();
Source payload = lm.getPayload();
assertTrue("The returned payload (Source) was null", payload != null);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
StreamResult result = new StreamResult(baos);
Transformer t = TransformerFactory.newInstance().newTransformer();
t.transform(payload, result);
String content = new String(baos.toByteArray());
assertTrue("The returned content (String) from the payload was null", content != null);
assertTrue("The <faultcode> element was not found", content.indexOf("faultcode") > -1);
assertTrue("The <faultstring> element was not found", content.indexOf("faultstring") > -1);
assertTrue("The fault did not contain the expected fault string", content.indexOf(FAULT_INPUT) > -1);
SoapMessageContext smc = MessageContextFactory.createSoapMessageContext(mc);
SOAPMessage sm = smc.getMessage();
assertTrue("The returned SOAPMessage was null", sm != null);
assertTrue("The SOAPMessage did not contain a SOAPBody", sm.getSOAPBody() != null);
assertTrue("The SOAPBody did not contain a SOAPFault", sm.getSOAPBody().getFault() != null);
}
示例4: testOutboundFaultFlow
import javax.xml.ws.handler.LogicalMessageContext; //导入方法依赖的package包/类
/**
* A test that mimics the outbound flow through a handler chain.
*/
public void testOutboundFaultFlow() throws Exception {
MessageContext mc = createSampleFaultMessageContext();
SoapMessageContext smc = MessageContextFactory.createSoapMessageContext(mc);
SOAPMessage sm = smc.getMessage();
assertTrue("The returned SOAPMessage was null", sm != null);
assertTrue("The SOAPMessage did not contain a SOAPBody", sm.getSOAPBody() != null);
assertTrue("The SOAPBody did not contain a SOAPFault", sm.getSOAPBody().getFault() != null);
LogicalMessageContext lmc = MessageContextFactory.createLogicalMessageContext(mc);
LogicalMessage lm = lmc.getMessage();
Source payload = lm.getPayload();
assertTrue("The returned payload (Source) was null", payload != null);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
StreamResult result = new StreamResult(baos);
Transformer t = TransformerFactory.newInstance().newTransformer();
t.transform(payload, result);
String content = new String(baos.toByteArray());
assertTrue("The returned content (String) from the payload was null", content != null);
assertTrue("The <faultcode> element was not found", content.indexOf("faultcode") > -1);
assertTrue("The <faultstring> element was not found", content.indexOf("faultstring") > -1);
assertTrue("The fault did not contain the expected fault string", content.indexOf(FAULT_INPUT) > -1);
}
示例5: storePayload
import javax.xml.ws.handler.LogicalMessageContext; //导入方法依赖的package包/类
private void storePayload(LogicalMessageContext context) {
Boolean outboundProperty = (Boolean) context
.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);
if (outboundProperty) {
return;
}
LogicalMessage logicalMessage = context.getMessage();
Source payloadSource = logicalMessage.getPayload();
this.payload = toString(payloadSource);
}
示例6: handleMessage
import javax.xml.ws.handler.LogicalMessageContext; //导入方法依赖的package包/类
@Override
public boolean handleMessage(LogicalMessageContext messageContext) {
boolean outbound = (Boolean) messageContext
.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);
LogicalMessage message = messageContext.getMessage();
if (outbound) {
Source payload = message.getPayload();
Result result = new RequestTransformer().transform(payload);
if (!(result instanceof StreamResult)) {
LOGGER.error(
"Expected javax.xml.transform.stream.StreamSource but got {}.",
result.getClass().getName());
throw new WebServiceException(
"Expected javax.xml.transform.stream.StreamSource but got "
+ result.getClass().getName());
}
String xml = ((StreamResult) result).getWriter().toString();
try {
message.setPayload(new StreamSource(new ByteArrayInputStream(
xml.getBytes("UTF-8"))));
} catch (UnsupportedEncodingException e) {
LOGGER.error(
"How the heck did this happen? UTF-8 is available in all JVMs",
e);
throw new WebServiceException(
"How the heck did this happen? UTF-8 is available in all JVMs",
e);
}
}
return true;
}
示例7: testGetPayloadAsSource
import javax.xml.ws.handler.LogicalMessageContext; //导入方法依赖的package包/类
/**
* Test the javax.xml.transform.Source based APIs on the LogicalMessage interface.
* @throws Exception
*/
public void testGetPayloadAsSource() throws Exception {
LogicalMessageContext lmc = createSampleContext();
LogicalMessage msg = lmc.getMessage();
assertTrue("The returned LogicalMessage was null", msg != null);
Source payload = msg.getPayload();
assertTrue("The returned payload (Source) was null", payload != null);
String resultContent = _getStringFromSource(payload);
assertTrue("The content returned was null", resultContent != null);
assertTrue("The content returned was incomplete, unexpected element", resultContent.indexOf("echoString") > -1);
assertTrue("The content returned was incomplete, unexpected content", resultContent.indexOf(INPUT) > -1);
}
示例8: testGetAndSetPayloadAsSource
import javax.xml.ws.handler.LogicalMessageContext; //导入方法依赖的package包/类
/**
* Tests the setting of the payload and make sure we don't cache improperly.
* @throws Exception
*/
public void testGetAndSetPayloadAsSource() throws Exception {
LogicalMessageContext lmc = createSampleContext();
LogicalMessage msg = lmc.getMessage();
assertTrue("The returned LogicalMessage was null", msg != null);
Source payload = msg.getPayload();
assertTrue("The returned payload (Source) was null", payload != null);
String resultContent = _getStringFromSource(payload);
assertTrue("The content returned was null", resultContent != null);
assertTrue("The content returned was incorrect", resultContent.indexOf(INPUT) > 0);
// Now manipluate the content and set it back on the message.
int start = resultContent.indexOf(INPUT);
int end = start + INPUT.length();
String newInput = "new content goes here";
String newContent = resultContent.substring(0, start) + newInput + resultContent.substring(end);
ByteArrayInputStream bais = new ByteArrayInputStream(newContent.getBytes());
StreamSource newPayload = new StreamSource(bais);
msg.setPayload(newPayload);
// Check the payload to make sure the new content that we added
// was insterted correctly.
Source payload2 = msg.getPayload();
assertTrue("The returned payload (Source) was null", payload2 != null);
String resultContent2 = _getStringFromSource(payload2);
assertTrue("The updated content returned was null", resultContent2 != null);
assertTrue("The updated content returned was incorrect, old content found", resultContent2.indexOf(INPUT) < 0);
assertTrue("The updated content returned was incorrect, new content not found", resultContent2.indexOf(newInput) > -1);
}
示例9: testGetAndSetFaultPayloadAsSource
import javax.xml.ws.handler.LogicalMessageContext; //导入方法依赖的package包/类
/**
* Tests the setting of the payload when the original content is a fault.
* @throws Exception
*/
public void testGetAndSetFaultPayloadAsSource() throws Exception {
LogicalMessageContext lmc = createSampleFaultContext();
LogicalMessage msg = lmc.getMessage();
assertTrue("The returned LogicalMessage was null", msg != null);
Source payload = msg.getPayload();
assertTrue("The returned payload (Source) was null", payload != null);
String resultContent = _getStringFromSource(payload);
assertTrue("The content returned was null", resultContent != null);
assertTrue("The content returned was incorrect", resultContent.indexOf(FAULT_INPUT) > 0);
assertTrue("The content returned was incorrect, no fault found", resultContent.indexOf("Fault") > 0);
// Now manipluate the content and set it back on the message.
int start = resultContent.indexOf(FAULT_INPUT);
int end = start + FAULT_INPUT.length();
String newFaultInput = "new fault content goes here";
String newContent = resultContent.substring(0, start) + newFaultInput + resultContent.substring(end);
ByteArrayInputStream bais = new ByteArrayInputStream(newContent.getBytes());
StreamSource newPayload = new StreamSource(bais);
msg.setPayload(newPayload);
// Check the payload to make sure the new content that we added
// was insterted correctly.
Source payload2 = msg.getPayload();
assertTrue("The returned payload (Source) was null", payload2 != null);
String resultContent2 = _getStringFromSource(payload2);
assertTrue("The updated content returned was null", resultContent2 != null);
assertTrue("The updated content returned was incorrect, old content found", resultContent2.indexOf(FAULT_INPUT) < 0);
assertTrue("The updated content returned was incorrect, no fault found", resultContent.indexOf("Fault") > 0);
assertTrue("The updated content returned was incorrect, new content not found", resultContent2.indexOf(newFaultInput) > -1);
}
示例10: handleMessage
import javax.xml.ws.handler.LogicalMessageContext; //导入方法依赖的package包/类
@Override
public boolean handleMessage(LogicalMessageContext messageContext) {
LogicalMessage msg = messageContext.getMessage();
return true;
}
示例11: handleFault
import javax.xml.ws.handler.LogicalMessageContext; //导入方法依赖的package包/类
@Override
public boolean handleFault(LogicalMessageContext msgCtx) {
boolean outbound = Boolean.TRUE.equals(msgCtx
.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY));
if (outbound) {
LogicalMessage msg = msgCtx.getMessage();
DOMResult dom = new DOMResult();
try {
Source payload = msg.getPayload();
Node node = null;
// If payload is not a DomSource, need to transform
if (!(payload instanceof DOMSource)) {
Transformer tf = TransformerFactory.newInstance()
.newTransformer();
tf.transform(payload, dom);
node = dom.getNode();
} else {
node = ((DOMSource) payload).getNode();
}
Node fault = node.getFirstChild();
Node faultCode = fault.getFirstChild();
Node faultString = faultCode.getNextSibling();
Node detail = faultString.getNextSibling();
// Remove the detail stacktrace, client doesn't need to see it
if (detail != null) {
fault.removeChild(detail);
}
// If payload is not a DomSource, need to set back
if (!(payload instanceof DOMSource)) {
LOGGER.debug("Alas, payload is not a DomSource, it is {}.",
payload.getClass().getName());
payload = new DOMSource(fault);
msg.setPayload(payload);
}
} catch (Exception e) {
LOGGER.error(e.getMessage(), e);
return false;
}
}
return true;
}