TestAttributespublic class TestAttributes extends TestCase Test the serialization of a bean with attributes |
Fields Summary |
---|
static Log | log | public static final String | myNS |
Constructors Summary |
---|
public TestAttributes(String name)
super(name);
|
Methods Summary |
---|
private void | checkSimpleBeanRoundTrip(java.lang.String text, float temp)
SimpleBean bean = new SimpleBean(text);
bean.temp = temp;
MessageContext msgContext = new MessageContext(new AxisServer(new BasicServerConfig()));
SOAPEnvelope msg = new SOAPEnvelope();
RPCParam arg = new RPCParam("", "simple", bean);
RPCElement body = new RPCElement("urn:myNamespace", "method1", new Object[]{ arg });
msg.addBodyElement(body);
body.setEncodingStyle(null);
StringWriter writer = new StringWriter();
SerializationContext context = new SerializationContext(writer,
msgContext);
context.setDoMultiRefs(false);
// Create a TypeMapping and register the Bean serializer/deserializer
TypeMappingRegistry reg = context.getTypeMappingRegistry();
TypeMapping tm = (TypeMapping) reg.createTypeMapping();
// The "" namespace is literal (no encoding).
tm.setSupportedEncodings(new String[] {Constants.URI_DEFAULT_SOAP_ENC});
reg.register(Constants.URI_DEFAULT_SOAP_ENC, tm);
QName beanQName = new QName("typeNS", "Bean");
tm.register(SimpleBean.class,
beanQName,
new SimpleSerializerFactory(SimpleBean.class, beanQName),
new SimpleDeserializerFactory(SimpleBean.class, beanQName));
// Serialize the bean in to XML
msg.output(context);
// Get the XML as a string
String msgString = writer.toString();
Message message = new Message(msgString);
message.setMessageContext(msgContext);
SOAPEnvelope env = message.getSOAPEnvelope();
RPCElement rpcEl = (RPCElement)env.getFirstBody();
Vector params = rpcEl.getParams();
assertEquals("Wrong # of params in deserialized message!",
1,
params.size());
Object obj = ((RPCParam)params.get(0)).getObjectValue();
assertTrue("Deserialized param not a SimpleBean!",
(obj instanceof SimpleBean));
SimpleBean deserBean = (SimpleBean)obj;
assertTrue("Deserialized bean not equal to expected values!",
(bean.equals(deserBean)));
| public void | testBean()
MessageContext msgContext = new MessageContext(new AxisServer(new BasicServerConfig()));
SOAPEnvelope msg = new SOAPEnvelope();
// Create bean with data
AttributeBean bean = new AttributeBean();
bean.setAge(35);
bean.setID(1.15F);
bean.setMale(true);
bean.company = "Majesty's Secret Service";
bean.setName("James Bond");
RPCParam arg = new RPCParam("", "struct", bean);
RPCElement body = new RPCElement("urn:myNamespace", "method1", new Object[]{ arg });
msg.addBodyElement(body);
body.setEncodingStyle(null);
Writer stringWriter = new StringWriter();
SerializationContext context = new SerializationContext(stringWriter, msgContext);
context.setDoMultiRefs(false); // no multirefs
context.setPretty(false);
// Create a TypeMapping and register the Bean serializer/deserializer
TypeMappingRegistry reg = context.getTypeMappingRegistry();
TypeMapping tm = (TypeMapping) reg.createTypeMapping();
// The "" namespace is literal (no encoding).
tm.setSupportedEncodings(new String[] {Constants.URI_DEFAULT_SOAP_ENC});
reg.register(Constants.URI_DEFAULT_SOAP_ENC, tm);
QName beanQName = new QName("typeNS", "TheBean");
tm.register(AttributeBean.class,
beanQName,
new BeanSerializerFactory(AttributeBean.class, beanQName),
new BeanDeserializerFactory(AttributeBean.class, beanQName));
// Serialize the bean in to XML
msg.output(context);
// Get the XML as a string
String msgString = stringWriter.toString();
log.debug("---");
log.debug(msgString);
log.debug("---");
System.out.println(msgString);
Message message = new Message(msgString);
message.setMessageContext(msgContext);
SOAPEnvelope env = message.getSOAPEnvelope();
RPCElement rpcEl = (RPCElement)env.getFirstBody();
Vector params = rpcEl.getParams();
assertEquals("Wrong # of params in deserialized message!",
1,
params.size());
Object obj = ((RPCParam)params.get(0)).getObjectValue();
assertTrue("Deserialized param not an AttributeBean!",
(obj instanceof AttributeBean));
AttributeBean deserBean = (AttributeBean)obj;
assertTrue("Deserialized bean not equal to expected values!",
(bean.equals(deserBean)));
| public void | testSimpleType()
checkSimpleBeanRoundTrip("test value", 85.0F);
| public void | testSimpleType2()
//Testcase for 12452 - Axis does not correctly XML-encode ampersands
checkSimpleBeanRoundTrip("http://mysite.com?a=1&b=2", 85.0F);
| public void | testSimpleType3()
//Testcase for 12453 - Axis does not correctly XML-encode <'s and >'s
checkSimpleBeanRoundTrip("</name>", 85.0F);
|
|