axis2 wsdl生成java文件 参数类型与wsdl定义的不一样

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了axis2 wsdl生成java文件 参数类型与wsdl定义的不一样相关的知识,希望对你有一定的参考价值。

axis2 wsdl生成java文件 skelenton类为什么方法的参数类型都变成其中的一个java类,而不是wsdl中定义的字符串类型?并且将生成的java文件发布后,访问wsdl地址显示的方法参数类型是anytype,如何能改成String类型?

参考技术A webservice存在跨平台、跨语言的调用,axis为了适应这些变化,对类型都做了封装处理。
如果需要发布ws,安装帮助(网上的也行)一步步来,不要用axis通过wsdl自动生成的代码。
当然,webservice在不同语言间互相调用,不是很友好

所以,用了就不要纠结这个问题。

axis2的wsdl2java命令可以生成wsdl的服务端和客服端代码,请问各位大牛这个客服端和服务端的有啥区别。

还有...如果我自己写代码调用wsdl2java命令生成的代码,是调用生成的服务端代码还是客服端代码呢???

生成的服务端是你本机作为服务的提供者;生成客户端是为了你去调用服务端提供的服务。
如果你想调用服务的话,当然是用生成的客户端代码了。追问

”生成的服务端是你本机作为服务的提供者“,,这句话是什么意思,能更详细点嘛

追答

通过现有的服务的wsdl文件生成服务端,可以在本机生成服务端,可以改写或重构此服务端的代码,也可以在本地发布服务,这样可以防止不同语言一些特定的数据类型的不兼容性,先定义WSDL接口,包括一输入输出参数、返回值及相关的数据类型等,再通过WSDL来生成服务器端和客户端,这样的好处是:服务端不用关心客户端怎么调用,客户端也不用关系服务端如何实现。

参考技术A axis2的wsdl2java命令生成的客户端代理类就像是客户端的配置文件(根服务端相关),这个代理类可以完成的功能是你调用这个代理类中的方法就像是远程请求服务一样,axis2有两个转换代码工具wsdl2java和java2wsdl,wsdl2java是把服务端发布的wsdl转换为java代码 ,wsdl2java的作用反之。 参考技术B wsdl通常是由接口提供商生成的,也就是说服务端代码在提供商那。

自己通过wsdl2java命令可生成服务端与客户端的代码,但是服务端中的代码只包含接口定义,没有代码实现.测试的时候可以自己实现,只需要保证数据能正确传输就行了。

以上是关于axis2 wsdl生成java文件 参数类型与wsdl定义的不一样的主要内容,如果未能解决你的问题,请参考以下文章

Axis2根据wsdl文件生成本地Java代码

java webservice怎么生成wsdl文件

使用axis2,根据WSDL生成java客户端代码

使用axis2,根据WSDL生成java客户端代码

apache axis2 生成客户端实体类

axis2的wsdl2java命令可以生成wsdl的服务端和客服端代码,请问各位大牛这个客服端和服务端的有啥区别。