httpEndpoint.setLegacySupport(true); } else { httpEndpoint.setLegacySupport(false);
/** * Test usage of legacy-encoding property where encoded values will be decoded * @throws AxisFault * @throws XMLStreamException */ @Test public void testQueryParamsWithLegacyEncoding() throws AxisFault, XMLStreamException { HTTPEndpointFactory factory = new HTTPEndpointFactory(); OMElement em = AXIOMUtil.stringToOM("<endpoint><http method=\"GET\" uri-template=\"http://abc.com?symbol={query.param.symbol}&user={query.param.user}\"/></endpoint>"); EndpointDefinition ep1 = factory.createEndpointDefinition(em); HTTPEndpoint httpEndpoint = new HTTPEndpoint(); httpEndpoint.setHttpMethod("GET"); httpEndpoint.setLegacySupport(true); httpEndpoint.setDefinition(ep1); httpEndpoint.setUriTemplate(UriTemplate.fromTemplate("http://abc.com?symbol={query.param.symbol}&user={query.param.user}")); SynapseEnvironment synapseEnvironment = getMockedSynapseEnvironment(); httpEndpoint.init(getMockedSynapseEnvironment()); MessageContext messageContext = createMessageContext(); messageContext.setProperty("query.param.symbol", "US%3A123"); messageContext.setProperty("query.param.user", "john%40G%C3%BCnter"); //set mocked SynapseEnvironment to message context ((Axis2MessageContext) messageContext).getAxis2MessageContext(). getConfigurationContext().getAxisConfiguration(). addParameter(SynapseConstants.SYNAPSE_ENV, synapseEnvironment); messageContext.setEnvironment(synapseEnvironment); httpEndpoint.executeEpTypeSpecificFunctions(messageContext); Assert.assertEquals("With legacy encoding encoded characters need to be decoded", "http://abc.com?symbol=US:123&user=john@Günter", messageContext.getTo().getAddress().toString()); }