gpt4 book ai didi

soap - 如何为 Office 365 Exchange 设置新的 SOAPUI 项目(访问 WSDL 时出现问题)

转载 作者:行者123 更新时间:2023-12-01 21:17:46 25 4
gpt4 key购买 nike

我正在尝试创建一个新的 SoapUI用于测试 Office 365 中的 Exchange Web 服务的项目。

尝试1)

对于初始 WSDL,我指定 https://outlook.office365.com/ews/services.wsdl .

SoapUI 然后提示我进行 outlook.office365.com:443
的基本身份验证如果我输入用于登录 Office365 的凭据,则会失败。

然后返回登录屏幕,要求对 outlook.office365.com:-1 进行基本身份验证

尝试2)

然后我找到了这个详细指南How to get services.wsdl for Office 365? :使用Microsoft Remote Connectivity Analyzer我可以提取 https://pod51046.outlook.com/ews/exchange.asmx
所以我接下来尝试了,但 SoapUI 响应:

"There was something wrong with the WSDL you are trying to import"
Error loading [https://pod51046.outlook.com/ews/exchange.wsdl]: org.apache.xmlbeans.XmlException: org.apache.xmlbeans.XmlException: error: Unexpected end of file after null

SoapUI 日志说:

Tue Oct 14 13:35:48 CEST 2014:DEBUG:Getting wsdl component from [https://pod51046.outlook.com/ews/exchange.wsdl]
Tue Oct 14 13:35:48 CEST 2014:INFO:pod51046.outlook.com:443 requires authentication with the realm 'null'
Tue Oct 14 13:36:14 CEST 2014:ERROR:Failed to load url [https://pod51046.outlook.com/ews/exchange.wsdl]
Tue Oct 14 13:36:14 CEST 2014:ERROR:An error occurred [com.eviware.soapui.impl.support.definition.support.InvalidDefinitionException], see error log for details

HTTP 日志显示:

Tue Oct 14 13:35:48 CEST 2014:DEBUG:>> "GET /ews/exchange.wsdl HTTP/1.1[\r][\n]"
Tue Oct 14 13:35:48 CEST 2014:DEBUG:>> "Host: pod51046.outlook.com[\r][\n]"
Tue Oct 14 13:35:48 CEST 2014:DEBUG:>> "Connection: Keep-Alive[\r][\n]"
Tue Oct 14 13:35:48 CEST 2014:DEBUG:>> "User-Agent: Apache-HttpClient/4.1.1 (java 1.5)[\r][\n]"
Tue Oct 14 13:35:48 CEST 2014:DEBUG:>> "Cookie: ClientId=LGJVIJZECEJQYUIHP0RW; X-BackEndCookie=jan@[snip].onmicrosoft.com=u56Lnp[snip]Fys0=; exchangecookie=0fe18[snip]ad43d[\r][\n]"
Tue Oct 14 13:35:48 CEST 2014:DEBUG:>> "Cookie2: $Version=1[\r][\n]"
Tue Oct 14 13:35:48 CEST 2014:DEBUG:>> "[\r][\n]"
Tue Oct 14 13:35:48 CEST 2014:DEBUG:<< "HTTP/1.1 401 Anonymous Request Disallowed[\r][\n]"
Tue Oct 14 13:35:48 CEST 2014:DEBUG:<< "Server: Microsoft-IIS/8.0[\r][\n]"
Tue Oct 14 13:35:48 CEST 2014:DEBUG:<< "request-id: fadbe60a-008b-4f16-859a-719aaa8794bc[\r][\n]"
Tue Oct 14 13:35:48 CEST 2014:DEBUG:<< "X-WSSecurity-Enabled: True[\r][\n]"
Tue Oct 14 13:35:48 CEST 2014:DEBUG:<< "X-WSSecurity-For: Logon[\r][\n]"
Tue Oct 14 13:35:48 CEST 2014:DEBUG:<< "X-FederationTrustTokenIssuerUri: urn:federation:MicrosoftOnline[\r][\n]"
Tue Oct 14 13:35:48 CEST 2014:DEBUG:<< "X-WSSecurity-SymmetricKey-Enabled: True[\r][\n]"
Tue Oct 14 13:35:48 CEST 2014:DEBUG:<< "X-WSSecurity-X509Cert-Enabled: True[\r][\n]"
Tue Oct 14 13:35:48 CEST 2014:DEBUG:<< "X-OAuth-Enabled: True[\r][\n]"
Tue Oct 14 13:35:48 CEST 2014:DEBUG:<< "X-Powered-By: ASP.NET[\r][\n]"
Tue Oct 14 13:35:48 CEST 2014:DEBUG:<< "X-FEServer: AM2PR02CA0041[\r][\n]"
Tue Oct 14 13:35:48 CEST 2014:DEBUG:<< "WWW-Authenticate: Basic Realm=""[\r][\n]"
Tue Oct 14 13:35:48 CEST 2014:DEBUG:<< "Date: Tue, 14 Oct 2014 11:35:55 GMT[\r][\n]"
Tue Oct 14 13:35:48 CEST 2014:DEBUG:<< "Content-Length: 0[\r][\n]"
Tue Oct 14 13:35:48 CEST 2014:DEBUG:<< "[\r][\n]"
Tue Oct 14 13:36:14 CEST 2014:DEBUG:>> "GET /ews/exchange.wsdl HTTP/1.1[\r][\n]"
Tue Oct 14 13:36:14 CEST 2014:DEBUG:>> "Host: pod51046.outlook.com[\r][\n]"
Tue Oct 14 13:36:14 CEST 2014:DEBUG:>> "Connection: Keep-Alive[\r][\n]"
Tue Oct 14 13:36:14 CEST 2014:DEBUG:>> "User-Agent: Apache-HttpClient/4.1.1 (java 1.5)[\r][\n]"
Tue Oct 14 13:36:14 CEST 2014:DEBUG:>> "Cookie: ClientId=LGJVIJZECEJQYUIHP0RW; X-BackEndCookie=jan@[snip].onmicrosoft.com=u56Lnp2ejJ[snip]vFys0=; exchangecookie=0fe1867420a243b5993d336bbbead43d[\r][\n]"
Tue Oct 14 13:36:14 CEST 2014:DEBUG:>> "Cookie2: $Version=1[\r][\n]"
Tue Oct 14 13:36:14 CEST 2014:DEBUG:>> "Authorization: Basic amFuQFR[snip]RCVg==[\r][\n]"
Tue Oct 14 13:36:14 CEST 2014:DEBUG:>> "[\r][\n]"
Tue Oct 14 13:36:14 CEST 2014:DEBUG:<< "HTTP/1.1 404 Not Found[\r][\n]"
Tue Oct 14 13:36:14 CEST 2014:DEBUG:<< "Cache-Control: private[\r][\n]"
Tue Oct 14 13:36:14 CEST 2014:DEBUG:<< "Server: Microsoft-IIS/8.0[\r][\n]"
Tue Oct 14 13:36:14 CEST 2014:DEBUG:<< "request-id: 0bdf26cb-0fe3-418e-816f-a07324900119[\r][\n]"
Tue Oct 14 13:36:14 CEST 2014:DEBUG:<< "X-CalculatedBETarget: db3pr02mb203.eurprd02.prod.outlook.com[\r][\n]"
Tue Oct 14 13:36:14 CEST 2014:DEBUG:<< "X-DiagInfo: DB3PR02MB203[\r][\n]"
Tue Oct 14 13:36:14 CEST 2014:DEBUG:<< "X-BEServer: DB3PR02MB203[\r][\n]"
Tue Oct 14 13:36:14 CEST 2014:DEBUG:<< "X-AspNet-Version: 4.0.30319[\r][\n]"
Tue Oct 14 13:36:14 CEST 2014:DEBUG:<< "Set-Cookie: X-BackEndCookie=jan@[snip].onmicrosoft.com=u56Lnp2ejJqBy[snip]7FzMnFzc4=; expires=Thu, 13-Nov-2014 11:36:21 GMT; path=/ews; secure; HttpOnly[\r][\n]"
Tue Oct 14 13:36:14 CEST 2014:DEBUG:<< "X-Powered-By: ASP.NET[\r][\n]"
Tue Oct 14 13:36:14 CEST 2014:DEBUG:<< "X-FEServer: AM2PR02CA0041[\r][\n]"
Tue Oct 14 13:36:14 CEST 2014:DEBUG:<< "Date: Tue, 14 Oct 2014 11:36:20 GMT[\r][\n]"
Tue Oct 14 13:36:14 CEST 2014:DEBUG:<< "Content-Length: 0[\r][\n]"
Tue Oct 14 13:36:14 CEST 2014:DEBUG:<< "[\r][\n]"

错误日志显示:

Tue Oct 14 13:36:14 CEST 2014:ERROR:com.eviware.soapui.impl.support.definition.support.InvalidDefinitionException
com.eviware.soapui.impl.support.definition.support.InvalidDefinitionException
at com.eviware.soapui.impl.wsdl.support.wsdl.WsdlLoader.makeInvalidDefinitionException(WsdlLoader.java:142)
at com.eviware.soapui.impl.wsdl.support.wsdl.WsdlLoader.loadXmlObject(WsdlLoader.java:129)
at com.eviware.soapui.impl.wsdl.support.xsd.SchemaUtils.getDefinitionParts(SchemaUtils.java:539)
at com.eviware.soapui.impl.wsdl.support.xsd.SchemaUtils.getDefinitionParts(SchemaUtils.java:528)
at com.eviware.soapui.impl.support.definition.support.AbstractDefinitionCache.update(AbstractDefinitionCache.java:101)
at com.eviware.soapui.impl.support.definition.support.AbstractDefinitionContext$Loader.construct(AbstractDefinitionContext.java:240)
at com.eviware.soapui.support.swing.SwingWorkerDelegator.construct(SwingWorkerDelegator.java:50)
at com.eviware.soapui.support.swing.SwingWorker$2.run(SwingWorker.java:153)
at java.lang.Thread.run(Unknown Source)

尝试3)

如果我将 https://pod51046.outlook.com/ews/exchange.wsdl 放入 IE 地址栏中,它会不断提示我登录 IE。
这里的评论中提到了重复的提示:How to access a wsdl URL in SoapUI, which requires username/password? ,但是在 3 次登录后(每次都告诉 IE 记住我的引用)返回的页面是空白的:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=windows-1252" http-equiv=Content-Type></HEAD>
<BODY></BODY></HTML>

我在 Win7/64 环境中使用免费的 SOAPUI 5.0.0(最新版本)和 Java 7(然后是 8)。我还克隆了我的虚拟机并按照 To create a SOAPUI project using a wsdl 中的建议尝试了 SOAPUI Pro 版本。 ,但这并没有帮助。

有什么建议可以让它发挥作用吗?

最佳答案

用于 Office 365 EWS WSDL 的正确 URL 是您尝试的第一个 URL:https://outlook.office365.com/ews/services.wsdl 。您应该使用此 URL 来获取 WSDL。当我在浏览器中输入电子邮件地址和密码时,我可以毫无问题地获取 WSDL。

我不熟悉 SOAPUI,所以我不确定为什么此 URL + 基本身份验证不适用于 SOAP UI。如果您有任何疑问或需要更多信息,请告诉我。

[OP 的附加说明]

谢谢 Venkat,这就是解决方案。还有一些额外的复杂因素导致我一开始就没有正确理解这一点。我把它们写在答案中,因为评论太多了。

  1. 我不小心输入了https://pod51046.outlook.com/ews/***exchange***.wsdl而不是 https://pod51046.outlook.com/ews/***services***.wsdl (Oleg 的博客实际上提到过,我忽略了)。这立即在 IE 中给出了正确的结果。 输入通用的建议https://outlook.office365.com/ews/services.wsdl也有效。
    (我认为,在某处读到实际 URL 是一个pod... URL 后,我在解决该问题后顽强地继续尝试该 URL。
    这就是尝试 2 和 3 失败的原因

  2. 设置测试项目时,SOAP UI 会询问我 2 次 3 = 6 次登录凭据。我只是不够坚持。
    这就是尝试 1 失败的原因

关于soap - 如何为 Office 365 Exchange 设置新的 SOAPUI 项目(访问 WSDL 时出现问题),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26378127/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com