Is there any possibility to define your import location url relative to the original location? If that works out, that might probably solve the problem.
2012/3/7 Xavier López <xavil...@gmail.com>: > Hi. I've deployed a contract-first web service using CXF. > > The server into which it is deployed performs 302 redirections from http to > ssl, so any request to http://server/app/* returns an HTTP 302 error code > and redirects to https://server/app/*. > > In the original WSDL there are references to XSD elements in another > namespace, so the generated WSDL (the one > http://server/app/services/MyService?wsdl provides) contains a > `<wsdl:import>` element. > > If I try to invoke the WS by manually building a SOAP request in a String > and send it over an SSL socket, the WS responds correctly. I've got all > necessary certificates in my keystore. > > However, when I try to build a client using CXF's wsdl2java pointing to ` > https://server/app/services/MyService?wsdl`, I get the following error: > > [Fatal Error] MyService?wsdl=MyServicePortType.wsdl:1:50: White spaces > are required between publicId and systemId. > > WSDLToJava Error: org.apache.cxf.wsdl11.WSDLRuntimeException: > Fail to create wsdl definition from : > https://server/app/services/MyService?wsdl > Caused by : WSDLException (at /wsdl:definitions/wsdl:import): > faultCode=PARSER_ERROR: Problem parsing ' > http://server:80/app/services/MyService?wsdl=MyServicePortType.wsdl'.: > org.xml.sax.SAXParseException: White spaces are required between > publicId and systemId. > > The trace is referring to the `<wsdl:import>` statement. Its `location` > attribute is ` > http://server:80/app/services/MyService?wsdl=MyServicePortType.wsdl`. My > guess is that the error is thrown because of the 302 redirection. > > The original WSDL is URL-agnostic, and the service's URL is defined > relative. It is accessed through the CXF servlet. > > Should I specify somewhere in the service's autogenerated classes or wsdl > that the service is to be deployed on SSL? And how could I do it?