浅析WSDL接口开发(webservice)

最近接触了一下基于WSDL的接口开发,特在此整理一下,步骤如下

一:生成客户端/服务端

这里可以使用但不局限于以下两种方式    1:基于文件生成    2:基于路径生成

以生成测试Server为例,IDE:MyEclipse

选中要生成测试Server的文件,右键选择MyEclipse—New Web Service,点击Next,Web service project中ServiceDefinition选择WSDL File,在Java package中点击Browse选择要在那个文件夹生成文件,点击OK,点击NEXT,完成后点击Finish,结束。对于基于路径生成可在Web service project中ServiceDefinition选择WSDL URL

二:调用客户端/服务端

以客户端为例,甲方给的提示代码如下

SyncService service = new SyncService ();

Sync portType = service.getHTTPPort();

portType.siSync(...);

这里只需要根据siSync方法里的数据赋值即可

三:验证问题

若存在需要登陆验证,可加入下面的方法

static{

java.net.Authenticator.setDefault(new java.net.Authenticator(){

@Override

protected java.net.PasswordAuthentication getPasswordAuthentication(){

return new java.net.PasswordAuthentication("用户名","密码".toCharArray());

}

});

}

四:其他问题

1:WSP0071:multiple police assertion creators try to register for namespace

出现这种情况的原因是jar包冲突,此时应检查项目里的jar包与刚才生成代码的jax-ws包是否冲突

检查的文件包括tomcat的lib,项目的lib以及其他,若存在冲突,删除掉就可以了,以下是可能会出现问题的几个jar包

有的项目可能也会带着别的webservice的jar包,一律删除,找到自己jax-ws的jar包文件我的路径如下

E:\MyEclipse\Common\plugins\com.genuitec.eclipse.ws.xfire_9.0.0.me201205100021\lib

找到这四个文件,复制到刚才jar包的文件里,重新编译运行

2:Server error,在传参数的地方显示 UnknowSource

1:出现这种情况一般是传值的时候,传入的数据长度>wsdl配置文件允许的长度,检查wsdl文件是不是有偿度限制

2:传入的属性不全

3:server方的错误

推荐使用软件Altova XMLSpy调试,路径如下

https://download.csdn.net/download/qq_36264455/10424335







猜你喜欢

转载自blog.csdn.net/qq_36264455/article/details/80371612