因为要写web services接口 上午弄了下,写了个hello word列子
package com.cmc.webservices;public class Hellowrod {
public String test(String name){
return service.gethello(name);
}
}通过spring bean注入
   
   <bean id="hello" class="com.cmc.webservices.Hellowrod"></bean>在services.xml中<service name="gethello" provider="java:RPC">
<description>返回测试</description>
<parameter name="ServiceObjectSupplier">
org.apache.axis2.extensions.spring.receivers.SpringServletContextObjectSupplier
</parameter>
<parameter name="SpringBeanName">hello</parameter>
<messageReceivers>
<!--<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />
--><messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" />
</messageReceivers>
</service>通过访问:http://localhost:8080/xxxx/services/gethello?wsdl吧页面的东西保存为一个在D盘下的gethello.wsdl文件然后用soapUi 测试成功。
cmd命令
wsdl2java -uri D:\gethello.wsdl会生成一个src目录。下面有两个java类
现在是要通过代码编写来测试services.也就是新建一个项目 怎么调用我刚才写的web services接口程序呢?急!急!急

解决方案 »

  1.   

    这个很不错,正需要这个,但是wsdl是什么文件?
      

  2.   


    public static void main(String[] args) {
        try {
            // 连接service地址+名称
            String endpoint = "http://x.x.x.x:xx/xxxx/ServiceName";        Service service = new Service();
            Call call = (Call) service.createCall();
            call.setTargetEndpointAddress(new java.net.URL(endpoint));
            // 访问方法
            call.setOperationName("getPermission");        // 传递参数
            Map<String, Object> params = new HashMap<String, Object>();
            params.put("abc", "123");
            params.put("def", "456");
            // 返回结果
            Object ret = call.invoke(new Object[] { params });        System.out.println("Sent '" + params + "', got '" + ret + "'");
        } catch (Exception e) {
            System.err.println(e.toString());
        }
    }
    这个是AXIS实现WS的客户端调用方法,希望对你有所帮助。