首页 > 解决方案 > C0000005 ACCESS_VIOLATION 异常与 Progress Openedge 调用 Web 服务时

问题描述

我正在尝试使用 Progress OE 11.5 访问外部 Web 服务。当我从 GUI 程序编辑器或 CHUI 程序编辑器执行代码时,它在调用 API 时崩溃

RUN ProcessTrack IN hTrackPortType(INPUT lcRequest, OUTPUT lcResponse) no-error.

我没有收到任何错误。进度 GUI 窗口只是崩溃。

当我跟踪日志时,它有“C0000005 ACCESS_VIOLATION”异常。知道为什么会这样吗?但是当我从 SoapUI 或 Python 程序访问相同的 Web 服务时,它工作正常。我不确定 Progress OpenEdge 是否有任何访问限制来联系 api。

我在这里有完整的堆栈跟踪。

=====================================================
PROGRESS stack trace as of Fri Aug 07 12:26:40 2020
=====================================================

Progress OpenEdge Release 11.5 build 1114 on WINNT 

Startup parameters:
-pf C:\Progressx86\OpenEdge\startup.pf,-cpinternal ISO8859-1,-cpstream ISO8859-1,-cpcoll Basic,-cpcase Basic,-d mdy,-numsep 44,-numdec 46,(end .pf),-param C:\.....\api_request.p

Exception code: C0000005 ACCESS_VIOLATION
Fault address:  025C21CC 1C3:0034002D 

Registers:
EAX:086496B8
EBX:00000002
ECX:03100000
EDX:03100000
ESI:59DF2175
EDI:085AA1E0
CS:EIP:0023:025C21CC
SS:ESP:002B:00F4BFA0  EBP:00F4BFD0
DS:002B  ES:002B  FS:0053  GS:002B
Flags:00210206


Debugging dll: C:\Progressx86\OpenEdge\bin\DBGHELP.DLL
Symbol Path:
 C:\Progressx86\OpenEdge\bin;C:\Progressx86\OpenEdge\pdbfiles


Call Stack:
Address   Frame
025C21CC  00F4BF9C  0000:00000000 
085AA1E0  00F4BFD0  0000:00000000 
59DF27DB  00F4BFDC  WSDLAttribute::getHandle+3F52B
59DA415C  00F4F130  WSDLArray_Empty+23ABC
59DCD9A0  00F4F144  WSDLAttribute::getHandle+1A6F0
59E502A8  00F4F198  WSDLAttribute::getHandle+9CFF8
59E5032C  00F4F1CC  WSDLAttribute::getHandle+9D07C
59DCF04E  00F4F204  WSDLAttribute::getHandle+1BD9E
59D9B724  00F4F240  WSDLArray_Empty+1B084
59E50403  00F4F260  WSDLAttribute::getHandle+9D153
59D55D6F  00F4F2A0  csp_tweakFileURL+312F


** ABL Stack Trace **

--> C:\....\p56215_api_request.ped at line 54  (C:\.....\p56215_api_request.ped)
    adecomm/_runcode.p at line 665  (adecomm/_runcode.r)
    ExecuteRun adeedit/_proedit.p at line 3613  (adeedit/_proedit.r)
    RunFile adeedit/_proedit.p at line 10625  (adeedit/_proedit.r)
    USER-INTERFACE-TRIGGER adeedit/_proedit.p at line 1985  (adeedit/_proedit.r)
    adeedit/_proedit.p at line 12280  (adeedit/_proedit.r)
    _edit.p at line 408  (C:\Progressx86\OpenEdge\gui\_edit.r)

** Persistent procedures/Classes **

** PROPATH **
.,C:\Progressx86\OpenEdge\gui,C:\Progressx86\OpenEdge\gui\ablunit.pl,C:\Progressx86\OpenEdge\gui\adecomm.pl,C:\Progressx86\OpenEdge\gui\adecomp.pl,C:\Progressx86\OpenEdge\gui\adedesk.pl,C:\Progressx86\OpenEdge\gui\adedict.pl,C:\Progressx86\OpenEdge\gui\adeedit.pl,C:\Progressx86\OpenEdge\gui\adeicon.pl,C:\Progressx86\OpenEdge\gui\aderes.pl,C:\Progressx86\OpenEdge\gui\adeshar.pl,C:\Progressx86\OpenEdge\gui\adeuib.pl,C:\Progressx86\OpenEdge\gui\adeweb.pl,C:\Progressx86\OpenEdge\gui\adexml.pl,C:\Progressx86\OpenEdge\gui\dataadmin.pl,C:\Progressx86\OpenEdge\gui\OpenEdge.BusinessLogic.pl,C:\Progressx86\OpenEdge\gui\OpenEdge.Core.pl,C:\Progressx86\OpenEdge\gui\OpenEdge.ServerAdmin.pl,C:\Progressx86\OpenEdge\gui\prodict.pl,C:\Progressx86\OpenEdge\gui\protools.pl,C:\Progressx86\OpenEdge,C:\Progressx86\OpenEdge\bin

** Databases (logical/type/physical) **

** End of Protrace **

标签: soapaccess-violationopenedgeprogress-4gl

解决方案


知识库帖子表明这是一个已知错误。如果您运行低于 11.7.1 的版本,则应考虑升级到 11.7 的最新版本(当前为 11.7.6)。如果您运行的版本高于文章中提到的 11.7.1,您应该考虑联系 Progress 支持。

编辑:因为运行 11.5 升级应该是一个优先事项!


推荐阅读