CXF WebService& HTTPS

时间:2013-05-08 20:46:46

标签: java web-services cxf

我正在开发一个将在Web Logic服务器上发布的Web服务,在它之前会有一个Apache服务器,它将参与所有请求并将它们引导到正确的WL实例但使用HTTPS。 这里的问题是我让CXF直接生成WSDL,所以如果你访问

https://myapp.com/myapp/ws/

它将显示所有已发布的服务及其相应的WSDL。问题是这似乎没有考虑https前缀,而是显示对应于http的URL,这是不允许的,没有响应。 如果您复制并粘贴任何这些URL并在URL中向HTTP添加“s”,则内容看起来很好,但在导入中使用“位置URL”的WSDL内部会出现同样的问题:

<wsdl:import location="http://myapp.com:80/myapp/ws/AdminService?wsdl=AdminService.wsdl" namespace="http://myapp.com/"></wsdl:import>

因此,尝试使用该WSDL的任何应用程序或用户都会收到错误,因为客户端无法获取导入文件。

我的问题是,有什么方法可以指明这个吗?我做错了吗?

这是界面:

@WebService
@SOAPBinding(style = SOAPBinding.Style.DOCUMENT, use = SOAPBinding.Use.LITERAL, parameterStyle = ParameterStyle.WRAPPED)
public interface AdminService {

@WebResult(name = "message")
public String createUser(
        @WebParam(name = "adminUser") AdminUser adminUser,
        @WebParam(name = "queryUser") QueryUser queryUser)
        throws AdminServiceException;
}

实际班级:

public class AdminServiceImpl implements AdminService,
        InitializingBean {

提前致谢!

0 个答案:

没有答案