2007年11月29日星期四

Axias 与 .NET

前提:
下载AXIS2服务组件包,放到TOMCAT目录下,可以访问自带的服务

1,创建服务类,譬如
public class HelloWorld {
public String SayWhat(String in){
String info = in + " From Web Service";
return info;
}
}

2,创建一个services.xml配置

------------------------服务说明-----------------------------------------
This is a sample Web Service.
------------------------指定类-------------------------------------------
HelloWorld
------------------------操作或者函数说明---------------------------------





注意处理类:
这里使用的是
org.apache.axis2.rpc.receivers.RPCMessageReceiver

先前网上例子都是使用的org.apache.axis2.receivers.RawXMLINOutMessageReceiver
使用这个类用JAVA可以访问,但是.NET老是返回NULL,可能这里需要修改配置。
具体原因以后再探究。

3,生成的目录结构
-...class
-[META-INF]
----services.xml

4,打包
可以直接用WINRAR工具进行打包,后缀为.aar ,压缩格式为ZIP格式

5,部署
放到tomcat\webapps\axis2\WEB-INF\services目录下
或者通过Axis2的上传功能进行部署

6,启动TOMCAT服务器

7,.NET调用
在工程中增加一个Service 引用
地址设置为“http://localhost:8080/axis2/services/HelloWorld?wsdl”
通过向导直接生成客户端的类
向导完成后,工程目录中增加了一个"Service References"目录,app.config也被相应的做了修改
调用代码如下:
HelloWorldPortTypeClient tc = new HelloWorldPortTypeClient("HelloWorldSOAP11port_http");
object tr = tc.SayWhat("Hi World");
注意:
HelloWorldPortTypeClient 是自动生成的类(可以在Service References下的找到)
HelloWorldSOAP11port_http 是一个Endpoint名称,可以在app.config配置中找到

没有评论: