apache / apache/dubbo-spi-extensions
使用webservice协议进行多个服务注册时获取wsdl有问题
- Dominant language
- Java
- Stars
- 206
- Forks
- 121
- PR merge metrics
- No merged PRs in 30d
Description
- [x] I have searched the [issues](https://github.com/apache/dubbo/issues) of this repository and believe that this is not a duplicate.
- [x] I have checked the [FAQ](https://github.com/apache/dubbo/blob/master/FAQ.md) of this repository and believe that this is not a duplicate.
### Environment
* Dubbo version: 2.7.7
* Operating System version: macOS
* Java version: 1.8.0_241
### Steps to reproduce this issue
1. 使用webservice协议发布服务,cxf版本为3.1.15,启动时,WebServiceProtocol中,每一个服务创建一个server,但是Handle方法中默认获取的是最后一个server,导致访问wsdl时,只有最后一个注册的服务可以访问,其他服务无法访问到。
2.如果将serverFactoryBean或者server换成list,正常。
Pls. provide [GitHub address] to reproduce this issue.
https://github.com/apache/dubbo/blob/master/dubbo-rpc/dubbo-rpc-webservice/src/main/java/org/apache/dubbo/rpc/protocol/webservice/WebServiceProtocol.java
### Expected Result
What do you expected from the above steps?
### Actual Result
What actually happens?
If there is an exception, please attach the exception trace:
```
Just put your stack trace here!
```
Contributor guide
Research direction
Start with dubbo-rpc/dubbo-rpc-webservice/src/main/java/org/apache/dubbo/rpc/protocol/webservice/WebServiceProtocol.java and trace how each registered service creates a server and how handle retrieves one. Reproduce the issue with multiple WebService services on Dubbo 2.7.7 and CXF 3.1.15. Done means the WSDL for every registered service is accessible, not only the last one.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- api
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100