soap 相关问题

简单对象访问协议(SOAP)是用于在Web服务的实现中交换结构化信息的协议规范。

Bing Ads API PollGenerateReport 下载 URL 显示“ResourceNotFound”

有点坚持这个。我能够使用 GeographicalPerformanceReportRequest 的“SubmitGenerateReport”API 请求报告,并且它以报告 ID 进行响应。附上回复...

回答 1 投票 0

VPN 断开连接时 Zeep Python 库出现 SSL 错误

我目前正在为我的项目使用 Zeep Python 库,我遇到了一个问题,希望有人可以帮助我。 当我尝试在不连接到公司 VPN 的情况下运行代码时,我...

回答 1 投票 0

“com.ctc.wstx.exc.WstxUnexpectedCharException:序言中出现意外字符“H”(代码 72);预计'<' ”

我有一个用于上传文档的肥皂服务,通过它我可以上传多个文档。该服务工作正常,但偶尔会失败,并出现以下错误 - com.ctc.wstx.exc。

回答 1 投票 0

SQL Server 中的 Soap XML 响应解析

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <GetLoginResponse xmlns="http://example.com"> <GetLoginResult> <xs:schema id="GetLoginIDResponse" targetNamespace="http://example.com/GetLoginIDResponse.xsd" xmlns:mstns="http://example.com/GetLoginIDResponse.xsd" xmlns="http://example.com/GetLoginIDResponse.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" attributeFormDefault="qualified" elementFormDefault="qualified"> <xs:element name="GetLoginIDResponse" msdata:IsDataSet="true" msdata:UseCurrentLocale="true"> <xs:complexType> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="GetLoginIDResult"> <xs:complexType> <xs:sequence> <xs:element name="LoginID" type="xs:string" minOccurs="0" /> <xs:element name="Status" type="xs:string" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> </xs:choice> </xs:complexType> </xs:element> </xs:schema> <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1"> <GetLoginIDResponse xmlns="http://example.com/GetLoginIDResponse.xsd"> <GetLoginIDResult diffgr:id="GetLoginIDResult1" msdata:rowOrder="0" diffgr:hasChanges="inserted"> <LoginID>123456</LoginID> <Status>SUCCESS</Status> </GetLoginIDResult> </GetLoginIDResponse> </diffgr:diffgram> </GetLoginResult> </GetLoginResponse> </soap:Body> </soap:Envelope> 如何分别获得LoginID和Status?它只在列中显示 LoginID 和 Status。怎么分呢? 唯一的复杂之处是要处理多个命名空间。您可以尝试以下解决方案。 SQL DECLARE @xml XML = N'<?xml version="1.0"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <GetLoginResponse xmlns="http://example.com"> <GetLoginResult> <xs:schema id="GetLoginIDResponse" targetNamespace="http://example.com/GetLoginIDResponse.xsd" xmlns:mstns="http://example.com/GetLoginIDResponse.xsd" xmlns="http://example.com/GetLoginIDResponse.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" attributeFormDefault="qualified" elementFormDefault="qualified"> <xs:element name="GetLoginIDResponse" msdata:IsDataSet="true" msdata:UseCurrentLocale="true"> <xs:complexType> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="GetLoginIDResult"> <xs:complexType> <xs:sequence> <xs:element name="LoginID" type="xs:string" minOccurs="0"/> <xs:element name="Status" type="xs:string" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element> </xs:choice> </xs:complexType> </xs:element> </xs:schema> <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1"> <GetLoginIDResponse xmlns="http://example.com/GetLoginIDResponse.xsd"> <GetLoginIDResult diffgr:id="GetLoginIDResult1" msdata:rowOrder="0" diffgr:hasChanges="inserted"> <LoginID>123456</LoginID> <Status>SUCCESS</Status> </GetLoginIDResult> </GetLoginIDResponse> </diffgr:diffgram> </GetLoginResult> </GetLoginResponse> </soap:Body> </soap:Envelope>'; ;WITH XMLNAMESPACES ('http://schemas.xmlsoap.org/soap/envelope/' AS soap , 'http://example.com' AS ns1, 'urn:schemas-microsoft-com:xml-diffgram-v1' AS diffgr , DEFAULT 'http://example.com/GetLoginIDResponse.xsd') SELECT c.value('(LoginID/text())[1]','VARCHAR(30)') AS [LoginID] , c.value('(Status/text())[1]','VARCHAR(30)') AS [Status] FROM @xml.nodes('/soap:Envelope/soap:Body/ns1:GetLoginResponse/ns1:GetLoginResult/diffgr:diffgram/GetLoginIDResponse/GetLoginIDResult') AS t(c); 输出 +---------+---------+ | LoginID | Status | +---------+---------+ | 123456 | SUCCESS | +---------+---------+ 肥皂环境:身体 0 1 0未找到0 错误的 错误的 100蒙塔杰歌剧11.07.2023 09:34:00MONTAJ01 错误的 如何在 SQL Server 中肥皂泡 XML 响应解析 TBLRETURN COLUMN VALUES???

回答 2 投票 0

调用 SOAP 时,“底层连接已关闭:预期保持活动状态的连接已被服务器关闭”

在调用另一个 WSDL 服务时,有时会出现错误“底层连接已关闭:预期保持活动状态的连接已被服务器关闭”。 我使用.Net 4.5 WCF 服务...

回答 1 投票 0

在 Spring Boot 3 中使用 JaxWsPortProxyFactoryBean 或等效项?

我正在尝试将 Spring Boot 2.7.5 中使用 org.springframework.remoting.jaxws.JaxWsPortProxyFactoryBean 的项目升级到 Spring Boot 3。这是我的 bean 的声明: @豆 公开

回答 2 投票 0

将Soap请求体绑定到net core中的c#

我有以下 SOAP 请求正文。我需要 C# 类来绑定数据。 我有以下 C# 类,但它不起作用。 [XmlRoot(ElementName = "品牌")] 公共课品牌 { [XmlAttr...

回答 1 投票 0

使用 Moq 框架模拟 Web 服务方法的请求和响应

总结:我希望能够模拟调用远程服务器的 SOAP Web 方法的请求和响应。我希望能够测试整个请求和响应功能...

回答 1 投票 0

SOAP 请求元素名称与 WSDL 中的名称不同

我从第 3 方导入了 WSDL,并使用 IntelliJ 生成了 Java 类。当我发送 SOAP 请求时,XML 中的名称与 WSDL 中定义的名称不对应。 使用...

回答 1 投票 0

使用进程间通信从 .NET 7/8 访问 .NET Framework 库

我正在开发一个应用程序,我需要使用供应商库与外部硬件进行通信。该库面向 .NET Framework 3.5。该库的 .NET 标准 2.0 版本是

回答 1 投票 0

如何在响应中添加肥皂头(NodeJS y Strong-soap)

我在node js中使用strong-soap作为服务器,我需要一个直通服务将xml转换为json(soap调用到rest调用,我使用asyn方法),但我需要用re响应soap传入请求。 ..

回答 1 投票 0

无法从 SQL Server 解析 XML SOA

请帮助使用 SQL 从 XML 解析值: 请帮助使用 SQL 从 XML 解析值: <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:pac="http://www.axelot.ru/ESB/package" xmlns:esb="http://esb.axelot.ru"> <soap:Header/> <soap:Body> <pac:PushMessage> <pac:message> <esb:Body> <![CDATA[<?xml version="1.0"?> <classData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <GUID/> <SynonymID>46</SynonymID> <BatchID>2CXPN6700PB9GZ4F2O0E6Y3A8</BatchID> <ItemNo>8860637</ItemNo> <OrderID/> <OrderLineID>0</OrderLineID> <NetWeight>60.900</NetWeight> <GrossWeight>63.900</GrossWeight> <ProductionDate>2023-11-06T16:27:33</ProductionDate> <AdvanceDate/> <TerminalID>0</TerminalID> <ProcessUnit>2</ProcessUnit> <SystemType>3</SystemType> <Destination>7</Destination> <CarcassStateCategory>560ec6f3-d352-11ed-bbdd-0050568ed6c5</CarcassStateCategory> <NetWeightDCP06>61.600</NetWeightDCP06> </classData>]]> </esb:Body> <esb:ClassId>DCP18</esb:ClassId> <esb:CreationTime>2023-11-07T10:36:25</esb:CreationTime> <esb:Id>3e52661f-c858-4db5-8100-cc0cda7e2a9f</esb:Id> <esb:NeedAcknowledgment>false</esb:NeedAcknowledgment> <esb:Properties/> <esb:Receivers/> <esb:ReplyTo/> <esb:Source/> <esb:Type>DTP</esb:Type> <esb:CorrelationId xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/> </pac:message> </pac:PushMessage> </soap:Body> </soap:Envelope> 我需要从 XML 解析这些值: BatchID :2CXPN6700PB9GZ4F2O0E6Y3A8 ItemNo: 8860637 ClassId: DCP18< Id: 3e52661f-c858-4db5-8100-cc0cda7e2a9f 请尝试以下解决方案。 SQL DECLARE @xml XML = N'<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:pac="http://www.axelot.ru/ESB/package" xmlns:esb="http://esb.axelot.ru"> <soap:Header/> <soap:Body> <pac:PushMessage> <pac:message> <esb:Body><![CDATA[<?xml version="1.0"?> <classData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <GUID/> <SynonymID>46</SynonymID> <BatchID>2CXPN6700PB9GZ4F2O0E6Y3A8</BatchID> <ItemNo>8860637</ItemNo> <OrderID/> <OrderLineID>0</OrderLineID> <NetWeight>60.900</NetWeight> <GrossWeight>63.900</GrossWeight> <ProductionDate>2023-11-06T16:27:33</ProductionDate> <AdvanceDate/> <TerminalID>0</TerminalID> <ProcessUnit>2</ProcessUnit> <SystemType>3</SystemType> <Destination>7</Destination> <CarcassStateCategory>560ec6f3-d352-11ed-bbdd-0050568ed6c5</CarcassStateCategory> <NetWeightDCP06>61.600</NetWeightDCP06> </classData>]]> </esb:Body> <esb:ClassId>DCP18</esb:ClassId> <esb:CreationTime>2023-11-07T10:36:25</esb:CreationTime> <esb:Id>3e52661f-c858-4db5-8100-cc0cda7e2a9f</esb:Id> <esb:NeedAcknowledgment>false</esb:NeedAcknowledgment> <esb:Properties/> <esb:Receivers/> <esb:ReplyTo/> <esb:Source/> <esb:Type>DTP</esb:Type> <esb:CorrelationId xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/> </pac:message> </pac:PushMessage> </soap:Body> </soap:Envelope>'; WITH XMLNAMESPACES(DEFAULT 'http://www.w3.org/2003/05/soap-envelope' , 'http://www.axelot.ru/ESB/package' AS pac , 'http://esb.axelot.ru' AS esb) SELECT x.value('(/*:classData/*:BatchID/text())[1]', 'VARCHAR(50)') AS BatchID , x.value('(/*:classData/*:ItemNo/text())[1]', 'VARCHAR(50)') AS ItemNo , c.value('(esb:ClassId/text())[1]', 'VARCHAR(20)') AS ClassId , c.value('(esb:Id/text())[1]', 'UNIQUEIDENTIFIER') AS Id FROM @xml.nodes('/Envelope/Body/pac:PushMessage/pac:message') AS t(c) CROSS APPLY (SELECT TRY_CAST(c.value('(esb:Body/text())[1]', 'NVARCHAR(MAX)') AS XML)) AS t1(x); 输出 批次ID 商品编号 类别ID 身份证 2CXPN6700PB9GZ4F2O0E6Y3A8 8860637 DCP18 3E52661F-C858-4DB5-8100-CC0CDA7E2A9F

回答 1 投票 0

使用 Java 和 Maven 导入 WSDL,而不使用已弃用的库

我正在尝试更新Java项目的Java版本(使用intellij作为IDE)。 所以,我安装了 JDK 17,发现 wsimport 被删除了。但有没有什么解决方案/替代方案不是

回答 2 投票 0

由于 wsdl 无效,从 wsdl 文件生成代码时出错

我目前在工作中遇到了从 wsdl 文件生成 SOAP api 客户端代码的问题。相关文件可在此处向公众公开。我特别想使用的是 c...

回答 1 投票 0

使用EU VIES REST服务查询增值税号

所以我正在尝试使用欧盟提供的 REST 服务检查增值税号。 这是一些关于它的文档: https://ec.europa.eu/taxation_customs/vies/#/technical-information 我正在使用邮递员...

回答 1 投票 0

<faultcode>SOAP-ENV:Server</faultcode> 在 SOAP 和 Spring WS 中始终是相同的值

我将尝试使用以下代码从 Spring WS (java) 中的 SOAP Web 服务捕获异常: 字符串错误字符串=“字符串Y”; String failureCodeValue = "代码 X"; Q名称

回答 3 投票 0

java.lang.IllegalStateException 没有 Jetty ContextHandler,Jetty WebSocket SCI 不可用

我正在尝试使用以下方式部署 SOAP-Web 服务: 雄猫10 阿帕奇CXF 4.0.2 Java JDK 17.0.6 该服务在 Tomcat 7.0.27、Java JDK 1.7.45 和 Apache CXF 3.0.2 上运行良好。 全部更改后

回答 3 投票 0

为什么我在反序列化 SOAP 响应时总是得到不完整的对象?

我有一个 Java 8 Spring Boot(以前称为 WebLogic)应用程序,它使用 Apache CXF 和 Apache Tomcat。它有几个 SOAP 端点,我想编写 Cucumber 场景来执行集成

回答 1 投票 0

通过 SOAP 对 DMGR 执行时 wsadmin 脚本超时

自从 IBM BPM PS Adv 的 Web UI 发布以来,我正在尝试通过 wsadmin 控制台启动和停止单个 JVM 上的应用程序。不允许进行这种操作。所以,我有以下的纸条...

回答 4 投票 0

SUDS 自定义标头

我是Python新手,我使用suds作为wsdl客户端。我如何为此创建自定义请求标头。 从 SOAP UI 获取 XML: 我是 Python 新手,我使用 suds 作为 wsdl 客户端。我如何为此创建自定义请求标头。 从 SOAP UI 获取 XML : <soapenv:Header> <sbus:SBusContext message-tracking-id="?" correlation-id="?" entry-dtime="?" timestamp="?" entry-system="?" entry-system-principal="?" entry-url="?" priority="?"> <!--Optional:--> <sbus:Keys> <!--1 or more repetitions:--> <sbus:Key keyType="?" keyValDataType="string"> <sbus:KeyValue>?</sbus:KeyValue> </sbus:Key> </sbus:Keys> <!--Optional:--> <sbus:ExtContext>?</sbus:ExtContext> </sbus:SBusContext> </soapenv:Header> 编辑- 我意识到您可能在询问 SOAP 标头,而不是 http 标头。如果是这样,请忽略我的回答。我的错。 看这里:如何在 suds 0.3.6 中添加 http 标头? 您可以在创建客户端时添加标头,如下所示: client = suds.client.Client(url, headers={'key': 'value'}) 或者在创建客户端之后,通过使用 set_options 如下所示: client.set_options(headers={'key2': 'value'}) 值得注意的是,原来的 suds 包不再维护(最后发布于 2010 年 9 月)。它缺少您可能需要的各种功能,例如 gzip 压缩(因此,如果您使用旧的 suds 包,则不必添加“accept-encoding:gzip”标头)。各种分叉如雨后春笋般涌现。我相信其中最活跃的是 suds-jurko。 此片段来自官方 SUDS 文档: from suds.sax.element import Element client = client(url) ssnns = ('ssn', 'http://namespaces/sessionid') ssn = Element('SessionID', ns=ssnns).setText('123') client.set_options(soapheaders=ssn) result = client.service.addPerson(person) 我需要添加 2 个带有 xmlns 的肥皂头。 我按照@piotr sz的答案找到了解决方案。 这是我需要的解决方案: userName = Element('UserName').setText(fco.user) password = Element('Password').setText(fco.pwd) fdxns = Attribute('xmlns', "http://fdx.co.il/Authentication") for field in userName, password: field.append(fdxns) client.set_options(soapheaders=(userName, password)) suds 有一个内置的安全功能来设置安全标头 url = 'http://something.some/service.svc?wsdl' client= Client(url, faults=False) security = Security() token = UsernameToken('username', 'password') token.setcreated() security.tokens.append(token) client.set_options(wsse=security)

回答 4 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.