[
https://issues.jboss.org/browse/WFLY-4444?page=com.atlassian.jira.plugin....
]
John Ament commented on WFLY-4444:
----------------------------------
On WildFly 8.2, I don't believe what you're describing works.
So what I did was grab my WSDL and save it into my project. I updated this line:
{code:xml}
<soap:address location="${public.app.url}/MySOAPService"/>
{code}
where {{public.app.url}} is a URL that is defined as a system property (since I can't
hard code the host here)
My webservices block looks like this now:
{code:xml}
<subsystem xmlns="urn:jboss:domain:webservices:1.2">
<modify-wsdl-address>false</modify-wsdl-address>
<endpoint-config name="Standard-Endpoint-Config"/>
<endpoint-config name="Recording-Endpoint-Config">
<pre-handler-chain name="recording-handlers"
protocol-bindings="##SOAP11_HTTP ##SOAP11_HTTP_MTOM ##SOAP12_HTTP
##SOAP12_HTTP_MTOM">
<handler name="RecordingHandler"
class="org.jboss.ws.common.invocation.RecordingServerHandler"/>
</pre-handler-chain>
</endpoint-config>
<client-config name="Standard-Client-Config"/>
</subsystem>
{code}
And the result I get back in the WSDL is
{code:xml}
<soap:address
location="http://jbossws.undefined.host:8082/MySOAPService"/>
{code}
where 8082 is my listen port over HTTP
My service is annotated as such (for completeness)
{code:java}
@Stateless
@LocalBean
@WebService(portName = "MySOAPPort",wsdlLocation =
"META-INF/wsdl/MySOAPService.wsdl")
@Policy(placement = Policy.Placement.BINDING,uri="META-INF/wsdl/Policy.xml")
@InInterceptors(interceptors = { "com.mycompany.some.CustomInterceptor" })
@EndpointConfig(configFile = "WEB-INF/jaxws-endpoint-config.xml", configName =
"Custom WS-Security Endpoint")
{code}
Ability to set WSDL URL
-----------------------
Key: WFLY-4444
URL:
https://issues.jboss.org/browse/WFLY-4444
Project: WildFly
Issue Type: Feature Request
Components: Web Services
Affects Versions: 8.2.0.Final
Reporter: John Ament
Assignee: Alessio Soldano
There's no way to correctly set a WSDL URL. The properties are:
{code}
<modify-wsdl-address>true</modify-wsdl-address>
<wsdl-host>${public.app.host:localhost}</wsdl-host>
<wsdl-port>${public.http.port:80}</wsdl-port>
<wsdl-secure-port>${public.https.port:443}</wsdl-secure-port>
{code}
We need a way to set the WSDL URL, regardless of the protocol used. The issue being that
our app servers run on HTTP, but the incoming request to the first load balancer is over
HTTPS. The result is that the WSDL generated includes
http://public-host:80/ instead of
https://public-host:443/
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)