[jboss-jira] [JBoss JIRA] (WFLY-4444) Ability to set WSDL URL
John Ament (JIRA)
issues at jboss.org
Thu Mar 19 06:34:19 EDT 2015
[ https://issues.jboss.org/browse/WFLY-4444?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13051707#comment-13051707 ]
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)
More information about the jboss-jira
mailing list