2012-10-30 19 views
0

我使用wsgen生成Java SOAP存根。Java JAX-WS,wsgen,Class as Parameter?

使用Java基本类型或集合也没有问题。

但是,如果我尝试使用自定义类作为参数,我从wsgen得到一个错误。我之前做的java文件是没有错误的。

这里我Interface.java为例:

@WebService (targetNamespace = "TNS") 
public class Interface 
{ 
    public int foo (F f) 
    { 
    return 1; 
    } 
} 

class F 
{ 
} 

该错误WSGEN是 “找不到符号:F级”。 我也试过包,F在自己的文件等。

wsgen的调用是:wsgen -cp。 -wsdl接口

任何想法?? 谢谢!

+2

我猜想'F'不公开是一个问题 - 这个类型在包之外是不可见的。 – McDowell

+0

在尝试使用wsdl自上而下完成之后,我发现wsimport-java-generator会在其中添加一个附注。 @SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) – chris01

回答

1

附加annotatoin解决了这个问题:

@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE) 

发现通过查看代码产生的其它方式 - 通过的wsimport(WSDL> java的)。