axis1.4 发布webservice的问题
用axis1.4 发布webservice的问题
The service class "org.gdt.sgcda.wf.impl.DefinitionManageServiceImpl" does not comply to one or more requirements of the JAX-RPC 1.1 specification, and may not deploy or function correctly.
原因:JAX-RPC1.1在处理SAOP与XML的映射时,不支持返回类型是List的类型。
解决:把List的返回类型改成数组的类型。如:List<UserBean>改成UserBean[].
背景:JAX-RPC 在javaEE1.5中已经被删除,已经不再用了,换成JAX-WS. JAX-RPC是JAVA API for XML Remote procedure client(基于可扩展标记语言XML的远程过程调用的Java应用程序接口).
JAX-WS(JAVA for XML Webservice)是JAX-RPC 的演进版本,两者最大的区别:JAX-RPC是RPC/encoded样式的wsdl,但JAX-WS不提供支持,其中JAX-WS大部分都是注解。
用axis1.4发布webservice选择style and use的问题
原因:axis1.4太旧,使用的JAX-RPC来处理SAOP与XML的映射,而JAX-RPC 只支持RPC/encoded样式,如果使用document/literal(wrapped)或document/literal 客户端就不能识别返回类型是对象的或List类型、数组类型的值。
解决:1.用JDK1.6以上或JDK1.6提供的webservice发布。2.axis2进行发布。3、axis1 要选择发布的样式为RPC/encodded.
以上是我在用webservice的一点经验,希望对大家有帮助。