通过注解修改wsdl和service类调用服务
来源:互联网 发布:js eval对象字符串 编辑:程序博客网 时间:2024/05/19 22:02
1,我们不能直接在wsdl中修改他的内容,比如我们想修改service的name属性,来改变生成的类名,是不可以直接在文档中修改的,需要在发布类上使用注解方式修改。
在类上加注解:
即可。
通过wsimport生成Java文件,可以发现生成的类变成了MyHelloWorld.java
2,从wsdl中可以看到我们的包结构,即targetNamespace后面的数据,是倒置的包名,如果不希望暴露我们的包名,可以通过注解解决。
添加这个注解后,真实的包路径还是cn.ws,但是现实在wsdl页面中的就变成了我们修改后的名字:
生成Java类的时候的包路径也变成了com.wj。
3,发布服务的时候,不发布其中的一个方法,通过 @WebMethod(exclude=”true”)搞定。
那么发布之后将会不包含这个方法。
4,如果想将发布的一个方法在发布后显示另外一个名字,通过注解:@WebMethod(operationName=”sayHello”),将sayHi方法改成sayHello。
发布后,在wsdl页面看到的sayHi方法的名字为sayHello。
5,发布后的参数名是arg0,可以通过注解修改。在方法的参数前添加注解@WebParam(name=”YourName”)即可。
Arg0就变成了yourname。
6,想改变发布后的返回值的名字,返回值默认是return,可以在返回值上添加注解。
@WebResult(name=”backParam”)
在MyEclipse的SOAPWeb Service中也可以看到返回的xml中元素的改变。
7,本地通过底层Service类来调用服务方法。
先生成Java文件。将生成的包粘贴到项目中。
因为之前用注解修改了类名和方法名,所以new的时候要new MyHelloWorld,调用方法的时候要调用sayHello而不是sayHi。
新建一个java工程,将之前工程中的接口复制到这个项目中。
QName:完全限定名。
新建一个类,访问服务方法。
import java.net.URL;import javax.xml.namespace.QName;import javax.xml.ws.Service;/** * 调用远程代码的实现是Service类实现的。 * 内部包装了Socket * @author Administrator */public class Demo {public static void main(String[] args) throws Exception {String uri = "http://wj.com";URL url = new URL("http://192.168.1.254:2345/hello?wsdl");//包名+类名QName qname = new QName(uri,"MyHelloWorld");Service service = Service.create(url,qname);//new MyHelloWorld();//获取//new MyHelloWorld().getHelloWorldPort();HelloWorld hw = service.getPort(new QName(uri,"HelloWorldPort"),HelloWorld.class);String ss = hw.sayHello("王健同学");System.err.println("ss"+ss);System.err.println("----------------");Object obj = service.getPort(new QName(uri,"HelloWorldPort"),null);System.err.println(">>:"+obj);}}
- 通过注解修改wsdl和service类调用服务
- 通过注解修改WSDL
- 通过注解修改WSDL
- Web-Service-常用监听器&&注解修改WSDL
- WebService 通过注解修改wsdl文档
- Java如何通过WSDL文件来调用这些web service
- Java如何通过WSDL文件来调用这些web service
- Java如何通过WSDL文件来调用这些web service
- AXIS2实例3:通过wsdl生成服务和客户端代码
- PHP提供Web Service服务供JAVA调用(SOAP+WSDL)
- wsdl服务文件反编译成类调用接口
- 【WebService】wsdl配置详解以及使用注解修改wsdl配置
- 利用注解修改wsdl文件的内容
- webservice--用注解修改WSDL内容
- Android通过广播接收者调用服务(service)内方法
- dubbo通过注解方式暴露服务和引用服务
- mule 基于wsdl调用cxf web service
- 通过wsdl文件生成web服务
- Linux下使用wget下载jdk
- pygame开发的"雷电"游戏雏形
- http使用apache工具类提交数据
- OCP-1Z0-053-V12.02-291题
- iOS界面-仿网易新闻左侧抽屉式交互
- 通过注解修改wsdl和service类调用服务
- Java中加载配置文件方式的总结
- yum的基本命令
- iOS界面-仿网易新闻左侧抽屉式交互 续(添加新闻内容页和评论页手势)
- Putty和8uftp的使用
- PV原语
- 向JSP传值注意事项
- Advanced Java: Multi-threading
- Java学习系列(十)Java面向对象之I/O流(上)