【发布时间】:2014-12-30 13:48:17
【问题描述】:
在我的应用程序中,我试图公开一项肥皂网络服务并进行基本操作。这就是我所做的:
- 根据 JAX-WS 标准创建了带有肥皂操作的接口。添加了所有需要的注释
- 在WEB.xml中添加了
<servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/webservices/*</url-pattern>
</servlet-mapping>
-
创建了一条路线
from uri="cxf:/myservice?serviceClass="x.x.x.myInterface&dataFormat=PAYLOAD"
我可以在浏览器 (localhost:8080/pro/webservices/myservice?wsdl) 中查看 WSDL 详细信息,但是如果我使用 SOAP UI 项目访问该服务,我的请求将无法通过。我在 SOAP UI 项目中遇到以下错误:
<soap:Body>
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>org/apache/cxf/frontend/MethodDispatcher</faultstring>
</soap:Fault>
如果我使用dataFormat=MESSAGE,我的服务将由 SOAPUI 调用并获得响应。但是我的 WSDL 没有进入浏览器。请告诉我必须在 cxf 组件中使用哪种数据格式。
【问题讨论】: