Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ability to generate contracts only & skip the client #3224

Open
brandedoutcast opened this issue Oct 17, 2018 · 11 comments
Open

Ability to generate contracts only & skip the client #3224

brandedoutcast opened this issue Oct 17, 2018 · 11 comments
Labels
feature request Adding new functionality requiring adding an API to the public contract. priority 3 Stack ranked level of priority. P3 tooling An issues related to any tool shipped from this repo.
Projects

Comments

@brandedoutcast
Copy link

When I do dotnet svcutil http://contoso.com/SayHello.svc, the svcutil generates a Reference.cs which contains the extracted Contracts & Models along with a SoapClient

It would be great to have something along the lines of dotnet svcutil http://contoso.com/SayHello.svc --skip-client to generate a Reference.cs without the SoapClient

The idea behind this request is to use a Generic Proxy which can act as a common client for multiple WCF endpoints rather than generating a client for each & every endpoint

@Lxiamail Lxiamail added the tooling An issues related to any tool shipped from this repo. label Oct 17, 2018
@dasetser dasetser added the feature request Adding new functionality requiring adding an API to the public contract. label Nov 2, 2018
@dasetser dasetser self-assigned this Nov 2, 2018
@dasetser
Copy link
Contributor

dasetser commented Nov 2, 2018

Thanks for the suggestion. Do you mean something like the /serviceContract switch from the desktop svcutil.exe? Is your proxy generated in a way that makes removing the client part yourself difficult? Or do you just want this feature to avoid having to do the manual step?

@brandedoutcast
Copy link
Author

Yes 👍 exactly the /serviceContract switch from old svcutil

I want this feature to avoid the manual step because I'm trying to use a generic proxy class as client for all the WCF endpoints in my project & I would like to create a simple script for my team which would internally utilize the svcutil to generate the contracts so they can start using the generic proxy right away but imagine removing the auto generated client proxy for every endpoint each individual brings in 😩

Rather than trying to delete the proxy client from the script I would love this feature to be part of the svcutil itself so I can only generate what I need & avoid undoing something svcutil already did just because I don't need it

I would love to contribute 😍 to this feature but only if someone can point me in the right direction 👉

@Lxiamail Lxiamail added this to the 3.0 milestone Feb 16, 2019
@StephenBonikowsky StephenBonikowsky added Net Core 3.1 LTS Servicing Tasks planned for the WCF NET Core 3.1 Servicing releases. and removed Net Core 3.1 LTS Servicing Tasks planned for the WCF NET Core 3.1 Servicing releases. labels May 23, 2019
@StephenBonikowsky StephenBonikowsky removed this from the 3.0 milestone May 29, 2019
@StephenBonikowsky
Copy link
Member

@rohith this is an interesting feature request.
Due to our backlog we won't be able to get to it in the 3.0 time frame.
@dasetser if you can point @rohith in the right direction this would be a nice way to involve the community.

@StephenBonikowsky
Copy link
Member

@rohith I discussed this with @dasetser and we want to keep this on our list of things to do, we wouldn't do the work on the desktop svcutil.exe, there has been some work done on making a WCF Core version of the tool but it isn't yet ready.

Thanks for bringing it to our attention.

@StephenBonikowsky StephenBonikowsky added this to the Future milestone May 30, 2019
@StephenBonikowsky StephenBonikowsky removed this from To do in WCF Core 3.0 May 30, 2019
@StephenBonikowsky StephenBonikowsky added the Backlog Legitimate tasks of lower priority not in current dev schedule. label May 30, 2019
@dasetser
Copy link
Contributor

@rohith I had a miscommunication with Stephen about this and wanted to make sure we were clear. The desktop version of svcutil.exe already has this feature, and this request is to add the same feature to the WCF core version of the tool (dotnet-svcutil.exe). We will not be able to get to this in the 3.0 timeframe, so we moved this to our backlog to investigate in the future.

Unfortunately you can't contribute to this feature yourself because dotnet-svcutil.exe is not currently open source.

@brandedoutcast
Copy link
Author

I appreciate the info & I'm just glad to know this will be worked on. Thanks @dasetser @StephenBonikowsky

@dasetser
Copy link
Contributor

dasetser commented Jun 4, 2019

@rohith For now can you try using the normal svcutil.exe to generate this? The difference between svcutil and dotnet-svcutil is that dotnet-svcutil filters out parts of the code that are not compatible with .NET Core. However, if you only want the service contract piece that's just an interface that should be the same for both frameworks. So the contract svcutil.exe generates should work for .NET Core as well.

@brandedoutcast
Copy link
Author

@dasetser yup that's what I did, I only used the contracts

@StephenBonikowsky
Copy link
Member

FYI moving dotnet-svcutil.exe to open source is also on our radar. #3191

@StephenBonikowsky StephenBonikowsky removed the Backlog Legitimate tasks of lower priority not in current dev schedule. label Feb 12, 2020
@StephenBonikowsky StephenBonikowsky removed this from the Future milestone Mar 5, 2020
@dasetser dasetser added the priority 3 Stack ranked level of priority. P3 label Mar 6, 2020
@maxild
Copy link

maxild commented Dec 2, 2020

P3 (priority 3) does that mean the --serviceContract feature will not be ported from the desktop svcutil tool in near future?

@HongGit HongGit added this to Needs triage in Tooling via automation Jul 28, 2021
@HongGit HongGit moved this from Needs triage to 2.0.4 in Tooling Jul 28, 2021
@HongGit
Copy link
Contributor

HongGit commented Jul 28, 2021

@brandedoutcast for your information, dotnet-svcutil tool is now open source in this repo, under src\dotnet-svcutil. Feel free to submit a PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request Adding new functionality requiring adding an API to the public contract. priority 3 Stack ranked level of priority. P3 tooling An issues related to any tool shipped from this repo.
Projects
Tooling
2.1.1
Development

No branches or pull requests

6 participants