[
https://issues.apache.org/jira/browse/CXF-1497?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12584372#action_12584372
]
Glen Mazza commented on CXF-1497:
---------------------------------
OK, Brent, I tried to duplicate your issue with my ReallySlowAdder web service
sample[1]. Good news-- I *wasn't* able to duplicate your problem with either
CXF or Metro. In the pre-WAR wsdl directory I placed both a dummy soap:address
of "sdkljfh" and another of an empty string, and in both cases, calling the
WSDL URL (http://localhost:8080/ReallySlowAdder/services/ReallySlowAdder?wsdl)
from the browser gave the correct soap:address.
Please note, if you are trying to view the WSDL by using a file system viewer
from within Tomcat (such as from Windows explorer), you will *not* see the
translation. The WSDL file does *not* change when viewed from the file
system--it is only when you access it from the browser using an http:// request
will you see the address updated.
As for your Echo sample, I was able to duplicate your problem but noticed some
issues, any of which might be the problem:
1.) Following my note #4 here[2], you are not providing a "C" in your
web.xml--you tie it just to * while I am using "/services/*" (see Step #7 of
[2]). The CXF link given at the bottom of note #4 seems to indicate a "C" is
needed.
2.) You are not using a cxf-servlet.xml file (see Step #8 of [2],
"cxf-servlet.xml")--that is used for "D", however your alternative
instantiation method of relying on
org.springframework.web.context.ContextLoaderListener in your web.xml should be
OK anyway, but you are *not* defining an apparently necessary url-pattern in
your application context (see Step #8 of [2], "sun-jaxws.xml", and the cxf link
given at the bottom of note #4 at [1])
3.) The way you are declaring your wsdl in your servicecontext.xml seems
suspect--this is what I see:
<jaxws:endpoint id="EchoService" implementor="#EchoServiceImpl"
address="/EchoService" wsdlLocation="../wsdl/EchoService.wsdl">
</jaxws:endpoint>
I'm unsure, but wsdlLocation may mean "hardcoded WSDL, don't change the
soap:address", but anyway Step #8 of [2], "sun-jaxws.xml", and the cxf link
given at the bottom of note #4 at [1] seems to indicate
-->wsdl="WEB-INF/<--...." should be used instead. I changed this, and it still
wouldn't work. I think the biggest problem may be that you're missing the
url-pattern in your jaxws:endpoint, but am unsure.
Long story short: Give yourself a "C" value for (1), provide a url-pattern for
(2), and (3) switch to wsdl="WEB-INF..." instead of wsdlLocation="../wsdl..."
If that still doesn't work revert to a cxf-servlet.xml file as in my
example([1] or [2]) and remove ContextLoaderListener from your web.xml. If the
last part works, then we have a CXF bug, because configuration via
ContextLoaderListener in addition to cxf-servlet.xml does need to work.
HTH,
Glen
[1] http://www.jroller.com/gmazza/date/20080308
[2] http://www.jroller.com/gmazza/date/20071019#notes
> Supplied WSDL soap:address not being updated with actual host name when
> queried.
> --------------------------------------------------------------------------------
>
> Key: CXF-1497
> URL: https://issues.apache.org/jira/browse/CXF-1497
> Project: CXF
> Issue Type: Test
> Reporter: Brent Moore
> Attachments: echo-ws.war.zip
>
>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.