背景:

使用JDK来开发java web service (Create a SOAP-based RPC style web service endpoint by using JAX-WS)。

具体请看 -> WebService - 使用JDK开发WebService

代码:

  1. import javax.xml.namespace.QName;
  2. import javax.xml.ws.Service;
  3. import java.net.MalformedURLException;
  4. import java.net.URL;
  5.  
  6. public class WebServiceClient {
  7. public static void main(String[] args) throws MalformedURLException {
  8.  
  9. URL url = new URL("http://127.0.0.1:8080/WS_Server/Webservice?wsdl");
  10. QName qname = new QName("http://webservice/", "WebServiceImplService");
  11.  
  12. Service service = Service.create(url, qname);
  13.  
  14. WebServiceI serviceI = service.getPort(WebServiceI.class);
  15.  
  16. System.out.println(serviceI.sayHello("cuixunxu "));
  17.  
  18. }

错误:

  1. Exception in thread "main" javax.xml.ws.WebServiceException: Undefined port type: {http://webservice/}WebServiceI
  2. at com.sun.xml.internal.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:456)
  3. at com.sun.xml.internal.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:463)
  4. at javax.xml.ws.Service.getPort(Service.java:188)
  5. at webservice.client.WebServiceClient.main(WebServiceClient.java:19)

解决方法:

@WebService的接口类WebServiceI代码:

  1. package webservice;
  2.  
  3. import javax.jws.WebMethod;
  4. import javax.jws.WebService;
  5.  
  6. @WebService
  7. public interface WebServiceI {
  8.  
  9. @WebMethod
  10. String sayHello(String name);
  11.  
  12. @WebMethod
  13. String save(String name,String pwd);
  14.  
  15. }

WebServiceI接口的实现类WebServiceImpl类的代码:...注意,需要在@WebService注解后面加上接口的全路径

  1. package webservice;
  2.  
  3. import webservice.WebServiceI;
  4.  
  5. import javax.jws.WebService;
  6.  
  7. @WebService(endpointInterface="webservice.WebServiceI")
  8. public class WebServiceImpl implements WebServiceI {
  9. @Override
  10. public String sayHello(String name) {
  11. return name + "is calling!!!";
  12. }
  13.  
  14. @Override
  15. public String save(String name, String pwd) {
  16. return "Receive name: " + name + " and pwd: " + pwd;
  17. }
  18. } 

WebService - [Debug] javax.xml.ws.WebServiceException: Undefined port type的更多相关文章

  1. javax.xml.ws.webserviceexception class do not have a property of the name

    我是用wsimport生成webservice 的客户端,放到工程里,调用,出现这个异常, 后来发现,是没有把package-info.java这个文件一起放到包里的缘故 解决: 连同package- ...

  2. javax.xml.ws.soap.SOAPFaultException: 没有Header,拦截器实施拦截

    客户端代码: client.getOutInterceptors().add(new AuthInterceptor("zhangsan", "123456") ...

  3. 使用idea的的第一个坑-----javax.xml.ws.WebServiceRef

    新建项目启动报错的时候,一直报这个错,类找不到,郁闷了半天,都没百度到结果,后来发现是添加tomcat的时候jre没 指定..... 哈哈哈,太懵逼了,指定就ok了

  4. java.lang.ClassNotFoundException: com.sun.xml.ws.spi.ProviderImpl解决办法

    问题现象: 这种很可能出现在独立一个简单示例项目中可以用,但是在把webService模块加入系统后,报出这类错误. Exception in thread "main" java ...

  5. WebService基础入门 CXF(WS + RS)

    一.基本介绍 Web Services是一个软件接口,它描述了一组可以在网络上通过标准化的 XML 消息传递访问的操作.它使用基于 XML 语言的协议来描述要执行的操作或者要与另一个 Web 服务交换 ...

  6. WebService 的CXF框架 WS独立服务之HelloWorld

    WebService:不同系统不同语言的数据交互, CXF主要分为两种服务方式: 1 )JAX-WS:传输数据, xml格式,基于SOAP协议(规范:规定了xml传递数据的编码规范) ; 2 )JAX ...

  7. WebService - [Debug] java.net.BindException: Can't assign requested address

    Connected to the target VM, address: '127.0.0.1:57803', transport: 'socket' Exception in thread &quo ...

  8. java 写webservice接口解析xml报文

    1 <!--解析xml报文--> 2 <dependency> 3 <groupId>dom4j</groupId> 4 <artifactId& ...

  9. jdk10运行springboot项目出现:Type javax.xml.bind.JAXBContext not present

    项目由openjdk8.0迁移到jdk10导致的 原因:java9模块化的概念使得JAXB默认没有加载: jaxb-api是存在jdk中的,只是默认没有加载而已,手动引入即可. 推荐方式: <! ...

随机推荐

  1. Linux实战教学笔记50:Zabbix监控平台3.2.4(二)深入理解zabbix

    https://www.cnblogs.com/chensiqiqi/p/9162986.html 一,Zabbix Web操作深入 1.1 Zabbix Web下的主机和模版以及监控项的添加方式 ( ...

  2. Java内存模型知识点小结---《深入理解Java内存模型》(程晓明)读书总结

    一.Java内存模型介绍 内存模型的作用范围: 在Java中,所有实例域.静态域和数组元素存放在堆内存中,线程之间共享,下文称之为“共享变量”.局部变量.方法参数.异常处理器等不会在线程之间共享,不存 ...

  3. Scrapy安装报错

    python3 pip 安装Scrapy在win10 安装报错error: Microsoft Visual C++ 14.0 is required. Get it with "Micro ...

  4. 家庭记账本小程序之删(java web基础版四)

    实现删除消费账单 1.main_left.jsp中该部分,调用Servlet中delete方法 2.Servlet中delete方法,调用Dao层list方法,跳转到del.jsp页面 3.Dao层l ...

  5. ReSharper 2017破解详细方法:

    VS里面,打开ReSharper的注册窗口:ReSharper ——> Help ——> License Information... Use License Server,右侧加号,点击 ...

  6. 老婆大人 split,slice,splice,replace的用法

    split()方法用于把一个字符串分割成字符串数组 str.split("字符串/正则表达式从该参数制定额地方分割str",可选,可指定返回数组的最大长度,如果没设置参数,整个字符 ...

  7. AirBnB春招笔试题

    试题说明 笔试题只有一道,限时1小时. 模拟一个战争外交游戏,游戏中定义了三种操作: A city1 Hold : 军队A 占领了city1 A city1 Move city2 : 军队A从city ...

  8. Python 常用模块大全(整理)

    https://www.cnblogs.com/jpfss/p/9686050.html

  9. 牛客网 223C 区区区间间间(单调栈)

    题目链接:区区区间间间 题意:给出长度为n的数字序列ai,定义区间(l,r)的价值为, 请你计算出. 题解:单调栈求ai左边和右边第一个比它小的位置,需要减去ai的个数为$(R_i-i+1)*(i-L ...

  10. java 11 新的Epsilon垃圾收集器

    A NoOp Garbage Collector JDK上对这个特性的描述是: 开发一个处理内存分配但不实现任何实际内存回收机制的GC, 一旦可用堆内存用完, JVM就会退出. 如果有System.g ...