文档章节

webservice(一) 初涉

alonelywolf
 alonelywolf
发布于 2014/12/30 08:37
字数 540
阅读 86
收藏 0
Exception in thread "main" com.sun.xml.internal.ws.model.RuntimeModelerException: runtime modeler error: Wrapper class com.wa.jaxws.SayHello is not found. Have you run APT to generate them?
 at com.sun.xml.internal.ws.model.RuntimeModeler.getClass(RuntimeModeler.java:256)
 at com.sun.xml.internal.ws.model.RuntimeModeler.processDocWrappedMethod(RuntimeModeler.java:567)
 at com.sun.xml.internal.ws.model.RuntimeModeler.processMethod(RuntimeModeler.java:514)
 at com.sun.xml.internal.ws.model.RuntimeModeler.processClass(RuntimeModeler.java:341)
 at com.sun.xml.internal.ws.model.RuntimeModeler.buildRuntimeModel(RuntimeModeler.java:227)
 at com.sun.xml.internal.ws.server.EndpointFactory.createSEIModel(EndpointFactory.java:308)
 at com.sun.xml.internal.ws.server.EndpointFactory.createEndpoint(EndpointFactory.java:174)
 at com.sun.xml.internal.ws.api.server.WSEndpoint.create(WSEndpoint.java:420)
 at com.sun.xml.internal.ws.api.server.WSEndpoint.create(WSEndpoint.java:439)
 at com.sun.xml.internal.ws.transport.http.server.EndpointImpl.createEndpoint(EndpointImpl.java:208)
 at com.sun.xml.internal.ws.transport.http.server.EndpointImpl.publish(EndpointImpl.java:138)
 at com.sun.xml.internal.ws.spi.ProviderImpl.createAndPublishEndpoint(ProviderImpl.java:90)
 at javax.xml.ws.Endpoint.publish(Endpoint.java:170)
 at com.wa.ServerTest.main(ServerTest.java:9)

原因

  cxf需要jaxws-api-2.1.jar及jaxb-api-2.1.jar的支持。

解决办法

  1.  检查项目里是否有上述相关Jar包,如果没有,将cxf所需的2.1的jar复制一份到jdk目录下的jre\lib\endorsed文件夹中。如果endorsed文件夹不存在,可新建。

  2.  项目里是有上述相关Jar包,还需要在public class XXX类上方加入@SOAPBinding(style = SOAPBinding.Style.RPC);

  3.  JDK升级到1.6.0.22版本以上;

定义接口方法:
 @WebService
public interface HelloInt {
 
 @WebMethod
 public String sayHello(String name );
}
定义实现类:
@WebService
@SOAPBinding(style = SOAPBinding.Style.RPC)
public class HelloImpl implements HelloInt {
 @Override
 public String sayHello(String name) {
  return "hello,"+name;
 }
}
测试方法:
public class ServerTest {
 
 public static void main(String[] args) {
  String address = "http://192.168.1.100:8989/d01ws/hello";
  Endpoint.publish(address,new HelloImpl());
  System.out.println("webservice发布成功");
 }
}

运行程序:

在浏览器地址栏输入:http://192.168.1.100:8989/d01ws/hello?wsdl

可以看到内容,发布成功:

<?xml version="1.0" encoding="UTF-8"?>
@namespace html url(http://www.w3.org/1999/xhtml); :root {                       font:small Verdana;        font-weight: bold;         padding: 2em;              padding-left:4em;       }                          * {                           display: block;            padding-left: 2em;      }                          html|style {                  display: none;          }                          html|span, html|a {           display: inline;           padding: 0;                font-weight: normal;       text-decoration: none;  }                          html|span.block {             display: block;         }                          *[html|hidden],            span.block[html|hidden] {     display: none;          }                          .expand {                     display: block;         }                          .expand:before {              content: '+';              color: red;                position: absolute;        left: -1em;             }  .collapse {                   display: block;         }                          .collapse:before {            content: '-';              color: red;                position: absolute;        left:-1em;              }
<!-- Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.1.1 in JDK 6. -->
<!-- Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.1.1 in JDK 6. -->
<definitions name="HelloImplService" targetNamespace="http://wa.com/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://wa.com/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"><?XML:NAMESPACE PREFIX = [default] http://schemas.xmlsoap.org/wsdl/ NS = "http://schemas.xmlsoap.org/wsdl/" /><types/><message name="sayHello"><part name="arg0" type="xsd:string"/></message><message name="sayHelloResponse"><part name="return" type="xsd:string"/></message><portType name="HelloImpl"><operation name="sayHello" parameterOrder="arg0"><input message="tns:sayHello"/><output message="tns:sayHelloResponse"/></operation></portType><binding name="HelloImplPortBinding" type="tns:HelloImpl"><soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/><operation name="sayHello"><soap:operation soapAction=""/><input><soap:body namespace="http://wa.com/" use="literal"/></input><output><soap:body namespace="http://wa.com/" use="literal"/></output></operation></binding><service name="HelloImplService"><port name="HelloImplPort" binding="tns:HelloImplPortBinding"><soap:address location="http://192.168.1.110:8989/d01ws/hello"/></port></service></definitions>

© 著作权归作者所有

上一篇: webservice接口
下一篇: c3p0连接池异常
alonelywolf
粉丝 4
博文 62
码字总数 34590
作品 0
丰台
程序员
私信 提问
cxf安全验证不知从何做起,看了很多ws-security的demo感觉越看越糊涂。

各位好, 最近遇到关于cxf安全性验证的问题, 看过很多ws-security的demo基本都是一样的,没有任何进展。英文不好,所以进展很慢,看官方文档基本看不懂。 纠结的地方有这些: 第一,使用use...

小文大哥哥
2012/04/06
1K
3
新手初识webservice-理论篇

工作中接触到了一些webservice应用,进而想整理出一些东西,给组里如我一样的毛头小伙子分享下,后来觉得在OSC一直默默潜水了快两年了,好像没留下过什么有价值的东西,就顺路记在这里吧,望...

路飞
2012/04/08
2.5K
16
这样的xml怎么解析比较好啊?

最近写android应用,初涉xml解析,用的android pull方式,求教这样的xml怎么解析啊。。

Pisces
2012/11/01
107
0
用Python写出的应用的全貌

大家好! 本人是个初学python的新手,python的语言差不多学完后,发现后面的知识面余越拓越宽,想做一个完全可以运行的网站需要学的东西越看越多,包管理工具,WSGI网关接口,Flask,还有XML...

24K-Sunshine
2013/08/14
2.3K
11
WebService初体验——在JDK下发布第一个ws服务

首先,建立一个WebService。 package cn.xzj.ws;import javax.jws.WebService;import javax.xml.ws.Endpoint;//使用jdk1.6.0_24以上版本//1、添加注解@WebServicepublic class HelloWorld { ......

许大白
2014/03/07
2.5K
0

没有更多内容

加载失败,请刷新页面

加载更多

官方来源的 Duo Mobile App 解决了我的 Network Difficulties 问题

https://help.duo.com/s/article/2094?language=en_US 我利用百度搜索下载了一个 Duo Mobile App (由于 Google Play)在大陆不可用。 在扫描旧手机上的 Duo Mobile App 的二维码时, 显示出错...

圣洁之子
23分钟前
4
0
Zabbix监控Mysql容器(Docker容器)主从是否存活

1、在Zabbix Web端创建模板 2、为该模板创建监控项 3、创建触发器 4、在zabbix-agent端操作 在/etc/zabbix/zabbix_agentd.d新建customize.confw文件 内容如下 UserParameter=mysql.replicat...

abowu
25分钟前
3
0
基于 RocketMQ 的同城双活架构在美菜网的挑战与实践

本文整理自李样兵在北京站 RocketMQ meetup分享美菜网使用 RocketMQ 过程中的一些心得和经验,偏重于实践。 嘉宾李样兵,现就职于美菜网基础服务平台组,负责 MQ ,配置中心和任务调度等基础...

大涛学长
31分钟前
5
0
设计模式之:外观模式和桥接模式

作者:DevYK 链接:https://juejin.im/post/5d7e01f4f265da03b5747aac 外观模式 介绍 外观模式 (Facade) 在开发过程中的运用评率非常高,尤其是在现阶段,各种第三方 SDK “充斥” 在我们周边...

Java架构Monster
32分钟前
3
0
人证合一核验设备

人脸身份验证机,人证合一设备1:N如我们现在在车站或一些重要的场所如步行街、城中村等人流密集的场所应用的人脸识别布控系统,其特点是动态和非配合。所谓的动态也就是识别的不是照 片,不是...

非思丸智能
34分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部