今天研究了下webservice 终于OK了,所以把它写到自己的博客来,因为网上说的都很复杂
而在这里,我会很简单的说明,一看就懂 首先在进行webservice 一定要下载包 到 http://ws.Apache.org/axis/网站下载Axis安装包. 在本文章中,我已经把要用的包上传了,大家可以直接在这下就行了 然后就写wsdd 文件,也是最重要的. 首先我在网上看到的例子是这样的,大家可以参考下 先写deploy.wsdd <deployment xmlns="http://xml./axis/wsdd/" xmlns:java="" target="_blank">http://xml./axis/wsdd/providers/java"> <service name="HelloWorld" provider="java:RPC"> <parameter name="className" value="HelloWorld"/> <parameter name="allowedMethods" value="sayHello"/> </service> </deployment> 在DOS下转换目录到%TOMCAT_HOME%\webapps\axis\WEB-INF,命令: java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient deploy.wsdd 你会发现目录下多了一个server-config.wsdd文件,这就是AXIS的配置文件,以后所有的服务发布描述都会在里面找到 其实说了这多,就是为了得到一个server-config.wsdd 而我就把一个成功的server-config.wsdd 拿来改 .最后发现可以功能.如果大家为了快,也可以这样做 以下是server-config.wsdd 的代码 这个文件,是放到 WEB-INF 目录下 和web.xml一起 <?xml version="1.0" encoding="UTF-8"?> <deployment xmlns="http://xml./axis/wsdd/" xmlns:java="http://xml./axis/wsdd/providers/java"> <globalConfiguration> <parameter name="sendMultiRefs" value="true"/> <parameter name="disablePrettyXML" value="true"/> <parameter name="dotNetSoapEncFix" value="true"/> <parameter name="enableNamespacePrefixOptimization" value="false"/> <parameter name="sendXMLDeclaration" value="true"/> <parameter name="sendXsiTypes" value="true"/> <parameter name="attachments.implementation" value="org.apache.axis.attachments.AttachmentsImpl"/> </globalConfiguration> <handler type="java:org.apache.axis.handlers.http.URLMapper" name="URLMapper"/> <service name="Login.jws" provider="java:RPC"> <parameter name="className" value="com.liuzm.Login"/>// 你要改的就是这.这写上要调用的类.就可以 <parameter name="scope" value="request"/> <parameter name="allowedMethods" value="*"/> // 这*代表所有的方法 <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/> </service> <transport name="http"> <requestFlow> <handler type="URLMapper"/> </requestFlow> </transport> </deployment> 类的代码com.liuzm.Login: public class Login { public String Add(){ return "liuzm"; } } 在这我只写了一个方法 就这样 完成了 然后在web.xml 加上 <servlet> <servlet-name>AxisServlet</servlet-name> <servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>AxisServlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping> 这样差不多一个webservice 完成了 然后在IE上测试下 http://localhost:8080/mywebservices/services 如果在IE 上看到 login Add 方法 就说明成功了 也可以写个测试类调用服务器 String url = "http://localhost:8080/mywebservices/services/Login.jws";// Service service = new Service(); Call call; try { call = (Call) service.createCall(); call.setTargetEndpointAddress(new java.net.URL(url) ); call.setOperationName("Add" );// 这是要调用的方法 String res = (String) call.invoke( new Object[] {} ); System.out.println(res); } catch (ServiceException e) { // TODO Auto-generated catch block e.printStackTrace(); } } 输出结果 liuzm 也就是Add 的方法.大家可以参考下 备注一下: 如果net与你交互,把http://localhost:8080/mywebservices/services/Login.jws?wsdl 这个地址给它 他那边会自动解析的,你也可以直接输入: http://localhost:8080/mywebservices/services/Login.jws?wsdl 测试下,如果成功就会显示xml格式的文件 如果完成了这一步,那么祝贺你成功了 Axis安装包 点击下载此文件 原创文章如转载,请注明:转载自刘志猛博客 |
|
来自: Blex > 《webService》