java调用webservice接口具体怎么调用啊?有没有简单点的?

a770817895 2012-10-30 01:17:58
老板给分个任务,用java调用webservice接口。也就是通过访问别人的接口获取到数据。
这个具体怎么搞啊?哪位大哥能给详细说说,以前没用过webservice。一点都不会用。
...全文
6034 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
sping RestTemplate
f47180383 2012-10-31
  • 打赏
  • 举报
回复
ws 客户端,你可以用开源的包生成。比如axis axis2 xfire 等等,也可以用soapui 工具 去生成。具体的可以问度娘。我自己也做ws的,做客户端也做服务端,性能上 ws跟不上。所以,一般同一个接口,我这边都支持两种,ws和http的。http的性能上就高多了,ws 只要是他们自己解析xml的时间有点长,而且还要看客户端与服务端用的开源的jar包,比如,你用xfire 生成服务端,那客户端用axis 或者axis2 的话,可能就慢多了。而且,axis和axis2 调用ws的时候默认一个http的属性是关闭的。最好打开,否则,当服务端性能提升,加http转发机制的话。比如用nginx 或者其他http转发软件做转发,那么肯定出错。
sgyyz 2012-10-30
  • 打赏
  • 举报
回复
你这个服务需要验证……
a770817895 2012-10-30
  • 打赏
  • 举报
回复
我是按照这个步骤用的。但是报了一个这个错:
javax.xml.ws.soap.SOAPFaultException: GetRelation Service Should be Authenticated
com.sun.xml.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:188)
com.sun.xml.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:108)
com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:119)
com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:89)
com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:118)
$Proxy38.getDeptmentInfo(Unknown Source)
com.ybhy.pmss.web.login.LoginAction.returnValue(LoginAction.java:166)
com.ybhy.pmss.web.login.LoginAction$$FastClassByCGLIB$$89a0b9d6.invoke(<generated>)
net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:700)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:635)
com.ybhy.pmss.web.login.LoginAction$$EnhancerByCGLIB$$f79d8195.returnValue(<generated>)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
a770817895 2012-10-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
1、xml的配置文件,指定访问按个url
2、接口文件,
3、用spring的方式访问接口,得到数据
[/Quote]

哥们写的太笼统了吧。
sgyyz 2012-10-30
  • 打赏
  • 举报
回复
MyElipse可以帮你完成,在部署服务器按钮旁边有一个new webservice client,然后输入你的wsdl地址,选择生成的包,这样他就会为你生成调用webservice的工具包,你可以调用它的方法。

http://blog.csdn.net/demon_evil/article/details/5273703

http://guohui123.iteye.com/blog/891870
liangtu 2012-10-30
  • 打赏
  • 举报
回复
1、xml的配置文件,指定访问按个url
2、接口文件,
3、用spring的方式访问接口,得到数据

23,407

社区成员

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

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