我正在尝试编写一个只有一个按摩参数的网络服务,其余的是标题参数。我的网络服务如下所示:
@BindingType(SOAPBinding.SOAP11HTTP_MTOM_BINDING)
@MTOM
@WebService(targetNamespace = WS_NAMESPACE + "/FileSvc")
@Service
public interface FileSvc
{
void uploadFile(@WebParam(name = "dataHandler") @XmlMimeType("application/octet-stream")DataHandler dataHandler,
@WebParam(header = true, name = "fileName") String fileName,
@WebParam(header = true, name = "fileSize") long fileSize);
}
服务工厂定义如下:
<bean id="fileSvcProxyFactory" class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
<property name="serviceClass" value="com....FileSvc"/>
<property name="address" value="http://.../FileSvc"/>
<property name="bus" ref="client_bus"/>
<property name="dataBinding" ref="globalJAXBDataBinding" />
</bean>
当我尝试从 java 客户端测试此服务时,我在尝试加载服务时收到此错误:
原因:org.apache.cxf.service.factory.ServiceConstructionException:消息部分 {http://.../FileSvc}fileName of Message {http://.../FileSvc}uploadFile 无法处理。这可能是由于在没有 JAX-WS 服务工厂 bean 的情况下使用了特定于 JAX-WS 的类型造成的。
谁能向我解释这个 webParam 是如何工作的?
谢谢,