如何在没有javax.xml.ws.RequestWrapper的情况下修复“org.jboss.ws.WSException:不是类上的有效属性”?

时间:2014-01-08 18:16:18

标签: java web-services jboss

我有一个在本地部署的应用程序很好,但是当我把它放在共享的jboss上时抛出org.jboss.ws.WSException: {http://shared.url/uniquePart/}XmlBean is not a valid property on class

(我尝试在任何地方声明命名空间以减少冲突。)

所有内容都说要使用@RequesWrapper来避免这个问题,但我有多个参数作为输入,我不知道如何将@RequesWrapper与多个className一起使用

@Clustered
@Stateless(name = "Publisher", description = "...")
@WebService(name = "Publisher", serviceName = "Publisher", targetNamespace="http://shared.url/uniquePart/")
@WebContext(contextRoot="CantChangeThis")
@RemoteBinding(jndiBinding="Publisher/remote")
public class PublisherBean implements PublisherRemote 
{   

    @WebMethod
    @WebResult(name = "Published")
    @Override
    public boolean sendPublish(
        @WebParam(name = "XmlBean", targetNamespace="http://shared.url/uniquePart/") XmlBean1 xml1, 
        @WebParam(name = "someString") String stringName,
        @WebParam(name = "XmlBean2") XmlBean2 xml2) {
             ....
    }}

这在本地部署很好,但在共享环境中爆炸,说XmlBean不是类mypackage.jaxws.SendPublish

上的有效属性

据我所知,我可以将XmlBean,String和XmlBean2放到另一个类my.MyOtherClass中并使用@RequesWrapper(className='my.MyOtherClass')来解决这个问题,但这是一个普遍存在的问题,但整个部署我希望有一种更好的方法可以做到这一点,这样我就不必去除所有采用多个简单参数的方法。

1 个答案:

答案 0 :(得分:0)

org.jboss.ws.WSException: {http://shared.url/uniquePart/}XmlBean is not a valid property on class错误最终导致类加载冲突与手头的代码和问题完全无关。

通过添加“jboss-classloading.xml”文件并将parent-first设置为'true'来解决此问题