Michael,

I checked the HttpClient and understood what you meant. So, it should be working with my web app on the same Tomcat.

As it shows in the RootCouse:

root cause
java.lang.LinkageError: loader constraints violated when linking
javax/xml/soap/SOAPMessage class
        at
org.apache.axis.client.Call.<init>(Call.java:263)
        at
org.apache.axis.client.Service.createCall(Service.java:566)

I started using a simple JSP page but still my Call.init is failing.

-Sri

At 10:18 AM 5/13/2005, you wrote:
Michael,

Thanks for your reply.

I just started calling the web service in the .jsp file.
Here is my client code from .jsp file:

<%
String endpoint =
"http://localhost:8080/bserv/services/EmployeeDataService";

String[] args = {"getEmployeeLateTSDataArray", "22624", "8524"};
String method = args[0];
String arg1 = args[1];;
String arg2 = args[2];;
Service service =
new Service();
Call call =
null;
QName qname =
null;
Class cls =
null;

qname =
new QName("EmployeeLateTSArray", "EmployeeLateTSBean");
TypeMappingRegistry tmr = service.getTypeMappingRegistry();
TypeMapping tmlts = tmr.createTypeMapping();
try {
  tmlts.register(
    Class.forName(
"com.bbn.ws.EmployeeLateTSBean"),
    qname,
    new org.apache.axis.encoding.ser.BeanSerializerFactory(EmployeeLateTSBean.class,qname),
    new org.apache.axis.encoding.ser.BeanDeserializerFactory(EmployeeLateTSBean.class,qname));
  }
catch (ClassNotFoundException e1) {
    e1.printStackTrace();
  }
tmr.register(
"http://schemas.xmlsoap.org/soap/encoding/", tmlts);

qname =
new QName("EmployeeLateTSArray", "EmployeeLateTSBeanArray");
call = (Call) service.createCall();
call.setReturnType (qname);
try {
  call.setTargetEndpointAddress(
new java.net.URL(endpoint));
}
catch (MalformedURLException e2) {
  e2.printStackTrace();
}
call.setOperationName(method);
call.addParameter(
"admnum", XMLType.XSD_INTEGER, ParameterMode.IN);
call.addParameter(
"mgrnum", XMLType.XSD_INTEGER, ParameterMode.IN);
call.setReturnType(qname);
System.out.println(
"Called method: " + method + "(" + arg1 + "," + arg2 + ")");
EmployeeLateTSBean e[] = (EmployeeLateTSBean[])call.invoke(
new Object[] { new Integer(arg1), new Integer(arg2) });
%>
<%= e[0].toString(); %>

I will look into using HttpClient as you suggested.

Thanks again,
Sri

At 05:47 PM 5/12/2005, Michael Oliver wrote:
Sri,

Its hard to tell what you are doing because we don't see any of the
source, but I can tell you that I use commons HttpClient to access one
servlet from another servlet all day long with no problems so you can at
least know that should work.

Michael Oliver
CTO
Alarius Systems LLC
6800 E. Lake Mead Blvd, #1096
Las Vegas, NV 89156
Phone:(702)643-7425
Fax:(702)974-0341
*Note new email changed from [EMAIL PROTECTED]

Reply via email to