我得到了一个SOAP Web服务,其代码第一种方法是在Websphere 6.1中使用内置的JAX-WS实现运行。
该服务已从Websphere版本6.1迁移到版本8.5。
以前(版本6.1),WSDL直接在URL上可用 [...] /服务/ SomeService?WSDL
自迁移到V8.5以来,WSDL仍可通过上述URL获得,但正在进行重定向 [...] /服务/ Services_002f_SomeService.wsdl
客户端需要在每次向Web服务发出请求之前访问WSDL,并且没有使用重定向(即使用[...]?wsdl-URL),因此他需要重定向的URL 。 (不幸的是,这是我无关紧要的事情......) 问题是重定向的URL中的'002f'部分是动态的,可能会被Websphere更改。 (它已经在我们的测试环境中。)
是否有人知道阻止Websphere进行上述重定向的选项?
答案 0 :(得分:0)
我终于找到了奇怪的' 002f'重定向网址中的字符。 这是由于给定的serviceName services / SomeService
@WebService (targetNamespace="http://example.net/", serviceName="services/SomeService")
\ u002f是' /' UTF8中的字符
所以重定向会转到 [...] / services / SomeService / Services_002fSomeService.wsdl ,这是合理的。
我收到的可能更改的重定向网址到... 003f ...,... 004f ......等的信息显然是错误的。
虽然不重定向不会造成任何麻烦,但我不知道为什么WAS 8.5中新的JAX-WS实现真的必须这样做,我'只是给予(据我所知)静态' 002f'客户端的WSDL URL。