当前位置: 首页>>代码示例>>Java>>正文


Java LogicalMessage.setPayload方法代码示例

本文整理汇总了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));
}
 
开发者ID:wso2,项目名称:wso2-axis2,代码行数:24,代码来源:LogicalMessageContextTests.java

示例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;
   }
 
开发者ID:asarkar,项目名称:jax-ws,代码行数:33,代码来源:RequestSignatureHandler.java

示例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);
}
 
开发者ID:wso2,项目名称:wso2-axis2,代码行数:40,代码来源:LogicalMessageContextTests.java

示例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);
}
 
开发者ID:wso2,项目名称:wso2-axis2,代码行数:42,代码来源:LogicalMessageContextTests.java

示例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;
}
 
开发者ID:wso2,项目名称:wso2-axis2,代码行数:14,代码来源:AddNumbersClientLogicalHandler2.java

示例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;
}
 
开发者ID:wso2,项目名称:wso2-axis2,代码行数:12,代码来源:AddNumbersLogicalHandler2.java

示例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;
   }
 
开发者ID:asarkar,项目名称:jax-ws,代码行数:55,代码来源:ProviderErrorHandler.java


注:本文中的javax.xml.ws.LogicalMessage.setPayload方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。