private EndpointReference setupListener()

in src/org/apache/kandula/wsat/completion/CompletionInitiatorServiceListener.java [57:95]


	private EndpointReference setupListener(CompletionCallback callback) throws IOException {		
		String className = CompletionInitiatorPortTypeRawXMLSkeleton.class
				.getName();
		String serviceName = "CompletionInitiatorPortType"+EndpointReferenceFactory.getRandomStringOf18Characters();
		AxisService service = new AxisService(serviceName);
		service.addParameter(new Parameter(
				org.apache.axis2.Constants.SERVICE_CLASS, className));
		service.addParameter(new Parameter(COMPLETION_CALLBACK, callback));
		service.setFileName((new File(className)).toURL());
		
		QName committedOperationName = new QName(Constants.WS_COOR,
				"committedOperation");
		AxisOperation committedOperationDesc;
		String committedMapping = Constants.WS_AT_COMMITTED;
		committedOperationDesc = new InOnlyAxisOperation();
		committedOperationDesc.setName(committedOperationName);
		committedOperationDesc
				.setMessageReceiver(new RawXMLINOnlyMessageReceiver());
		// Adding the WSA Action mapping to the operation
		service.mapActionToOperation(committedMapping, committedOperationDesc);
		service.addOperation(committedOperationDesc);

		QName abortedOperationName = new QName(Constants.WS_COOR,
				"abortedOperation");
		AxisOperation abortedOperationDesc;
		String abortedMapping = Constants.WS_AT_ABORTED;
		abortedOperationDesc = new InOnlyAxisOperation();
		abortedOperationDesc.setName(abortedOperationName);
		abortedOperationDesc
				.setMessageReceiver(new RawXMLINOnlyMessageReceiver());
		// Adding the WSA Action mapping to the operation
		service.mapActionToOperation(abortedMapping, abortedOperationDesc);
		service.addOperation(abortedOperationDesc);

		KandulaListener listener = KandulaListener.getInstance();
		listener.addService(service);
		listener.start();
		return new EndpointReference(listener.getHost() + serviceName);
	}