ws-sandesha-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mancinelli Elodie <elodie.mancine...@bull.net>
Subject Re: [MTOM/XOP+WSRM] servlet error
Date Mon, 17 Jul 2006 13:44:25 GMT
Hi,

Can you think the problem is due to the tomcat version? Or the sandesha2 
version? I download jars and war on 
http://people.apache.org/repository/sandesha2/.

To configure the server,I have only change the axis2.xml. I can't change 
the module.xml because I intente to create a common server for all 
independante client (WSRM only, MTOM only, MTOM-WSRM).

Sorry to insit.
Regards

Elodie


Mancinelli Elodie wrote:

> Hi Chamikara,
>
> I use tomcat in the server side and its version is the 
> apache-tomcat-5.5.15.
> I join in attachment my client code.
>
> Thanks for your help.
>
> Regards
>
> Elodie
>
>
>
> Chamikara Jayalath wrote:
>
>> Hi Elodie,
>>
>> Are you using tomcat in the server side. If so which version?
>> Can u send your client code as well.
>>
>> Chamikara
>>
>>
>> On 7/13/06, *Mancinelli Elodie* <elodie.mancinelli@bull.net 
>> <mailto:elodie.mancinelli@bull.net>> wrote:
>>
>>     Hi all,
>>
>>     I want to realise an client-server which supports MTOM and WSRM. I
>>     created separatly a client-server with MTOM and a client-server
>>     with WSRM.
>>
>>     My server has two methods: OneWay and RequestResponse.
>>
>>     - When I launch my client to test the RequestResponse method:
>>     In TCPMon, I see, the CreateSequence and the
>>     CreateSequenceResponse. My
>>     first message is sent and it is accpeted.
>>     But my client never receives the response and there is no trace 
>> on my
>>     server, the method seems not be executed.
>>
>>     - When I launch my client to test the OneWay method:
>>     In TCPMon, I see:
>>     - CreateSequence, CreateSequenceResponse
>>     - Three messages have send and three acknowledgments
>>     But no TerminateSequence.
>>     And on the server, there is an error:
>>     - "Servlet.service()" pour la servlet AxisServlet a généré une
>>     exception
>>     java.lang.IllegalStateException: Impossible de créer une 
>> sessionaprès
>>     que la réponse ait été envoyée
>>             at
>>     
>> org.apache.catalina.connector.Request.doGetSession(Request.java:2214)
>>             at
>>     org.apache.catalina.connector.Request.getSession(Request.java:2024)
>>             at
>>     
>> org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:831) 
>>
>>             at
>>     ........
>
>------------------------------------------------------------------------
>
>package fr.gouv.finances.dgme.presto;
>
>import java.io.File;
>import java.io.FileInputStream;
>import javax.activation.DataHandler;
>import javax.activation.FileDataSource;
>import javax.xml.stream.XMLInputFactory;
>import javax.xml.stream.XMLStreamReader;
>import org.apache.axiom.om.OMAbstractFactory;
>import org.apache.axiom.om.OMElement;
>import org.apache.axiom.om.OMFactory;
>import org.apache.axiom.om.OMNamespace;
>import org.apache.axiom.om.OMText;
>import org.apache.axiom.om.impl.builder.StAXOMBuilder;
>import org.apache.axiom.soap.SOAP12Constants;
>import org.apache.axis2.Constants;
>import org.apache.axis2.addressing.EndpointReference;
>import org.apache.axis2.client.Options;
>import org.apache.axis2.client.ServiceClient;
>import org.apache.axis2.client.async.AsyncResult;
>import org.apache.axis2.client.async.Callback;
>import org.apache.axis2.context.ConfigurationContext;
>import org.apache.axis2.context.ConfigurationContextFactory;
>import org.apache.axis2.context.MessageContextConstants;
>import org.apache.sandesha2.client.SandeshaClientConstants;
>
>
>public class PrestoWSRM_MTOMtest extends junit.framework.TestCase{
>
>	static String fileXMLName="test_data_in.xml";
>	static String fileNameAttach="fichier.txt";
>	private static EndpointReference targetEPR = new EndpointReference("http://localhost:8080/axis2/services/PrestoSvc");
>	private static String targetEPRTcpmon ="http://localhost:8070/axis2/services/PrestoSvc";
>	static String namespace="http://dgme.finances.gouv.fr/presto";
>	private static String CLIENT_REPO_PATH = "RepoClient";
>	private static String axis2_xml = CLIENT_REPO_PATH + File.separator +"conf" + File.separator
+ "axis2.xml";
>
>	/**
>	 * Call submitRequestReponse with attachment
>	 *
>	 */
>	public  void testSubmitRequestResponseWSRMAddressable() throws Exception{
>
>		String nameMethod="submit";
>		ConfigurationContext configContext = ConfigurationContextFactory.createConfigurationContextFromFileSystem(CLIENT_REPO_PATH,axis2_xml);
>		ServiceClient serviceClient = new ServiceClient (configContext,null);
>
>		Options options=initOptions("submit",true);
>		serviceClient.setOptions(options);
>		String acksTo = serviceClient.getMyEPR(Constants.TRANSPORT_HTTP).getAddress();
>		options.setProperty(SandeshaClientConstants.AcksTo,acksTo);
>
>		System.out.println("Envoi");
>		Callback callback1 = new TestCallback ("Callback 1");
>		serviceClient.sendReceiveNonBlocking (getOMBlock("message1","sequence1",nameMethod),callback1);
>
>		while (!callback1.isComplete()) {
>			System.out.println("boucle1");
>			Thread.sleep(1000);
>		}
>
>		Callback callback2 = new TestCallback ("Callback 2");
>		serviceClient.sendReceiveNonBlocking(getOMBlock("message2","sequence1",nameMethod),callback2);
>
>		while (!callback2.isComplete()) {
>			System.out.println("boucle2");
>			Thread.sleep(1000);
>		}
>
>		options.setProperty(SandeshaClientConstants.LAST_MESSAGE, "true");
>		Callback callback3 = new TestCallback ("Callback 3");
>		serviceClient.sendReceiveNonBlocking(getOMBlock("message3","sequence1",nameMethod),callback3);
>
>		while (!callback3.isComplete()) {
>			System.out.println("boucle3");
>			Thread.sleep(1000);
>		}
>		System.out.println("Fin du programme");
>		Thread.sleep(10000);
>		serviceClient.finalizeInvoke();
>
>	}
>
>	
>	/**
>	 * Call submitOneWay with attachment
>	 *
>	 */
>	public  void testSubmitOneWayWSRMEmetteurAnonyme() throws Exception {
>
>		String nameMethod="submitOneWay";
>		ConfigurationContext configContext = ConfigurationContextFactory.createConfigurationContextFromFileSystem(CLIENT_REPO_PATH,axis2_xml);
>		ServiceClient sender = new ServiceClient (configContext,null);
>
>		Options options=initOptions("submitOneWay", false);
>		sender.setOptions(options);
>
>		System.out.println("Envoi");
>
>		sender.fireAndForget(getOMBlock("","ping1",nameMethod));
>		sender.fireAndForget(getOMBlock("","ping2",nameMethod));
>
>		options.setProperty(SandeshaClientConstants.LAST_MESSAGE, "true");
>		sender.fireAndForget(getOMBlock("","ping3",nameMethod));
>
>		Thread.sleep(10000);
>		System.out.println("\nResult :");
>		System.out.println("NO RETURN FOR WEBSERVICE");
>		sender.finalizeInvoke();
>
>	}
>
>	private OMElement getOMBlock(String text, String sequenceKey, String nameMethod) throws
Exception{
>
>		OMFactory fac = OMAbstractFactory.getOMFactory();
>		OMNamespace omNs = fac.createOMNamespace(namespace, "m");
>		OMElement payload = getPayload(nameMethod);
>
>		// Attach text file
>       		OMElement filetxt=createAttachment(fac,omNs);
>       		payload.addChild(filetxt);
>
>		// Add sequence number
>//		OMElement sequenceElem = fac.createOMElement("Sequence",omNs);
>//		if (nameMethod.equalsIgnoreCase("submit")) sequenceElem.setText(sequenceKey + "-"
+ text);
>//		else sequenceElem.setText(sequenceKey);
>//		payload.addChild(sequenceElem);
>
>		System.out.println("Document sent : "+payload);
>
>		return payload;
>
>	}
>
>
>	static class TestCallback extends Callback {
>
>		String name = null;
>		public TestCallback (String name) {
>			this.name = name;
>		}
>
>		public void onComplete(AsyncResult result) {
>//			Traitement du résultat et affichage
>			System.out.println("\nResult :");
>			System.out.println("Callback '" + name +  "' got result:" + result.getResponseEnvelope());
>		}
>
>		public void onError (Exception e) {
>			System.out.println("Error reported for test call back");
>			e.printStackTrace();
>		}
>	}
>
>	/**
>	 * Define options
>	 *
>	 */
>	private static Options initOptions(String nameMethod,boolean SeparateListener){
>
>		Options options = new Options ();
>		options.setTo(targetEPR);
>		options.setAction(nameMethod);
>		options.setSoapVersionURI(SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI);
>		options.setTransportInProtocol(Constants.TRANSPORT_HTTP);
>		options.setUseSeparateListener(SeparateListener);
>		options.setProperty(MessageContextConstants.TRANSPORT_URL,targetEPRTcpmon);
>		options.setProperty(Constants.Configuration.ENABLE_MTOM, Constants.VALUE_TRUE);
>
>		return options;
>	}
>
>	/**
>	 * Get file
>	 *
>	 */
>	private OMElement getPayload(String operation) throws Exception {
>		OMFactory fac = OMAbstractFactory.getOMFactory();
>		// Declaration du namespace
>		OMNamespace omNs = fac.createOMNamespace("http://dgme.finances.gouv.fr/presto", "m");
>		// Creation du sommet de l'arborescence
>		OMElement payload = fac.createOMElement(operation, omNs);
>
>		// Lecture du fichier a recuperer
>		XMLStreamReader parser = XMLInputFactory.newInstance().createXMLStreamReader(new FileInputStream("test_data_in.xml"));
>		// Construction de l'element
>		StAXOMBuilder builder = new StAXOMBuilder(fac, parser);
>		// Intergration dans l arborescence
>		payload.addChild(builder.getDocumentElement());
>
>		return payload;
>	}
>
>	/**
>	 * Method which create attachment
>	 *
>	 */
>	private static OMElement createAttachment(OMFactory fac, OMNamespace omNs) throws Exception{
>
>		OMElement attach = null;
>
>		// Creation du noeud
>		attach = fac.createOMElement("attachment", omNs);
>		// Lecteure de ce fichier
>		File fileTxt = new File(fileNameAttach);
>		FileDataSource dataSource = new FileDataSource(fileTxt);
>		// Transformation en données binaires
>		DataHandler expectedDH = new DataHandler(dataSource);
>		OMText textData = fac.createOMText(expectedDH, true);
>		// Ajout au message soap
>		attach.addChild(textData);
>
>		return attach;
>	}
>
>}
>
>  
>
>------------------------------------------------------------------------
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
>For additional commands, e-mail: axis-user-help@ws.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org


Mime
View raw message