apache / apache/dubbo-spi-extensions

使用webservice协议进行多个服务注册时获取wsdl有问题

Open
#83 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.