Hi all,
Tools use: Axis2 1.0, Sandesha2 1.0 and apache-tomcat-5.5.15
I try to do the sandesha2 user guide. I deploy on tomcat the aar giving
by the sandesha2 1.0-bin.zip. I recover the client in the user guide. I
do instructions of sandesha2 user guide.
I only change this in the client code:
private static String toEPR =
"http://127.0.0.1:8080/axis2/services/RMSampleService";
private static String CLIENT_REPO_PATH =
"/home/mancinee/workspace/wsrm/client/Client_Repo";
....
I add this property
clientOptions.setProperty(MessageContextConstants.TRANSPORT_URL,"http://localhost:8070/axis2/services/RMSampleService");
I use TCPMon to observe SOAP message.
I put 8080 on the Target Port and I listen on the port 8070.
The error appears when I launch my client. I can access tomcat, but it
returns an error: HTTP/1.1 500 Internal Error Servlet
The server met an internal error which stopped the request. I can't say
more because I do not have more information.
The http request caugth in tcpmon is:
POST /axis2/services/RMSampleService HTTP/1.1
User-Agent: Axis2
SOAPAction: http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence
Host: 127.0.0.1:8070
Transfer-Encoding: chunked
Content-Type: text/xml; charset=UTF-8
320
<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:wsa="http://www.w3.org/2005/08/addressing">
<soapenv:Header>
<wsa:To>http://127.0.0.1:8080/axis2/services/RMSampleService</wsa:To>
<wsa:ReplyTo>
<wsa:Address>http://129.183.149.72:6060/axis2/services/__ANONYMOUS_SERVICE__/__OPERATION_OUT_IN__</wsa:Address>
</wsa:ReplyTo>
<wsa:MessageID>urn:uuid:07B228029E7191235511496802483123</wsa:MessageID>
<wsa:Action>http://schemas.xmlsoap.org/ws/2005/02/rm/CreateSequence</wsa:Action>
</soapenv:Header>
<soapenv:Body>
<wsrm:CreateSequence
xmlns:wsrm="http://schemas.xmlsoap.org/ws/2005/02/rm">
<wsrm:AcksTo>
<wsa:Address>http://www.w3.org/2005/08/addressing/anonymous</wsa:Address>
</wsrm:AcksTo>
</wsrm:CreateSequence>
</soapenv:Body>
</soapenv:Envelope>0
I restart the setup of axis2 and download the sandesha2 1.0-bin.zip. But
no difference.
The tomcat logs give no information.
I don't understand why Tomcat return this error.
Can someone have an idea?
Thanks for you time.
Regards
Elodie
package client;
import java.io.File;
import javax.xml.namespace.QName;
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.soap.SOAPBody;
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 UserguideEchoClient {
private final static String applicationNamespaceName = "http://tempuri.org/";
private final static String echoString = "echoString";
private final static String Text = "Text";
private final static String Sequence = "Sequence";
private final static String echoStringResponse = "echoStringResponse";
private final static String EchoStringReturn = "EchoStringReturn";
private static String toEPR = "http://127.0.0.1:8080/axis2/services/RMSampleService";
private static String CLIENT_REPO_PATH = "//home//mancinee//workspace//wsrm//client//Client_Repo";
public static void main(String[] args) throws Exception {
String axis2_xml = CLIENT_REPO_PATH + File.separator +"client_axis2.xml";
ConfigurationContext configContext = ConfigurationContextFactory.createConfigurationContextFromFileSystem(CLIENT_REPO_PATH,axis2_xml);
ServiceClient serviceClient = new ServiceClient (configContext,null);
Options clientOptions = new Options ();
clientOptions.setTo(new EndpointReference (toEPR));
clientOptions.setTransportInProtocol(Constants.TRANSPORT_HTTP);
clientOptions.setUseSeparateListener(true);
clientOptions.setProperty(MessageContextConstants.TRANSPORT_URL,"http://localhost:8070/axis2/services/RMSampleService");
serviceClient.setOptions(clientOptions);
// serviceClient.engageModule(new QName ("sandesha2"));
// serviceClient.engageModule(new QName ("addressing"));
System.out.println("Envoi");
Callback callback1 = new TestCallback ("Callback 1");
serviceClient.sendReceiveNonBlocking (getEchoOMBlock("echo1","sequence1"),callback1);
// Callback callback2 = new TestCallback ("Callback 2");
// serviceClient.sendReceiveNonBlocking(getEchoOMBlock("echo2","sequence1"),callback2);
//
// clientOptions.setProperty(SandeshaClientConstants.LAST_MESSAGE, "true");
// Callback callback3 = new TestCallback ("Callback 3");
// serviceClient.sendReceiveNonBlocking(getEchoOMBlock("echo3","sequence1"),callback3);
while (!callback1.isComplete()) {
System.out.println("boucle");
Thread.sleep(1000);
}
System.out.println("Fin du programme");
Thread.sleep(4000);
}
private static OMElement getEchoOMBlock(String text, String sequenceKey) {
OMFactory fac = OMAbstractFactory.getOMFactory();
OMNamespace applicationNamespace = fac.createOMNamespace(applicationNamespaceName,"ns1");
OMElement echoStringElement = fac.createOMElement(echoString, applicationNamespace);
OMElement textElem = fac.createOMElement(Text,applicationNamespace);
OMElement sequenceElem = fac.createOMElement(Sequence,applicationNamespace);
textElem.setText(text);
sequenceElem.setText(sequenceKey);
echoStringElement.addChild(textElem);
echoStringElement.addChild(sequenceElem);
return echoStringElement;
}
static class TestCallback extends Callback {
String name = null;
public TestCallback (String name) {
this.name = name;
}
public void onComplete(AsyncResult result) {
SOAPBody body = result.getResponseEnvelope().getBody();
OMElement echoStringResponseElem = body.getFirstChildWithName(new QName (applicationNamespaceName,echoStringResponse));
OMElement echoStringReturnElem = echoStringResponseElem.getFirstChildWithName(new QName (applicationNamespaceName,EchoStringReturn));
String resultStr = echoStringReturnElem.getText();
System.out.println("Callback '" + name + "' got result:" + resultStr);
}
public void onError (Exception e) {
System.out.println("Error reported for test call back");
e.printStackTrace();
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]