我正在开发一个将在Web Logic服务器上发布的Web服务,在它之前会有一个Apache服务器,它将参与所有请求并将它们引导到正确的WL实例但使用HTTPS。 这里的问题是我让CXF直接生成WSDL,所以如果你访问
它将显示所有已发布的服务及其相应的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 {
提前致谢!