本文整理汇总了Java中javax.xml.ws.LogicalMessage.setPayload方法的典型用法代码示例。如果您正苦于以下问题:Java LogicalMessage.setPayload方法的具体用法?Java LogicalMessage.setPayload怎么用?Java LogicalMessage.setPayload使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类javax.xml.ws.LogicalMessage
的用法示例。
在下文中一共展示了LogicalMessage.setPayload方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: testConvertMessageToFault
import javax.xml.ws.LogicalMessage; //导入方法依赖的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));
}
示例2: handleMessage
import javax.xml.ws.LogicalMessage; //导入方法依赖的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;
}
示例3: testGetAndSetPayloadAsSource
import javax.xml.ws.LogicalMessage; //导入方法依赖的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);
}
示例4: testGetAndSetFaultPayloadAsSource
import javax.xml.ws.LogicalMessage; //导入方法依赖的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);
}
示例5: handleMessage
import javax.xml.ws.LogicalMessage; //导入方法依赖的package包/类
public boolean handleMessage(LogicalMessageContext messagecontext) {
Boolean outbound = (Boolean)messagecontext.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);
tracker.handleMessage(outbound);
if (outbound) { // outbound request on the client
LogicalMessage msg = messagecontext.getMessage();
Source payload = msg.getPayload();
String st = getStringFromSourcePayload(payload);
String txt = String.valueOf(Integer.valueOf(getFirstArg(st)) * 2);
st = replaceFirstArg(st, txt);
msg.setPayload(new StreamSource(new StringBufferInputStream(st)));
}
return true;
}
示例6: handleFault
import javax.xml.ws.LogicalMessage; //导入方法依赖的package包/类
public boolean handleFault(LogicalMessageContext messagecontext) {
Boolean outbound = (Boolean) messagecontext.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);
tracker.handleFault(outbound);
if (outbound) { // outbound response if we're on the server
LogicalMessage msg = messagecontext.getMessage();
String st = getStringFromSourcePayload(msg.getPayload());
st = st.replaceFirst("blarg", "AddNumbersLogicalHandler2 was here");
msg.setPayload(new StreamSource(new ByteArrayInputStream(st.getBytes())));
}
return true;
}
示例7: handleFault
import javax.xml.ws.LogicalMessage; //导入方法依赖的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;
}