XFile客户端调用JDK1.6+的webserivce时参数为null

     Webservice的服务端用JDK1.6+自带的Webservice做的,客户端用的是XFile的webservice调用的,但是传过来的参数为NULL.

     XFile的调用方式是:

     String wsdl = "http://192.168.1.112:8088/testService?wsdl";

      try {

          Client client = new Client(new URL(wsdl));

          String result = client.invoke("test", new Object[]{"hello"});

      } catch (MainformedURLException e) {

           e.printStackTrace();

      } catch (Exception e) {

           e.printStackTrace();

      }

     服务端的代码如:

     接口:

     public interface ITest  {

           public String test(String str);

     }

     实现类:

     @WebService(name="test",  serviceName = "test") 

     @SOAPBinding(stype = SOAPBinding.Style.RPC)  

      public class TestImpl implements ITest {

          @Override

          public String test(String str) {

              System.out.println(str);

          }

      }

      

      解决办法:

      在服务端的实现类上加上:@SOAPBinding(stype = SOAPBinding.Style.RPC)  

      代码变成:

      

     @WebService(name="test",  serviceName = "test") 

     @SOAPBinding(stype = SOAPBinding.Style.RPC)  

      public class TestImpl implements ITest {

          @Override

          public String test(String str) {

              System.out.println(str);

          }

      }

    JDK1.6+自带的Webservice非常强大,而且不用我们额外引入jar包,而且应该将来会越来越强大,所以推荐大家使用。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。