使用SOAP进行IP21 Webservice调用

时间:2018-05-03 15:52:45

标签: soap soapui

我尝试使用SOAP在IP21服务器上调用SQLPLusWebService。我注意到在POST消息架构中没有提到用户凭据。对于IP21系统,我试图连接到用户凭证似乎是必需的。

> POST /SQLPlusWebService/SQLplusWebService.asmx HTTP/1.1 Host:
> us1sawn03292 Content-Type: text/xml; charset=utf-8 Content-Length:
> length SOAPAction:
> "http://www.aspentech.com/SQLplus.WebService/ExecuteSQL"
> 
> <?xml version="1.0" encoding="utf-8"?> <soap:Envelope
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">   <soap:Body>
>     <ExecuteSQL xmlns="http://www.aspentech.com/SQLplus.WebService/">
>       <command>string</command>
>     </ExecuteSQL>   </soap:Body> </soap:Envelope>

我正在尝试通过SOAPUI访问IP21 WSDL,但在输入WSDL凭据后遇到连接问题。我确认我能够使用我的凭据访问Web服务,但不能通过SOAP

成功访问

SOAP Error

1 个答案:

答案 0 :(得分:0)

我知道这是一个旧线程,但是当我尝试通过POSTMAN访问Aspen APRM和IP21 Historian WebServices时遇到了它。

我最终设法使连接正常工作,所以我想留下一点笔记,以防将来有人在寻找,因为Web上的Aspen信息非常有限,而在Aspen eSupport系统中却不是很好。

当尝试通过POSTMAN访问APRM界面时,将URL设置为 http://'ServerName'/Batch21ws/Aspentech.Batch21.Web.Services.dll?Handler=Default

Request type: POST
Authorisation : Basic Auth
Header: SOAPAction: ""
Body: (text/xml)
For the RAW text in the body, use the following format:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"             xmlns:tns="urn:AspentechBatch21WebServices" xmlns:types="urn:AspentechBatch21WebServices/encodedTypes" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <soap:Body soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
        <tns:xml>
            <inputXml xsi:type="xsd:string">
                <Datasource xmlns='Aspentech.Batch21' name='<ServerName>'> 
                    <Area name='Batch'>
                        <BatchQuery mostRecentBatches="2"/>
                    </Area>;
                </Datasource>
            </inputXml>
        </tns:xml>
    </soap:Body>
</soap:Envelope>

基本上,您可以使用APRM测试工具来测试查询,还可以通过BatchQuery Tool生成XML文件,从而为您提供DATASOURCE代码,但是在使用POSTMAN时,您需要用Envelope,Body,tns包围它:xml和inputXml代码。

访问IP21数据时,使用另一种方法:

URL: http:// <ServerName> /sqlpluswebservice/sqlpluswebservice.asmx/ExecuteSQL
Request type: POST
Authentication: Basic Auth
Body: x-www-form-urlencoded
Body key: command
Body Value: <SQL query>

我希望这可以帮助下一个尝试访问Aspen Web界面的人。