首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Polarion ALM的API偶尔不会授权任何请求。

Polarion ALM的API偶尔不会授权任何请求。
EN

Stack Overflow用户
提问于 2019-10-31 09:45:31
回答 1查看 1.3K关注 0票数 1

我编写了一些Python代码,通过API登录并从Polarion服务器读取一些数据(更多关于Polarion:https://almdemo.polarion.com/polarion/sdk/index.html的非正式信息)。在我的代码中,我使用了zeep包来处理SOAP。

我的算法很简单:

1)通过logIn web服务(https://almdemo.polarion.com/polarion/sdk/doc/javadoc/com/polarion/alm/ws/client/session/SessionWebService.html#logIn-java.lang.String-java.lang.String-)登录

2)将当前会话添加到标头中--因此当前会话仍处于活动状态。

3)尝试读取一些数据,例如通过getRootProjectGroup web服务(https://almdemo.polarion.com/polarion/sdk/doc/javadoc/com/polarion/alm/ws/client/projects/ProjectWebService.html#getRootProjectGroup--)。

4)无论发生什么,我都通过endSession web服务(https://almdemo.polarion.com/polarion/sdk/doc/javadoc/com/polarion/alm/ws/client/session/SessionWebService.html#endSession--)关闭当前会话。

我所观察到的:在第3点,我收到了带有授权错误的响应(带有响应的片段):

<soapenv:Fault>\n <faultcode>soapenv:Server.generalException</faultcode>\n <faultstring>Not authorized.</faultstring>\n <detail>\n <ns1:stackTrace xmlns:ns1="http://xml.apache.org/axis/">Not authorized.\n\tat com.polarion.alm.ws.providers.DoAsUserWrapper.invoke(DoAsUserWrapper.java:37)\n\tat org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)\n\t..

或者一切都很好,我得到了:

代码语言:javascript
运行
复制
{
    'groupURIs': {
        'SubterraURI': [
            'subterra:data-service:objects:/default/${ProjectGroup}Group'
        ]
    },
    'location': None,
    'name': 'ROOT_CTX_NAME',
    'parentURI': None,
    'projectIDs': None,
    'uri': 'subterra:data-service:objects:${ProjectGroup}Group',
    'unresolvable': False
}

最让我惊讶的是:

  • I总是使用相同的凭据(用户名和密码)--在请求中的会话ID (第3点)与登录期间服务器响应中的会话ID相同(第1点),因此如果我将代码放在循环中(例如,1000次执行),则会话将保持活动状态,所有尝试的结果总是相同的(1000个成功或1000个失败),即使我在调度

之间添加了一个等待(例如1)。

我想知道为什么服务器拒绝某些请求。是某种Polarion服务器的问题吗?如果服务器拒绝了我的第一个请求,我如何才能与服务器连接,并且能够从服务器读取一些数据。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-21 10:57:06

它似乎是SOAP客户端的问题(也是比较流行的)。为了解决这个问题,我已经关闭了TLS的验证。更多细节见:https://python-zeep.readthedocs.io/en/master/transport.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58641754

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档