We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
import logging from datetime import datetime from spyne import Application, rpc, ServiceBase, AnyDict from spyne.protocol.soap import Soap11 from spyne.server.django import DjangoApplication from django.http import HttpResponse from django.views.decorators.csrf import csrf_exempt from invoice.api.russian_webservice.complex_models import Consignor, Request1Type, Request31Type, Request91Type, CertificateMaximumType, CertificateMinimumType, Response91Type from exim.models import ExportFSS, ImportFSS class RussianIntegrationApiView(ServiceBase): @rpc(Request91Type, _returns=AnyDict, _out_variable_name="Response91") def getResponse91(ctx, request91type): try: logging.info( f'Initialized objects {str(Request91Type).encode("utf-8")}') error_message = None error_code = None import_fss = ImportFSS.objects.create( number=request91type.certificate.number, given_date=datetime.strptime( request91type.certificate.date, '%d.%m.%Y'), exporter_name=request91type.certificate.consignor.name, exporter_country=request91type.certificate.departure_country, exporter_address=request91type.certificate.consignor.place, importer_name=request91type.certificate.consignee.name, importer_country=request91type.certificate.destination_country, importer_address=request91type.certificate.consignee.place, transport_method=request91type.certificate.transport.declared_type, transport_number=request91type.certificate.transport.number, disinfected_date=datetime.strptime( request91type.certificate.disinfection.date, '%d.%m.%Y'), treatment_method=request91type.certificate.disinfection.method, chemical=request91type.certificate.disinfection.chemical, duration_and_temperature=request91type.certificate.disinfection.temperature_times, concentration=request91type.certificate.disinfection.concentration, extra_info=request91type.certificate.additional_info, ) return { "GUID": CertificateMinimumType.guid_generate(), "SendDateTime": "2022-04-11T19:50:11 ", "Certificate": CertificateMinimumType.generate(), "Status": "Выдан", "StatusCode": "1601", "Inspector": "" } except Exception as e: logging.info(f'Exception occurred: {str(e)}') def on_method_return_string(ctx): ctx.out_string[0] = ctx.out_string[0].replace(b'soap11env', b'soapenv') ctx.out_string[0] = ctx.out_string[0].replace(b'tns', b'mun') ctx.out_string[0] = ctx.out_string[0].replace(b'GUID', b'm:GUID') ctx.out_string[0] = ctx.out_string[0].replace( b'SendDateTime', b'm:SendDateTime') ctx.out_string[0] = ctx.out_string[0].replace(b'Act', b'm:Act') ctx.out_string[0] = ctx.out_string[0].replace(b'Date', b'm:Date') ctx.out_string[0] = ctx.out_string[0].replace(b'Number', b'm:Number') ctx.out_string[0] = ctx.out_string[0].replace(b'Blanc', b'm:Blanc') ctx.out_string[0] = ctx.out_string[0].replace(b'OldDate', b'm:OldDate') ctx.out_string[0] = ctx.out_string[0].replace( b'CountryCode', b'm:CountryCode') ctx.out_string[0] = ctx.out_string[0].replace( b'ExpirationDate', b'm:ExpirationDate') ctx.out_string[0] = ctx.out_string[0].replace(b'Canceled', b'm:Canceled') ctx.out_string[0] = ctx.out_string[0].replace( b'IssuePlace', b'm:IssuePlace') ctx.out_string[0] = ctx.out_string[0].replace(b'Inspector', b'm:Inspector') ctx.out_string[0] = ctx.out_string[0].replace( b'InspectionResult', b'm:InspectionResult') ctx.out_string[0] = ctx.out_string[0].replace( b'InspectionResultCode', b'm:InspectionResultCode') ctx.out_string[0] = ctx.out_string[0].replace( b'InspectionResultReport', b'm:InspectionResultReport') ctx.out_string[0] = ctx.out_string[0].replace( b'InspectionType', b'm:InspectionType') ctx.out_string[0] = ctx.out_string[0].replace( b'InspectionTypeCode', b'm:InspectionTypeCode') ctx.out_string[0] = ctx.out_string[0].replace( b'Certificates', b'm:Certificates') ctx.out_string[0] = ctx.out_string[0].replace(b'Status', b'm:Status') ctx.out_string[0] = ctx.out_string[0].replace( b'StatusCode', b'm:StatusCode') ctx.out_string[0] = ctx.out_string[0].replace(b'PDF', b'm:PDF') print("aaaa-------") print(ctx.out_string[0].decode('utf-8')) RussianIntegrationApiView.event_manager.add_listener('method_return_string', on_method_return_string) application = Application([RussianIntegrationApiView], 'https://argusgate.fitorf.ru/srv/ws/uz3', name='UzGosKarantinWSPortBinding', in_protocol=Soap11(validator='soft'), out_protocol=Soap11(), ) russian_api_service = DjangoApplication(application) def get_wsdl_file_russian(request): with open('apps/invoice/api/russian_webservice/russian.wsdl', 'r') as f: docs = f.read() return HttpResponse(docs, content_type='text/xml; charset=utf-8') @csrf_exempt def russian_service_dispatcher(request): if request.get_full_path() in ('/UzGosKarantinWebService/russian/?wsdl', '/UzGosKarantinWebService/russian?wsdl'): return get_wsdl_file_russian(request) return russian_api_service(request)
I created discussian about this
The text was updated successfully, but these errors were encountered:
No branches or pull requests
I created discussian about this
The text was updated successfully, but these errors were encountered: