Giter Site home page Giter Site logo

5gc_apis's People

Contributors

eujun avatar freahs avatar jdegre avatar p1-ra avatar shenjian74 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

5gc_apis's Issues

5GC_APIs/master/TS29505_Subscription_Data.yaml - DELETE /subscription-data/subs-to-notify

Hello,

missing specification for ProblemDetails (see "default" node) in DELETE /subscription-data/subs-to-notify

responses:
        '204':
          description: Expected response to a successful subscription removal
  default: <------ NOT SPECIFIED 
          description: Unexpected error
          content:
            application/problem+json:
              schema:
                $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails'

Best Regards,
Kresimir

newb here, need help.

I cloned this repo and installed openai generator, ran agains the NRF like this

root@Focal:/tmp/test# openapi-generator-cli generate -i TS29510_Nnrf_NFManagement.yaml -g python-flask -o /tmp/test/

when I run the server using pip3 -m openapi_server I get the below msg,

File "/usr/local/lib/python3.8/dist-packages/connexion/apis/abstract.py", line 119, in init
self.add_paths()
File "/usr/local/lib/python3.8/dist-packages/connexion/apis/abstract.py", line 229, in add_paths
self._handle_add_operation_error(path, method, err.exc_info)
File "/usr/local/lib/python3.8/dist-packages/connexion/apis/abstract.py", line 244, in _handle_add_operation_error
raise value.with_traceback(traceback)
File "/usr/local/lib/python3.8/dist-packages/connexion/resolver.py", line 68, in resolve_function_from_operation_id
return self.function_resolver(operation_id)
File "/usr/local/lib/python3.8/dist-packages/connexion/utils.py", line 128, in get_function_from_name
raise last_import_error
File "/usr/local/lib/python3.8/dist-packages/connexion/utils.py", line 116, in get_function_from_name
module = importlib.import_module(module_name)
File "/usr/lib/python3.8/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1014, in _gcd_import
File "", line 991, in _find_and_load
File "", line 973, in find_and_load_unlocked
ModuleNotFoundError: No module named 'openapi_server.controllers.nf_instances
(store)controller'

Will be great if someone can help me with this since I'm new to openapi

"event" example is missing in Nwdaf_EventsSubscription POST subscription method

As per the schema, event of type string representing object NwdafEvent should be supplied. However the example in swagger doesn't contain event attribute.

Following is the copy/paste from example in swagger.

{
	"eventSubscriptions": [{
		"anySlice": true,
		"applicationIds": [
			"string"
		],
		"dnns": [
			"string"
		],
		"dnais": [
			"string"
		],
		"loadLevelThreshold": 0,
		"networkArea": {
			"ecgis": [{
				"plmnId": {
					"mcc": "string",
					"mnc": "string"
				},
				"eutraCellId": "string",
				"nid": "string"
			}],
			"ncgis": [{
				"plmnId": {
					"mcc": "string",
					"mnc": "string"
				},
				"nrCellId": "string",
				"nid": "string"
			}],
			"gRanNodeIds": [
				null,
				null,
				null,
				null
			],
			"tais": [{
				"plmnId": {
					"mcc": "string",
					"mnc": "string"
				},
				"tac": "string",
				"nid": "string"
			}]
		},
		"qosRequ": {
			"5qi": 0,
			"pdb": 0,
			"per": "string"
		},
		"qosFlowRetainThresholds": [
			0
		],
		"ranUeThroughputThresholds": [
			0
		],
		"repetitionPeriod": 0,
		"snssaia": [{
			"sst": 0,
			"sd": "string"
		}],
		"maxAnaEntry": 0,
		"tgtUe": {
			"anyUe": true,
			"supi": "string",
			"intGroupId": "string"
		},
		"congThresholds": [
			0
		]
	}],
	"evtReq": {
		"startTs": "2020-02-12T20:42:49.980Z",
		"endTs": "2020-02-12T20:42:49.980Z"
	},
	"notificationURI": "string",
	"supportedFeatures": "string"
}

TS29520_Nnwdaf_AnalyticsInfo.yaml uses complex types in query parameters with GET

I'm a little bit confused about the approach to have a GET request with query parameters as complex types.

Usually, resource and sub-resource identifiers are passed as path params and query are used for filtering, sorting, etc. Most endpoints under this API are actually "searches", with complex types. The recommendation here is to use POST and the query is passed in the body and it can be as complex as it needs to be.

Most clients would have "problems" (there is no default support for complex types in query parameters) and they would have to either generate JSON before setting the parameter or hopefully the client library has support to handle this. For example, Jersey has no default support, but you can plug in an extension point to convert complex types to JSON.

Even if encoding the request is not a problem, you can hit the GET URI limit since the URI will be huge with all those JSON objects...not to mention the horror in the web container logs ;)

TS29510_Nnrf_NFManagement.yaml SubscriptionData/subscrCond (oneof classes) need to be more strict

Not sure if this thread is suitable for this type of issues. Correct me if I wrong.

Problem:
SubscriptionData

{
  "nfStatusNotificationUri": "robot:8081",
  "subscriptionId": "123456",
  "subscrCond": {
    "nfType": "UDR"
  },
  "reqNotifEvents": [
    "NF_REGISTERED",
    "NF_DEREGISTERED",
    "NF_PROFILE_CHANGED"
  ]
}

generates errors in python validator:

Failed validating 'oneOf' in schema['properties', 'SubscriptionData', 'properties', 'subscrCond']:
   -> {'nfType': 'UDR'} is valid under each of {'$ref': '#/properties/ScpDomainCond'}, {'$ref': '#/properties/NfTypeCond'}
On instancedeque(['SubscriptionData', 'subscrCond']):
   {'nfType': 'UDR'}

Solution:
more strict rules for oneof types solves the problem:

ScpDomainCond:
  description: Subscription to a set of NF or SCP or SEPP instances belonging to certain SCP domains
  type: object
  required:         # fix
    - scpDomains
  properties:
    scpDomains:
      type: array
      items:
        type: string
      minItems: 1

Question/Discussion: Mapping between refrence points and OpenAPI specs and/or paths

For authentication between network functions the 3GPP standard suggests - apart from OAuth2 - that a form of "static authorization" would be a feasible approach, without stating what is meant by that.

An approach that I am looking into is to allow access to certain API functions only from the sources that are supposed to access that function by configuring kubernetes ingress policies. Ingress policies cannot match on the vague idea of "API functions", but they can match on URL paths, so the difficulty arises when one tries to map the consumer network functions (or reference points) to paths. The approach I am trying is to use the OpenAPI specs to identify those paths.

E.g. these are some reference points where AMF is a producer:

  • N1: Reference point between the UE and the AMF.
  • N2: Reference point between the (R)AN and the AMF.
  • N8: Reference point between the UDM and the AMF.
  • N14: Reference point between two AMFs.
  • N15: Reference point between the PCF and the AMF

Now how do I map those reference points to the respective OpenAPI spec of the producer NF? Can such a mapping even exist? From there I could then probably identify ingress rules based on paths.

I understand there are overlaps in the paths defined in the different OpenAPI spec files, but it's the best approach I could come up with. Maybe a direct mapping between reference point and path is more useful, but that would require even more detailed 5G knowledge, which I clearly lack.

Use of empty scopes in OAuth2 security

Hi @jdegre,

A quick question about the use of empty OAuth scopes in TS29122_AsSessionWithQoS.yaml,
TS29122_ChargeableParty.yaml and some others:

Does the absence of scopes mean that authorization MUST NOT be dependent on scope?

Or does it mean that the API implementation can define its own scopes within the OAuth security scheme, and specify its own scope requirements on the API operations that use that scheme?

I'm asking because I've opened a pull request in the OpenAPI Specification to explicitly allow empty scopes in Security Scheme Object and OAuth Flow Object, and to clarify the meaning in cases where scopes are specified as empty.

Background

In working with the 5GC OpenAPI documents, our editor flags an error on the empty array specified as the scopes value in the Security Requirement Object:

security:
  - {}
  - oAuth2ClientCredentials: []

The array normally holds a list of scopes defined in the OAuth Security Scheme, but the oAuth2ClientCredentials scheme has an empty object as the scopes value:

  securitySchemes:
    oAuth2ClientCredentials:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: '{tokenUrl}'
          scopes: {}

By my count, there are 15 APIs that are defined this way. For reference, here are a few of them:

  • TS29122_AsSessionWithQoS.yaml
  • TS29122_ChargeableParty.yaml
  • TS29122_CpProvisioning.yaml
  • TS29122_DeviceTriggering.yaml

The OpenAPI 3.0.2 specification says that scopes is required in an OAuth Flow Object within an oauth2-typed Security Scheme Object. It doesn't explicitly say that the object value must define at least one scope, and therefore must not be empty. But we interpreted the fact that it's required to mean that it's required to be non-empty.

In fact, KaiZen Editor tolerates the empty scopes object, but it flags an error on the corresponding empty scopes array in the Security Requirement Object.

It turns out that an empty scopes object is allowed in the Security Scheme Object, and a corresponding empty array is allowed in the Security Requirement Object. This is described in a closed issue #513 on the OAS spec project. I think the spec could be explicit about this, so I have submitted pull request #1888 to address this.

And we will fix this issue in KaiZen OpenAPI Editor so we can work with the 5GC documents.

json: cannot unmarshal bool into Go value of type string

So this might be a problem apisprout (danielgtaylor/apisprout#81), but it could be in the Specs - the error is quite long. Perhaps someone has some insight.

Reproducer:

git clone https://github.com/jdegre/5GC_APIs
# commit da92f21c0e6b2b112f79670eb61cf9f7617bba22 as of right now
cd 5GC_APIs
apisprout TS32291_Nchf_ConvergedCharging.yaml

gives the attached long error, ending with:

Error while unmarshalling property 'required' (*[]string): json: cannot unmarshal bool into Go value of type string

apisprout.log

Nnef_AFsessionWithQoS service Specification missing

As title says there is somewhat of a "specification" for the service created in document 123.502 but nothing looks final and doesn't specify things enough, theres no mention of it on other documents related to NEF and/or related to Policy Authorizations from the PCF where it should be relevant.

Nnef_Trigger_Delivery request

Hi!
According to 3GPP TS 23.502 V18.0.0 (2022-12) there should be a Nnef_Trigger_Delivery request but I can't find the YAML specification for it. Just TS29122_DeviceTriggering.yaml and TS29522_NIDDConfigurationTrigger.yaml which does not relate with the 3GPP documentation.
What I'm a missing?
Regards,
Armindo

SHA256

rK0WYK9D966ebjsDqvsOdfHEdD0tTYpn4KHWUcULFmY

ConfirmationDataResponse may be defined incompletely

Currently, ConfirmationDataResponse is defined as:

ConfirmationDataResponse:
  type: object
    properties:
      authResult:
        $ref: '#/components/schemas/AuthResult'
      supi:
        $ref: 'CommonData.yaml#/components/schemas/Supi'
      required:
        - authResult

However, in TS 33.501 [1], for 5G AKA procedure (step 12), it is mentioned that

If the authentication was successful, the KSEAF shall be sent to the SEAF in the Nausf_UEAuthentication_Authenticate Response

This response body contains a ConfirmationDataResponse object, but there's no kSeaf field.
I think kSeaf should also be added as an optional property in the definition:

ConfirmationDataResponse:
  type: object
    properties:
      authResult:
        $ref: '#/components/schemas/AuthResult'
      supi:
        $ref: 'CommonData.yaml#/components/schemas/Supi'
      kSeaf:
        $ref: '#/components/schemas/Kseaf'
      required:
        - authResult

Cannot create spring project out of it

I am having trouble converting these YAML files into spring project. Every time I face different issues like some models isn't converted or even if it does when I run the project some attributes are missing from the API. I tried open API tools, swagger, etc. Nothing seems to work out. Can you tell me which version or which tool should I use to convert it to a spring project?

YAML Files

How are these yaml files collected? Are they by scraping the 3gpp website? Looking into getting the latest spec files and curious how you're doing it!

Possible circular dependency on TS29571_CommonData.yaml (go 1.18)

Hello
I am using Rel-17 Dec'21 version from Jan 3

I may be wrong, but it looks like TS29571CommonData and TS29510_Nnrf_AccessToken depend on each other, so there seem not be a way to generate them (at least for for GO).

In previous versions TS29571CommonData did not depend of any other spec and it could be built independently. But that doesnt work anymore. Am I missing anything

Just in case, this is the command I am using is

//go:generate oapi-codegen -generate types,skip-prune -o specs/TS29571CommonData/TS29571CommonData.gen.go --import-mapping TS29510_Nnrf_AccessToken.yaml:magma/feg/gateway/sbi/specs/TS29510_Nnrf_AccessToken defs/TS29571_CommonData.yaml

go version go1.18 linux/amd64

Link between OpenAPI operation identifiers and 3GPP services

First, thanks for providing this up-to-date repository !

I am trying to match the defined operations from the OpenAPI definitions to the 3GPP functional services definitions. In some yaml file, the keyword operationId seems well used, as in TS29518_Namf_Communication.yaml.
However, in some other yaml files, this looks completely messed up, as in TS29508_Nsmf_EventExposure.yaml, where 4 operations have the following ids: CreateIndividualSubcription, DeleteIndividualSubcription, GetIndividualSubcription and ReplaceIndividualSubcription ; but the TS 23.502 and TS 29.508 define the 4 following service operations: Subscribe, Unsubscribe, Notify and AppRelocationInfo, where the 2 last correspond in the yaml file to callbacks without operationId actually set...

Do you know if there is an intention to have this made more reliable during the next 3GPP meetings, or if this operationId keyword is just cosmetic and will never match perfectly the 3GPP service definitions ?

Objects in query strings

In TS29503_Nudm_SDM.yaml, line 55, PlmnId is an object, not a string. Should all query parameters be strings? A PlmnIdStr type that concatenates MCC and MNC would be simple and would not require a standard serialization method to generate the query string. The use of an Object in a query string breaks tools like Swagger viewer.

Maybe line 55 should change from:

$ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId'

to:

$ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnIdStr'

where PlmnIdStr is a new string type, the concatenation of MCC + MNC?

Then the query parameter is plmn-id=mccmnc

Otherwise, there has to be some standard way to serialize Objects into query string elements, e.g.,

{plmn-id: [{mcc: 'xxx'}, {mnc: 'yyy'}]

Invalid $ref in TS29503_Nudm_UECM.yaml

opening TS29503_Nudm_UECM.yaml in the editor results in the following error

Semantic error at components.schemas.EpsInterworkingInfo.properties.epsIwkPgws.additionalProperties.$ref
$ref paths must begin with #/
Jump to line 1111

There seems to be a missing '/' in the the reference in EpsInterworkingInfo

#components/schemas/EpsIwkPgw

should be

#/components/schemas/EpsIwkPgw

5GC_APIs/master/TS29505_Subscription_Data.yaml - wrong spelling

Hello,

please correct small spelling error in TS29505_Subscription_Data.yaml.
Subs To Nofify (Collection) --> Subs To Notify (Collection)

location of spelling error:

get:
  summary: Retrieves the list of subscriptions
  operationId: **QuerySubsToNotify**
  tags:
    - Subs To Nofify (Collection)  <----------------- **to be fixed**

/subscription-data/subs-to-notify:
post:
summary: Subscription data subscriptions
operationId: SubscriptionDataSubscriptions
tags:
- Subs To Nofify (Collection) <----------------- to be fixed

How to generate code?

Hi @jdegre,
I'm trying to generate a code from yaml by openapi-generator.
But the code doesn't work as below.

  • python-flask
  • nodejs

What tool should I use for generating?

Mismatched case in reference to oAuth2ClientCredentials security scheme

FYI, a number of the OpenAPI Documents contain a top-level Security Requirements Object like this one:

security:
  - {}
  - oAuth2Clientcredentials:
    - nnssf-nssaiavailability

The defined name of the referenced security scheme is oAuth2ClientCredentials with an upper-case 'C' in 'Credentials.' KaiZen OpenAPI Editor flagged this as an error.

TS29531_Nnssf_NSSAIAvailability.yaml is one of several documents that has this error.

Missing specifications

Hi,
I've noticed some NEF API specs are missing (Nnef_AFsessionWithQoS). there might be other missing as they were added recently so you may want to check that.

Thanks for putting this project online.

Property name containing <space> character in TS32291_Nchf_ConvergedCharging.yaml Rel-18

The type object ServerCapabilities/optionalCapability is declared with a and it's leading to attribute's name with space:

FILE: TS32291_Nchf_ConvergedCharging.yaml

ServerCapabilities:
  type: object
  properties:
    mandatoryCapability:
      type: array
      items:
        $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32'
      minItems: 0
    optionalCapability : -> space between property name and ":".
      type: array
      items:
        $ref: 'TS29571_CommonData.yaml#/components/schemas/Uint32'

Generated code:

private List optionalCapabilityNBSP;

Error: illegal character: '\u00a0'

Nudr - 3GPP TS 29.504 version 16.4.0 - oAuth2ClientCredentials component not defined - yaml is broken (validation errors)

Hello,

  • based on document "3GPP TS 29.504 version 16.4.0 Release 16 (2020-07)" , chapter 6.1.7., Table 6.1.7-1: Oauth2 scopes defined in Nudr_DataRepository API: 3 scopes defined

  • Should yaml be defined like this:

components:
  securitySchemes:
    oAuth2ClientCredentials:
      type: oauth2
      description: See https://www.oauth.com/oauth2-servers/access-tokens/client-credentials/
      flows: 
        clientCredentials: 
          tokenUrl: https://${nrfApiRoot}/oauth2/token
          scopes:
            nudr-dr: Grant access to the Nudr DataRepository API
            nudr-dr:subscriptiondata:authentication-subscription:read: Access to read the AuthenticationSubscription resource of the SubscriptionData data set. 
            nudr-dr:subscriptiondata:authentication-subscription:modify: Access to update the AuthenticationSubscription resource of the SubscriptionData data set. 
  • sample how to defined security property: only one(1) oAuth2ClientCredentials needed ?
/subscription-data/{ueId}/authentication-data/authentication-subscription:
    get:
      summary: Retrieves the authentication subscription data of a UE
      operationId: QueryAuthSubsData
      tags:
        - Authentication Data (Document)
      security:
        - oAuth2ClientCredentials: []
  • Question to clarify:

3GPP TS 29.504 version 16.4.0 Release 16 defined only 3 scopes, but here we also have: nudr-dr:subscription-data (but it doesn't define access operation: modify, read,..on which subscription to apply those grants)

  /subscription-data/{ueId}/context-data/location:
    get:
      summary: Retrieves the UE's Location Information
      operationId: QueryUeLocation
      tags:
        - UE's Location Information (Document)
      security:
        - {}
        - oAuth2ClientCredentials:
          - nudr-dr
        - oAuth2ClientCredentials:
          - nudr-dr
          - nudr-dr:subscription-data

5GC_APIs/master/TS29505_Subscription_Data.yaml - Event Exposure Group Subscriptions (Document) title is missing

Hello,
Event Exposure Group Subscriptions (Collection) - title tag exists

Event Exposure Group Subscriptions (Document) - title tag doesn't exists
PUT ​/subscription-data​/group-data​/{ueGroupId}​/ee-subscriptions​/{subsId}
DELETE ​/subscription-data​/group-data​/{ueGroupId}​/ee-subscriptions​/{subsId}
PATCH ​/subscription-data​/group-data​/{ueGroupId}​/ee-subscriptions​/{subsId}
GET ​/subscription-data​/group-data​/{ueGroupId}​/ee-subscriptions​/{subsId}

currently those 4 http methods are defined in Event Exposure Subscription (Document) which depends to ueId.
eeGroupSubsDoc

Legacy unit prefixes for bit rate

BitRate:
type: string
pattern: '^\d+(\.\d+)? (bps|Kbps|Mbps|Gbps|Tbps)$'
description: String representing a bit rate that shall be formatted as follows.

The units for bit rate seem to use a legacy notation: bps, Kbps, Mbps, Gbps, Tbps [1].

These should be bps, Kibps, Mibps, Gibps, Tibps (multiplier = 1024) or bps, kbps, Mbps, Gbps, Tbps (multiplier = 1000).

[1] https://en.wikipedia.org/wiki/Binary_prefix

smasf

Hi every one,

I like to enable sms service for my 5g network.

I need to know what are things need to change in SMSF code to communicate my amf .

Changes in the UDR API

Hi,
I don't think this qualifies as an issue, but I was not sure how to contact you regarding the change in certain APIs. For example, the UDR Authentication Data API (in UDR subscription Data APIs ) response data has changed in the last week or so. Looking at the 3GPP releases, there has been no new official release regarding the same(TS29.505 and TS29.504). Is it based on any existing CR which will come along with the next release ? Am I missing anything about the releases?

P.S Sorry for raising an extraneous issue, but I had no other way of messaging you

Syntax error in Rel 15 Schema TS32291_Nchf_ConvergedCharging.yaml

On line 249 within Rel-15 branch TS32291_Nchf_ConvergedCharging.yaml schema there is a required field 'nfConsumerIdentification'. This required field does not have a corresponding property value, after reading the open api json schema docs, found at...https://json-schema.org/draft/2020-12/json-schema-validation.html#rfc.section.6.5.3. It defines the statement below

image

As you can see the required field 'nfConsumerIdentification' is not present within the properties list, which is incorrect. It is also of note that within Rel-16 this value has been updated to 'invocationTimeStamp, which is valid.

https://github.com/jdegre/5GC_APIs/blob/master/TS29505_Subscription_Data.yaml - GET /subscription-data/{ueId}/context-data

Hello,

please check if minItems=1 should be corrected to minItems=2 ? 29.505 / 16.2.0 / 16.3.0 says it needs to.
https://portal.3gpp.org/desktopmodules/Specifications/SpecificationDetails.aspx?specificationId=3406

https://github.com/jdegre/5GC_APIs/blob/master/TS29505_Subscription_Data.yaml#L4079

ContextDatasetNames:
type: array
items:
$ref: '#/components/schemas/ContextDataSetName'
minItems: 1 --> should be minItems=2 ?
uniqueItems: true

3GPP TS 29.505 V16.3.0 (2020-06)
Table 5.2.32.3.1-1: URI query parameters supported by the GET method on this resource

context-dataset-names array(ContextDataSetName) M 2..N If included, this IE shall contain the names of context data sets to be retrieved. If not included, all context data sets shall be returned.

note: This part of sentence in doc 29.505 has no sense: "If not included, all context data sets shall be returned." It is mandatory, so it needs to be always included.

Nnef_TrafficInfluence_Create

Any idea why Nnef_TrafficInfluence_Create (mentioned in 23.502) is not present in NEF northbound API (described in 29.522) ?
Traffic influence API at the moment contains only subscriptions.

TS32291_Nchf_ConvergedCharging.yaml and TS29122_ChargeableParty.yaml fail to pass SOAPUI pro validation

Hello,

I'm not sure if it is an issue on API or SOAPUI but I would like to comment that when I tried to import these yamls with ReadyAPI 2.8.2 fail with this error:

while scanning for the next token found character '\t(TAB)' that cannot start any token. (Do not use \t(TAB) for indentation) in 'string', line 301, column 17: items: ^

After sometime troubleshooting the issue is with the items "array type" as following:
< # flowInfo:
< # type: array
< # items:
< # $ref: 'TS29122_CommonData.yaml#/components/schemas/FlowInfo'
< # minItems: 1
< # description: Describes the application flows.

Please anybody has the same issue? What is the best tool to use swagger 5GC?

Thanks
Best Regards,
Miguel

TS29520_Nnwdaf_EventsSubscription: invalid schemas for DispersionType, DispersionClass

DispersionType's schema is not sound - for enum values specified in the first oneOf item (such as DVDA), both schemas match, but for oneOf to be valid, exactly 1 schema needs to match.

    DispersionType:
      oneOf:
      - type: string
        enum:
          - DVDA
          - TDA
          - DVDA_AND_TDA
      - type: string

This should probably be anyOf instead of oneOf. Analogously for DispersionClass.

The problem is still present in the latest Nwdaf OpenAPI release (17.8).

NullPointerException when generating TS29598_Nudsf_DataRepository as go-gin-server

Hello,

I am trying to generate server boilerplate code of the TS29598_Nudsf_DataRepository.yaml. Unfortunately I get a NullPointerException when doing so.

I want to generate as go-gin-server, but python-flask did produce the same error.
Generating the TS29598_Nudsf_Timer.yaml works, but the DataRepostory doesn't.

Does someone know why this Error happens and is able to fix it?

Command:

openapi-generator-cli generate -g go-server --additional-properties=prependFormOrBodyParameters=true -o out -i TS29598_Nudsf_DataRepository.yaml

Error:

Exception: null
	at org.openapitools.codegen.DefaultGenerator.processOperation(DefaultGenerator.java:1163)
	at org.openapitools.codegen.DefaultGenerator.processPaths(DefaultGenerator.java:1054)
	at org.openapitools.codegen.DefaultGenerator.generateApis(DefaultGenerator.java:549)
	at org.openapitools.codegen.DefaultGenerator.generate(DefaultGenerator.java:891)
	at org.openapitools.codegen.cmd.Generate.execute(Generate.java:441)
	at org.openapitools.codegen.cmd.OpenApiGeneratorCommand.run(OpenApiGeneratorCommand.java:32)
	at org.openapitools.codegen.OpenAPIGenerator.main(OpenAPIGenerator.java:66)
Caused by: java.lang.NullPointerException
	at org.openapitools.codegen.DefaultCodegen.getContent(DefaultCodegen.java:6743)
	at org.openapitools.codegen.DefaultCodegen.fromOperation(DefaultCodegen.java:4006)
	at org.openapitools.codegen.DefaultGenerator.processOperation(DefaultGenerator.java:1131)
	... 6 more

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.