If I expose a simple stateless session bean as a JAX-WS web service (via @WebService), using an endpoint interface that was originally generated from a WSDL ("WSDL-first") and access the service's WSDL (http://myserver/myservicepath?WSDL) JBoss of course (correctly) re-writes the URLs used for <wsdl:import> and <xsd:import> statements.
Unfortunately, I have to publish the services via an Apache HTTP proxy (via an AJP connector) for various technical reasons. The problem, is that the WSDL / Schema import URIs, which were once simple relative paths, are now absolute, ajp:// URLs (exposed to the client) which will, of course, never work.
How can I control the absolute URL that JBoss 7 (we are on 7.0.2) uses for re-writing these import / include statements? If I access the WSDL through an http:// URL, surely all imports should use this same scheme (ajp:// should never be exposed to the remote client)
My application is a simple, standards-compliant EJB 3.1 module (JAR) with no JBoss-specific customisation (as it should be...).
Hi,It's a pretty default configuration, e.g.<subsystem xmlns="urn:jboss:domain:web:1.0" default-virtual-server="default-host"><connector name="http" protocol="HTTP/1.1" socket-binding="http" scheme="http"/><connector name="https" protocol="HTTP/1.1" socket-binding="https" scheme="https" secure="true"><ssl name="default-ssl" password="******" ca-certificate-file="/Library/Java/Home/lib/security/cacerts"/></connector><connector name="ajp" protocol="AJP/1.3" socket-binding="ajp" scheme="ajp"/><virtual-server name="default-host"><alias name="localhost"/><alias name="mysite.com"/></virtual-server></subsystem>Is there any configuration in the web subsystem that can affect this behaviour I am seeing? Basically, I would need to tell connections via the "AJP" connector to use some sort of forced URL for external representation.