webservice客户端报错,刚学写接口,求大神帮忙看一下

自由自在_Yu 2016-12-08 10:13:56
接口:
import javax.jws.WebService;
import javax.xml.ws.RequestWrapper;

@WebService(name = "HelloService", targetNamespace = "http://test.yx.com")
public interface IHello {
@RequestWrapper(localName="getName",className="com.yx.test.IHello")
public String getName(String name);
}

实现类:
import javax.jws.WebService;

@WebService
public class Hello implements IHello {
public String getName(String name) {
System.out.println("接口被调用");
return "hello:" + name;
}
}

发布类:
import javax.xml.ws.Endpoint;
import com.yx.test.Hello;
import com.yx.test.IHello;

public class TestServ {

public static void main(String[] args) {
IHello hello = new Hello();

Endpoint.publish("http://localhost:8080/test", hello);
System.out.println("发布成功");
}
}

运行发布成功之后。
客户端如下:
import java.net.URL;

import javax.xml.namespace.QName;
import javax.xml.ws.Service;

public class App {
public static void main(String[] args) throws Exception {
URL wsdlUrl = new URL("http://localhost:8080/test?wsdl");
Service s = Service.create(wsdlUrl, new QName("http://test.yx.com/","HelloService"));
QName qname = new QName("http://test.yx.com/","HelloPort");
IHello ho = s.getPort(qname, IHello.class);
String ret = ho.getName("zhangsan");
System.out.println(ret);
}
}


http://localhost:8080/test?wsdl 在浏览器中可以打开看到接口信息
...全文
133 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
自由自在_Yu 2016-12-08
  • 打赏
  • 举报
回复
引用 2 楼 qnmdcsdn 的回复:
@RequestWrapper(localName="getName",className="com.yx.test.getName")
谢谢 原来是这个地方写错了
  • 打赏
  • 举报
回复
@RequestWrapper(localName="getName",className="com.yx.test.getName")
自由自在_Yu 2016-12-08
  • 打赏
  • 举报
回复

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧