import javax.crypto.Cipher;
import javax.crypto.SecretKey;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESKeySpec;
import javax.crypto.spec.IvParameterSpec;
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
--------
Service service=new Service();
Call call=(Call)service.createCall();
call.setTargetEndpointAddress(new java.net.URL(url));
//调用.NET写的WebService时,与调用JAVA写的WebService要多一些代码。
//第一步,增加如下两行代码。
call.setUseSOAPAction(true);
call.setSOAPActionURI(namespace + "getFileInfo");//URI格式:命名空间+方法名
//第二步,设置方法名时,不能只用一个字符串(调JAVA用法),而要用QName,并且构造QName时一定要加上命名空间
call.setOperationName(new QName(namespace,"getFileInfo"));
//第三步,需要传递参数时,一定要写上参数的变量名称,也是用带命名空间的QName表示。加了参数后要设置返回类型(可能只是axis)。
call.addParameter(new QName(namespace,"sUserName"),XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter(new QName(namespace,"sPassword"),XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter(new QName(namespace,"sGIID"),XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter(new QName(namespace,"sToken"),XMLType.XSD_STRING, ParameterMode.IN);
call.setReturnType(XMLType.XSD_STRING);
Object result = call.invoke(new Object[] {sUserName,sPassword,sGIID,sToken});
return result.toString();
//-java----------------------------
public static void main(String[] args) {
try {
String endpoint = "http://localhost:8080/axis2/Hello.jws?wsdl";
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL(endpoint));
call.setOperationName(new QName("urn:ActionWebService", "getName"));
String ret = (String) call.invoke(new Object[] { "a" });
System.out.println("result is: " + ret);
} catch (Exception e) {
e.printStackTrace();
}
}