package client;
import it.gotoandplay.smartfoxserver.crypto.MD5;
import java.rmi.RemoteException;
import java.util.List;
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
import javax.xml.rpc.ServiceException;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
import org.apache.axis.encoding.ser.BeanDeserializerFactory;
import org.apache.axis.encoding.ser.BeanSerializerFactory;
public class TransService {
/**
* @param username
* 用户名
* @param pwd
* 密码
* @param gameClassId
* 游戏ID
* @return list 包含用户的真实姓名,点数,状态和可用余额的字符串集合
*/
// public List<string> CheckLoginForGameStage2(string username, string pwd,
// int gameclassId,double roomno,string jiangno)
public TransService()
{
}
public List CheckLoginForGameStage(String username, String pwd,
int gameclassId) throws Exception {
String url = "http://192.168.58.247:1111/PublicService.asmx";
Service service = new Service();
Call call = null;
try {
call = (Call) service.createCall();
} catch (ServiceException e) {
e.printStackTrace();
}
QName qname = new QName("http://www.sohox.cn",
"CheckLoginForGameStage");
call.registerTypeMapping(List.class, qname, new BeanSerializerFactory(
List.class, qname), new BeanDeserializerFactory(List.class,
qname));
call.setOperationName(qname);
call.addParameter("username", XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter("pwd", XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter("gameclassId", XMLType.XSD_INT, ParameterMode.IN);
call.setUseSOAPAction(true);
call.setReturnType(qname);
call.setSOAPActionURI("http://www.sohox.cn/CheckLoginForGameStage");
call.setTargetEndpointAddress(url);
Object[] params = { new String(username), new String(pwd),
new Integer(gameclassId)};
try {
return (List) call.invoke(params);
} catch (RemoteException e) {
e.printStackTrace();
}
return null;
}
public static void main(String[] args)
{
TransService ts = new TransService();
try {
String pass = MD5.instance().getHash("111111");
List list = ts.CheckLoginForGameStage("a76", pass,1);
System.out.println(list);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}