.net(C#)
文件-->新建-->项目-->web-->asp.net web服务应用程序,名为WebService1。
po:
public partial class ObjectInfo : object
{
private int idField;
private string nameField;
public int id
{
get
{
return idField;
}
set
{
idField = value;
}
}
public string name
{
get
{
return nameField;
}
set
{
nameField = value;
}
}
}
方法:
public class Service1 : System.Web.Services.WebService
{
[WebMethod]
public ObjectInfo[] GetObjectInfoList()
{
ObjectInfo[] objs = new ObjectInfo[2];
for (int i = 0; i < objs.Length; i++)
{
objs[i] = new ObjectInfo();
objs[i].id = i;
objs[i].name = "name" + i.ToString();
}
return objs;
}
}
}
返回对象为ObjectInfo的数组,这里是模拟输出(2个对象的数组)。
发布:
生成-->发布WebService1,地址:c:/Inetpub/wwwroot/ws,发布。
注意:
如果不能解析webservice,请确保iis正确安装和asp.net2相关dll注册成功。
.
.
JAVA
new-->other-->XFire-->Code generation from WSDL document,填写WSDL URL or path :http://192.168.1.251/ws/Service1.asmx?WSDL,点击完成,将自动生成webservice客户端代码。
如果代码报错,是因为缺少引用包,将commons-codec-1.3.jar,commons-httpclient-3.0.jar加入到build path目录即可。
调用代码:
Service1Client client = new Service1Client();
Service1Soap impl = client.getService1Soap();
ArrayOfObjectInfo arr = impl.getObjectInfoList();
for (ObjectInfo o : arr.getObjectInfo())
{
System.out.println(o.getId() + ":" + o.getName());
}
本例在MyEclipse6.5, XFire1.2, VisualStudio2008下测试通过。