Skip to content

Upgrading to any version higher than release 0.2.9  #177

Description

@DanielSCBO

Hello ppl after update to new version my swagger dont work:

`

em SwaggerWcf.Support.TypeExtensions.GetServiceInfo(TypeInfo typeInfo) em C:\Users\Daniel\Downloads\swaggerwcf-master\swaggerwcf-master\src\SwaggerWcf\Support\TypeExtensions.cs:line 30 em SwaggerWcf.Support.ServiceBuilder.BuildPaths(Service service, IList1 hiddenTags, List1 visibleTags, IList1 definitionsTypesList) em C:\Users\Daniel\Downloads\swaggerwcf-master\swaggerwcf-master\src\SwaggerWcf\Support\ServiceBuilder.cs:line 121 em SwaggerWcf.Support.ServiceBuilder.BuildServiceCommon(String path, Action4 buildPaths) em C:\Users\Daniel\Downloads\swaggerwcf-master\swaggerwcf-master\src\SwaggerWcf\Support\ServiceBuilder.cs:line 40 em SwaggerWcf.Support.ServiceBuilder.Build(String path) em C:\Users\Daniel\Downloads\swaggerwcf-master\swaggerwcf-master\src\SwaggerWcf\Support\ServiceBuilder.cs:line 18 em SwaggerWcf.SwaggerWcfEndpoint.Init(Func2 buildService) em C:\Users\Daniel\Downloads\swaggerwcf-master\swaggerwcf-master\src\SwaggerWcf\SwaggerWcfEndpoint.cs:line 61 em SwaggerWcf.SwaggerWcfEndpoint..ctor() em C:\Users\Daniel\Downloads\swaggerwcf-master\swaggerwcf-master\src\SwaggerWcf\SwaggerWcfEndpoint.cs:line 23 em CreateSwaggerWcf.SwaggerWcfEndpoint() em System.ServiceModel.Dispatcher.InstanceProvider.GetInstance(InstanceContext instanceContext, Message message) em System.ServiceModel.Dispatcher.InstanceBehavior.GetInstance(InstanceContext instanceContext, Message request) em System.ServiceModel.InstanceContext.GetServiceInstance(Message message) em System.ServiceModel.Dispatcher.InstanceBehavior.EnsureServiceInstance(MessageRpc& rpc) em System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage41(MessageRpc& rpc) em System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc& rpc) em System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc) em System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage3(MessageRpc& rpc) em System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage2(MessageRpc& rpc) em System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc) em System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage1(MessageRpc& rpc) em System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)``

I Fill the info Info attribute when Configure EndPoint:


            var info = new SwaggerWcf.Models.Info
            {
                Version = "1.0.0",
                Title = "WebService",
                Description = "WebService Descr",
                TermsOfService = "s asas",
                Contact = new SwaggerWcf.Models.InfoContact()
                {
                    Name = "Daniel",
                    Email ="geral@daniel.com.pt",
                    Url = "http://google.pt"
                },
                License = new SwaggerWcf.Models.InfoLicense()
                {
                    Name ="-",
                    Url = "http://google.pt"

                }
            };
`     SwaggerWcf.SwaggerWcfEndpoint.Configure(info, null);`

I open project and do a little debug and found on:

SwaggerWcf\Support\TypeExtensions.cs
Function GetServiceInfo line 30

the following line

          var infoAttr = typeInfo.GetCustomAttribute<SwaggerWcfServiceInfoAttribute>() ??
                throw new ArgumentException($"{typeInfo.FullName} does not have {nameof(SwaggerWcfServiceInfoAttribute)}");

Change to

  var infoAttr = typeInfo.GetCustomAttribute<SwaggerWcfServiceInfoAttribute>();
            if (infoAttr == null && SwaggerWcfEndpoint.Info != null)
                return SwaggerWcfEndpoint.Info;
            else if (infoAttr == null && SwaggerWcfEndpoint.Info == null)
                throw new ArgumentException($"{typeInfo.FullName} does not have {nameof(SwaggerWcfServiceInfoAttribute)}");

And not all Works

I do not have a way to set the attribute on the interface because I have 10 different interfaces in webservice
Its possible to pull the fix to main repo?

cumps

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions