use of org.apache.axis2.transport.testkit.message.RESTMessage.Parameter in project wso2-axis2-transports by wso2.
the class AxisTestEndpoint method setUp.
@Setup
@SuppressWarnings("unused")
private void setUp(LogManager logManager, AxisTestEndpointContext context, Channel channel, AxisServiceConfigurator[] configurators) throws Exception {
this.context = context;
TransportListener listener = context.getTransportListener();
if (listener instanceof TransportErrorSource) {
transportErrorSource = (TransportErrorSource) listener;
errorListener = new TransportErrorListener() {
public void error(TransportError error) {
AxisService s = error.getService();
if (s == null || s == service) {
onTransportError(error.getException());
}
}
};
transportErrorSource.addErrorListener(errorListener);
} else {
transportErrorSource = null;
}
String path;
try {
path = new URI(channel.getEndpointReference().getAddress()).getPath();
} catch (URISyntaxException ex) {
path = null;
}
String serviceName;
if (path != null && path.startsWith(Channel.CONTEXT_PATH + "/")) {
serviceName = path.substring(Channel.CONTEXT_PATH.length() + 1);
} else {
serviceName = "TestService-" + UUID.randomUUID();
}
service = new AxisService(serviceName);
service.addOperation(createOperation());
if (configurators != null) {
for (AxisServiceConfigurator configurator : configurators) {
configurator.setupService(service, false);
}
}
// Output service parameters to log file
// FIXME: This actually doesn't give the expected result because the AxisTestEndpoint might be reused
// by several test cases and in that case the log file is only produced once
List<Parameter> params = (List<Parameter>) service.getParameters();
if (!params.isEmpty()) {
PrintWriter log = new PrintWriter(logManager.createLog("service-parameters"), false);
try {
for (Parameter param : params) {
log.print(param.getName());
log.print("=");
log.println(param.getValue());
}
} finally {
log.close();
}
}
// We want to receive all messages through the same operation:
service.addParameter(AxisService.SUPPORT_SINGLE_OP, true);
context.getAxisConfiguration().addService(service);
// The transport may disable the service. In that case, fail directly.
if (!BaseUtils.isUsingTransport(service, context.getTransportName())) {
Assert.fail("The service has been disabled by the transport");
}
}
use of org.apache.axis2.transport.testkit.message.RESTMessage.Parameter in project wso2-axis2-transports by wso2.
the class RESTTestCase method checkMessageData.
@Override
protected void checkMessageData(RESTMessage expected, RESTMessage actual) throws Exception {
Set<Parameter> expectedParameters = new HashSet<Parameter>(Arrays.asList(expected.getParameters()));
for (Parameter actualParameter : actual.getParameters()) {
assertTrue(expectedParameters.remove(actualParameter));
}
assertTrue(expectedParameters.isEmpty());
}
use of org.apache.axis2.transport.testkit.message.RESTMessage.Parameter in project wso2-axis2-transports by wso2.
the class UDPSender method waitForReply.
private void waitForReply(MessageContext messageContext, DatagramSocket datagramSocket, String contentType) throws IOException {
// message context in asnych model
if (!(messageContext.getAxisOperation() instanceof OutInAxisOperation) && messageContext.getProperty(org.apache.axis2.Constants.PIGGYBACK_MESSAGE) == null) {
return;
}
// TODO set the maximum size parameter
byte[] inputBuffer = new byte[4096];
DatagramPacket packet = new DatagramPacket(inputBuffer, inputBuffer.length);
datagramSocket.receive(packet);
// create the soap envelope
try {
MessageContext respMessageContext = messageContext.getOperationContext().getMessageContext(WSDL2Constants.MESSAGE_LABEL_IN);
InputStream inputStream = new ByteArrayInputStream(inputBuffer, 0, packet.getLength());
SOAPEnvelope envelope = TransportUtils.createSOAPMessage(respMessageContext, inputStream, contentType);
respMessageContext.setEnvelope(envelope);
} catch (XMLStreamException e) {
throw new AxisFault("Can not build the soap message ", e);
}
}
use of org.apache.axis2.transport.testkit.message.RESTMessage.Parameter in project wso2-axis2-transports by wso2.
the class ContentTypeRuleFactory method parse.
public static ContentTypeRuleSet parse(Parameter param) throws AxisFault {
ContentTypeRuleSet ruleSet = new ContentTypeRuleSet();
Object value = param.getValue();
if (value instanceof OMElement) {
OMElement element = (OMElement) value;
// TODO: seems like a bug in Axis2 and is inconsistent with Synapse's way of parsing parameter in proxy definitions
if (element == param.getParameterElement()) {
element = element.getFirstElement();
}
if (element.getLocalName().equals("rules")) {
for (Iterator it = element.getChildElements(); it.hasNext(); ) {
ruleSet.addRule(parse((OMElement) it.next()));
}
} else {
throw new AxisFault("Expected <rules> element");
}
} else {
ruleSet.addRule(new DefaultRule((String) value));
}
return ruleSet;
}
use of org.apache.axis2.transport.testkit.message.RESTMessage.Parameter in project wso2-axis2-transports by wso2.
the class RabbitMQConnectionFactoryManager method loadConnectionFactoryDefinitions.
/**
* Create ConnectionFactory instances for the definitions in the transport configuration,
* and add these into our collection of connectionFactories map keyed by name
*
* @param trpDesc the transport description for RabbitMQ AMQP
*/
private void loadConnectionFactoryDefinitions(ParameterInclude trpDesc, SecretResolver secretResolver) {
for (Parameter parameter : trpDesc.getParameters()) {
RabbitMQConnectionFactory amqpConFactory = new RabbitMQConnectionFactory(parameter, secretResolver);
connectionFactories.put(amqpConFactory.getName(), amqpConFactory);
}
}
Aggregations