Powershell 如何找到SOAP API的WSDL接口-动力壳

Powershell 如何找到SOAP API的WSDL接口-动力壳,powershell,soap,Powershell,Soap,希望这个问题相当简单 我有一个正在查询的Web服务,https://myip:8443/AXL,在这种情况下,所讨论的应用程序是CUCM服务器。我知道它提供了一个用于查询的SOAP API,我正在尝试使用新的webserviceproxy连接到它 不幸的是,WSDL和SOAP对我来说有点不透明。我比较有信心,问题是我试图连接到错误的uri,但在这一点上,我不知道我做了什么错事 这是我的命令: newwebserviceproxy-Urihttps://myip:8443/axl?WSDL -凭证

希望这个问题相当简单

我有一个正在查询的Web服务,
https://myip:8443/AXL
,在这种情况下,所讨论的应用程序是CUCM服务器。我知道它提供了一个用于查询的SOAP API,我正在尝试使用
新的webserviceproxy
连接到它

不幸的是,WSDL和SOAP对我来说有点不透明。我比较有信心,问题是我试图连接到错误的uri,但在这一点上,我不知道我做了什么错事

这是我的命令:

newwebserviceproxy-Urihttps://myip:8443/axl?WSDL -凭证($AXLCred)

它返回以下错误:

New WebServiceProxy:请求失败,HTTP状态为401:Unauthorized。

为了防止您担心我的凭据有问题,以下命令可以正常工作:


调用WebRequest-Urihttps://myip:8443/axl/ -凭证($AXLCred)

我假设这是Cisco UC的东西,记录在这里:


从文档中可以看出,它应该始终是基本身份验证,PowerShell应该可以毫无问题地处理它。我的第一站是对两个请求执行fiddler或wireshark跟踪,并检查身份验证头是否不同

我假设这是Cisco UC的东西,这里有文档记录:


从文档中可以看出,它应该始终是基本身份验证,PowerShell应该可以毫无问题地处理它。我的第一站是对两个请求执行fiddler或wireshark跟踪,并检查身份验证头是否不同

下面是WSDL位置的列表


以下是WSDL位置的列表

如果您需要从下载的AXL工具包捕获,则WSDL文件无法通过http访问


WSDL文件无法通过http访问。如果您需要从下载的AXL工具包中获取WSDL,请首先了解如何通过浏览器获取WSDL。“?wsdl”不是标准,只是约定。它可能不适用于此服务。我正在查看,我不确定如何跟踪它。Cisco谈到使用随wsdl.exe提供的AXLAPI、wsdl文件为接口创建自定义.NET类。我想,如果我能找到wsdl
新webserviceproxy
的URI,应该能够自己处理它。@JohnSaunders谢谢你的评论,我实际上已经阅读了手册,仍然有一个问题,因此这个问题。而且你的链接没有指向任何东西。非常奇怪。尝试在页面上搜索“WSDL”显示从何处获取WSDL。首先,了解如何通过浏览器获取WSDL。“?wsdl”不是标准,只是约定。它可能不适用于此服务。我正在查看,我不确定如何跟踪它。Cisco谈到使用随wsdl.exe提供的AXLAPI、wsdl文件为接口创建自定义.NET类。我想,如果我能找到wsdl
新webserviceproxy
的URI,应该能够自己处理它。@JohnSaunders谢谢你的评论,我实际上已经阅读了手册,仍然有一个问题,因此这个问题。而且你的链接没有指向任何东西。非常奇怪。尝试在页面上搜索“WSDL”显示了从何处获取WSDL。听起来不错,我来看看。所以你认为它与我调用的实际URI无关?我认为它应该在某个地方包含wsdl。@jasonmorger:不,服务不一定会公开wsdl。有些服务可以,有些不可以。听起来不错,我看看。所以你认为它与我调用的实际URI无关?我认为它应该在某个地方包含wsdl。@jasonmorger:不,服务不一定会公开wsdl。有些服务可以,有些不可以。谢谢@logicaldiagram,这正是我想要的!最后,答案在我使用的URI中。我真的很感谢你的帮助。那
新的WebServiceProxy
cmdlet真的很方便。。。我并不期待制作一个定制库。谢谢@logicaldiagram,这正是我想要的!最后,答案在我使用的URI中。我真的很感谢你的帮助。那
新的WebServiceProxy
cmdlet真的很方便。。。我并不期待制作一个定制的图书馆。
$AXL = New-WebServiceProxy -Uri ($scriptPath + "\AXLAPI.wsdl") -Credential $MyCreds