5 種類のサービスを作成しました。A、B、C、D、E。Apache 軸の使用
単一の 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