使用 Eclipse 的 JAX-RPC 规范不支持数据类型的大错误

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/4808018/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-19 15:42:10  来源:igfitidea点击:

Big error about data type not supported in JAX-RPC specification using Eclipse

eclipseweb-servicesapachetomcataxis

提问by Garrett

This has never happened before. Never have I seen ANY of these warnings. There must be a small fix that I'm missing.

这是以前从未发生过的。我从未见过任何这些警告。一定有一个我遗漏的小修复。

There is no way I can take out all instances of Class, Object, Map, etc. as it says I must. I've used these before in the same web service and had no problem. I added one method that is similar to the rest and I get this =S

我无法像它所说的那样取出 Class、Object、Map 等的所有实例。我之前在同一个 Web 服务中使用过这些并且没有问题。我添加了一种与其他方法类似的方法,我得到了这个 =S

Can anyone help?

任何人都可以帮忙吗?

The service class "aaa.bbb.Indy.WebService.Functions" does not comply to one or more requirements of the JAX-RPC 1.1 specification, and may not deploy or function correctly.
  The field or property "headers" on the value type "org.apache.axis.AxisFault" used via the service class "aaa.bbb.Indy.WebService.Functions" has a data type, "java.util.ArrayList", that is not supported by the JAX-RPC 1.1 specification. Instances of the type may not serialize or deserialize correctly. Loss of data or complete failure of the Web service may result.
  The field or property "cause" on the value type "java.rmi.RemoteException" used via the service class "aaa.bbb.Indy.WebService.Functions" has a data type, "java.lang.Throwable", that is not supported by the JAX-RPC 1.1 specification. Instances of the type may not serialize or deserialize correctly. Loss of data or complete failure of the Web service may result.
  The field or property "noClasses" on the value type "org.apache.axis.description.TypeDesc" used via the service class "aaa.bbb.Indy.WebService.Functions" has a data type, "java.lang.Class", that is not supported by the JAX-RPC 1.1 specification. Instances of the type may not serialize or deserialize correctly. Loss of data or complete failure of the Web service may result.
  The field or property "noObjects" on the value type "org.apache.axis.description.TypeDesc" used via the service class "aaa.bbb.Indy.WebService.Functions" has a data type, "java.lang.Object", that is not supported by the JAX-RPC 1.1 specification. Instances of the type may not serialize or deserialize correctly. Loss of data or complete failure of the Web service may result.
  The field or property "propertyDescriptorMap" on the value type "org.apache.axis.description.TypeDesc" used via the service class "aaa.bbb.Indy.WebService.Functions" has a data type, "java.util.Map", that is not supported by the JAX-RPC 1.1 specification. Instances of the type may not serialize or deserialize correctly. Loss of data or complete failure of the Web service may result.
  The field or property "type" on the value type "org.apache.axis.utils.BeanPropertyDescriptor" used via the service class "aaa.bbb.Indy.WebService.Functions" has a data type, "java.lang.Class", that is not supported by the JAX-RPC 1.1 specification. Instances of the type may not serialize or deserialize correctly. Loss of data or complete failure of the Web service may result.
  The field or property "actualType" on the value type "org.apache.axis.utils.BeanPropertyDescriptor" used via the service class "aaa.bbb.Indy.WebService.Functions" has a data type, "java.lang.Class", that is not supported by the JAX-RPC 1.1 specification. Instances of the type may not serialize or deserialize correctly. Loss of data or complete failure of the Web service may result.
  The field or property "javaType" on the value type "org.apache.axis.description.FieldDesc" used via the service class "aaa.bbb.Indy.WebService.Functions" has a data type, "java.lang.Class", that is not supported by the JAX-RPC 1.1 specification. Instances of the type may not serialize or deserialize correctly. Loss of data or complete failure of the Web service may result.
  The field or property "headers" on the value type "org.apache.axis.AxisFault" used via the service class "aaa.bbb.Indy.WebService.Functions" has a data type, "java.util.ArrayList", that is not supported by the JAX-RPC 1.1 specification. Instances of the type may not serialize or deserialize correctly. Loss of data or complete failure of the Web service may result.
  The field or property "cause" on the value type "java.rmi.RemoteException" used via the service class "aaa.bbb.Indy.WebService.Functions" has a data type, "java.lang.Throwable", that is not supported by the JAX-RPC 1.1 specification. Instances of the type may not serialize or deserialize correctly. Loss of data or complete failure of the Web service may result.
  The value type "org.w3c.dom.Element" used via the service class "aaa.bbb.Indy.WebService.Functions" does not have a public default constructor. Chapter 5.4 of the JAX-RPC 1.1 specification requires a value type to have a public default constructor, otherwise a JAX-RPC 1.1 compliant Web service engine may be unable to construct an instance of the value type during deserialization.
  The value type "org.w3c.dom.TypeInfo" used via the service class "aaa.bbb.Indy.WebService.Functions" does not have a public default constructor. Chapter 5.4 of the JAX-RPC 1.1 specification requires a value type to have a public default constructor, otherwise a JAX-RPC 1.1 compliant Web service engine may be unable to construct an instance of the value type during deserialization.
  The value type "org.apache.axis.description.TypeDesc" used via the service class "aaa.bbb.Indy.WebService.Functions" does not have a public default constructor. Chapter 5.4 of the JAX-RPC 1.1 specification requires a value type to have a public default constructor, otherwise a JAX-RPC 1.1 compliant Web service engine may be unable to construct an instance of the value type during deserialization.
  The value type "org.apache.axis.utils.BeanPropertyDescriptor" used via the service class "aaa.bbb.Indy.WebService.Functions" does not have a public default constructor. Chapter 5.4 of the JAX-RPC 1.1 specification requires a value type to have a public default constructor, otherwise a JAX-RPC 1.1 compliant Web service engine may be unable to construct an instance of the value type during deserialization.
  The value type "org.apache.axis.description.FieldDesc" used via the service class "aaa.bbb.Indy.WebService.Functions" does not have a public default constructor. Chapter 5.4 of the JAX-RPC 1.1 specification requires a value type to have a public default constructor, otherwise a JAX-RPC 1.1 compliant Web service engine may be unable to construct an instance of the value type during deserialization.
  The service class "aaa.bbb.Indy.WebService.Functions" does not have a public default constructor. Chapter 10.1 of the JAX-RPC 1.1 specification requires a service class to have a public default constructor, otherwise a JAX-RPC 1.1 compliant Web service engine may be unable to construct an instance of the service class to handle an incoming request message.

Thanks!

谢谢!

采纳答案by JAiro

this could be because you are trying to pass a List as parameter and the JAX-RPC spec does not specify a clear mapping between the java.util.List object and XML.The good news is you have other options. For your example, you could declare the type of 'actors' in the parameter itself. For example, use a String[] or Actors[] (where Actors is a complex type).

这可能是因为您试图将 List 作为参数传递,而 JAX-RPC 规范没有指定 java.util.List 对象和 XML 之间的明确映射。好消息是您还有其他选择。对于您的示例,您可以在参数本身中声明“演员”的类型。例如,使用 String[] 或 Actors[](其中 Actors 是复杂类型)。

回答by Chris Smith

Check that when creating the Web Service that the Web Service runtime Configuration is correct.

在创建 Web Service 时检查 Web Service 运行时配置是否正确。

You might be trying to use Apache Axis rather than Apache CXF 2.x. On the first Web Services dialog click on Web service runtime and select Apache CXF 2.x.

您可能正在尝试使用 Apache Axis 而不是 Apache CXF 2.x。在第一个 Web 服务对话框中,单击 Web 服务运行时并选择 Apache CXF 2.x。