我创建了5种不同类型的服务。 A,B,C,d,E。使用Apache Axis如何从我的客户端使用Web服务?
从单个java客户端我将调用所有这5个服务,并给每个服务3个参数。
我创建了客户端。像这样是对的?
import javax.xml.namespace.QName;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
public class ServicesCaller
{
String A="";
String B="";
String C="";
public void services(String start,String end,String comfort)
{
try
{
String endpoint1="http://localhost:8080/callser/services/A1";
String endpoint2="http://localhost:8080/callser/services/A2";
String endpoint3="http://localhost:8080/callser/services/A3";
String endpoint4="http://localhost:8080/callser/services/A4";
String endpoint5="http://localhost:8080/callser/services/A5";
Service service=new Service();
Call call=(Call)service.createCall();
call.setTargetEndpointAddress(new java.net.URL(endpoint1));
call.setTargetEndpointAddress(new java.net.URL(endpoint2));
call.setTargetEndpointAddress(new java.net.URL(endpoint3));
call.setTargetEndpointAddress(new java.net.URL(endpoint4));
call.setTargetEndpointAddress(new java.net.URL(endpoint5));
call.setOperationName(new QName("http://service.com","firstReturn"));
String ret = (String) call.invoke(new Object[] {start,end,comfort});
}
catch(Exception e)
{
System.out.println(e);
}
}
}
它正确吗?当我从我的jsp运行时,我得到这个异常
org.xml.sax.SAXException: Deserializing parameter 'arg0': could not find deserializer for type {http://schemas.xmlsoap.org/soap/encoding/}string
我建议您使用wsimport为您的WSDL生成一个Java客户端 – ftr 2013-03-05 17:27:07