wsdl 相关问题

Web服务描述语言(WSDL)是一种基于XML的人类和机器可读语言,用于描述Web服务。它描述了可用的Web服务方法,消息请求和响应结构,可能的故障以及通信和安全要求。此标记不引用任何名为“wsdl”的工具,例如Microsoft的WSDL.EXE。

apache cxf-codegen-plugin wsdl2java 相对 wsdlLocation

当我指定每个文件时,我可以使用带有相对 wsdlLocation 的生成类,例如 ${basedir}/src/main/resources/sample....

回答 2 投票 0

SoapClient 到 nusoap,服务器无法识别 HTTP 标头 SOAPAction 的值

我们正在运行 PHP 5.3.18,由于一些奇怪的原因我无法安装 php-soap,因此我无法使用 SoapClient 类... 我现在使用的是最后一个 nusoap (应该与 php 5.3.18 兼容)和

回答 2 投票 0

尝试从 WSDL 文件生成时出现 Maven 问题

我尝试从 wsdl 文件生成源代码,但我在 pom.xml 上不断遇到错误,我认为这可能是我的问题?以下是我从 pom 和 pom 文件中得到的错误。我也...

回答 9 投票 0

npm soap(https://www.npmjs.com/package/soap) 包 - 尝试访问本地 wsdl 文件

我正在尝试使用此节点soap库来使用本地wsdl文件创建soap客户端。我尝试了很多方法,但仍然无法创建 SOAP 客户端并进行 SOAP API 调用。 有人可以吗...

回答 1 投票 0

soap xml 响应 xsi:类型值已更改

我们的tomcat webservice响应是soap xml格式。 xsi:type 从 xsi:type="ax235:SearchOutput"> 更改为 xsi:type="ax239:SearchOutput"> 有一天突然。 ns 返回...

回答 1 投票 0

使用 maven 从 wsdl 文件生成 Kotlin 类

我想从给定的 wsdl 文件生成 Kotlin 类。如何使用 jaxb2-maven-plugin 或 cxf-codegen-plugin 等 Maven 插件来执行此操作? 预先感谢!

回答 1 投票 0

如何为 .Net 中的 SOAP/WebService 类生成 HTML 文档?

当您在 VisualStudio(VS) 中启动 WebService 项目时,您实际上会看到一些 HTML 文档,但 C# 注释帮助不会将其传递到 HTML。您可以获得描述来...

回答 3 投票 0

如何使桌面项目自动生成的 WSDL 类似于 Web 服务生成的另一个 WSDL?

这是我在这里潜伏多年以来第一次作为海报。我还将借此机会感谢所有社区多年来一直以来的帮助。谢谢你! 这也是我的...

回答 1 投票 0

如何使用 Guidewire Studio 并利用本地 WSDL 文件在 Guidewire ClaimCenter 中引用 Web 服务?

我希望使用 Guidewire Studio 将 Web 服务集成到我的 ClaimCenter 项目中。我已将 WSDL 文件保存在本地。我可以直接从 WSDL 文件添加对此 Web 服务的引用吗...

回答 1 投票 0

SOAP 的 PHP 数组/对象结构 (WSDL/wsse)

我必须了解如何使用 PHP 生成此示例 WSDL 的结构。 (SoapClient、SoapHeaders) 假设实际输出应该如下所示: 我必须了解如何使用 PHP 生成此示例 WSDL 的结构。 (SoapClient、SoapHeaders) 假设实际输出应该如下所示: <soapenv:Envelope xmlns="http://schemas.xmlsoap.org/1"> <soapenv:Header> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/3"> <wsse:UsernameToken xmlns:wsu="http://schemas.xmlsoap.org/4"> <wsse:Username>name</wsse:Username> <wsse:Password Type="wsse:PasswordText">good_password</wsse:Password> <wsse:UsernameToken> </wsse:Security> </soapenv:Header> <soapenv:Body> <asi:ProcessMsg> <req:Payload> <req:Request> <req:Sub>DATA_1</req:Sub> <req:EID>DATA_2</req:EID> <req:IID>DATA_3</req:IID> <req:Customer FirstName="xxx" LastName="xxx"></req:Customer> <req:Lead LeadMaster="xxx" IntendedRepPer="xxx"></req:Lead> </req:Request> </req:Payload> </asi:ProcessMsg> </soapenv:Body> </soapenv:Envelope> 我尝试了三种不同的结构,但都不起作用 new \stdClass(); new \ArrayObject(); 数组() “new SoapHeader();”的结构 $Security = new \ArrayObject(); $Security['UsernameToken'] = new \ArrayObject(); $Security['UsernameToken']['Username'] = "name"; $Security['UsernameToken']['Password'] = "good_password"; // OR $Security = new \stdClass(); $Security->UsernameToken = new \stdClass(); $Security->UsernameToken->Username = "name"; $Security->UsernameToken->Password = "good_password"; $header = new SoapHeader('http://schemas.xmlsoap.org/ws/2002/07/secext','Security',$Security,false); $soapClient->__setSoapHeaders($header); “$soap_client->ServerMethod("Payload", $soap_request);”的结构: $soap_request = new \ArrayObject(); $soap_request['Payload'] = new \ArrayObject(); $soap_request['Payload']['Request'] = new \ArrayObject(); $soap_request['Payload']['Request']['Sub'] = "xxx"; $soap_request['Payload']['Request']['EID'] = "xxx"; $soap_request['Payload']['Request']['IID'] = "xxx"; $soap_request['Payload']['Request']['Customer'] = new \ArrayObject(); $soap_request['Payload']['Request']['Customer']['_'] = ''; $soap_request['Payload']['Request']['Lead'] = new \ArrayObject(); $soap_request['Payload']['Request']['Lead']['_'] = ''; foreach ($data['x'] as $key => $value) { $soap_request['Payload']['Request']['Customer'][$key] = $value; } foreach ($data['xx'] as $key => $value) { $soap_request['Payload']['Request']['Lead'][$key] = $value; } // OR $soap_request = new \stdClass(); $soap_request->Request = new \stdClass(); $soap_request->Request->Sub = "xxx"; $soap_request->Request->EID = "xxx"; $soap_request->Request->IID = "xxx"; $soap_request->Request->Customer = new \ArrayObject(); $soap_request->Request->Customer['_'] = ''; $soap_request->Request->Lead = new \ArrayObject(); $soap_request->Request->Lead['_'] = ''; foreach ($data['customer'] as $key => $value) { $soap_request->Request->Customer[$key] = $value; } foreach ($data['lead'] as $key => $value) { $soap_request->Request->Lead[$key] = $value; } 我尝试调试结构的事情: echo "FNs:\n" . $soapClient->__getFunctions() . "\n"; echo "REQUEST:\n" . $soapClient->__getLastRequest() . "\n"; echo "REQUEST (htmlent):\n" . htmlentities($soapClient->__getLastRequest()) . "\n"; 我遇到的错误消息: 输入格式不正确或不包含预期数据 调用 PropertySet.GetChild() 失败。 (该属性集没有任何子级。(SBL-EXL-00144)) 实际发送执行: $soap_response = $soapClient->ServerMethod($soap_request); 嗯,我现在真的陷入困境,不知道是否要搜索错误/错误,因为我没有任何“好的”详细错误需要调试。 这是我第一次必须使用 SOAP(将数据发送到服务),也许我完全错了?非常感谢您的帮助。 核心问题: php 内部的结构与所有命名空间是什么样子的, 属性,嵌套元素? 问题在于内置 PHP 函数 SoapHeader 需要提供广泛兼容的 SoapHeader。您可以通过扩展 PHP SoapHeader 类来查看实现。 我使用了 stdClass 对象作为有效负载。并通过将所有属性传递到最深的对象层来获取实际的数据字段。我希望通过我的问题的答案为某人节省一些研究。 安全肥皂头: namespace AppName\TheBundle\Services; use SoapHeader; use SoapVar; class AuthSoapHeaderHelper extends SoapHeader { private $wss_ns = 'http://schemas.xmlsoap.org/.../secext'; private $username = "username"; private $password = "good_password"; function __construct() { $auth = new \stdClass(); $auth->Username = new SoapVar($this->username, XSD_STRING, NULL, $this->wss_ns, NULL, $this->wss_ns); $auth->Password = new SoapVar($this->password, XSD_STRING, NULL, $this->wss_ns, NULL, $this->wss_ns); $username_token = new \stdClass(); $username_token->UsernameToken = new SoapVar($auth, SOAP_ENC_OBJECT, NULL, $this->wss_ns, 'UsernameToken', $this->wss_ns); $security_sv = new SoapVar( new SoapVar($username_token, SOAP_ENC_OBJECT, NULL, $this->wss_ns, 'UsernameToken', $this->wss_ns), SOAP_ENC_OBJECT, NULL, $this->wss_ns, 'Security', $this->wss_ns); parent::__construct($this->wss_ns, 'Security', $security_sv, true); } } SOAP 有效负载: $soap_request = new \stdClass(); $soap_request->Payload = new \stdClass(); $soap_request->Payload->Request = new \stdClass(); $soap_request->Payload->Request->Sub = "DATA_1"; $soap_request->Payload->Request->EID = "DATA_2"; $soap_request->Payload->Request->IID = "DATA_3"; $soap_request->Payload->Request->Customer = new \stdClass(); $soap_request->Payload->Request->Lead = new \stdClass(); foreach ($data['x'] as $key => $value) { $soap_request->Payload->Request->Customer->{$key} = $value; } foreach ($data['xx'] as $key => $value) { $soap_request->Payload->Request->Lead->{$key} = $value; } 这导致了以下 wsdl/xml 结构: <soapenv:Envelope xmlns="http://schemas.xmlsoap.org/1"> <soapenv:Header> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/3"> <wsse:UsernameToken xmlns:wsu="http://schemas.xmlsoap.org/4"> <wsse:Username>username</wsse:Username> <wsse:Password Type="wsse:PasswordText">good_password</wsse:Password> <wsse:UsernameToken> </wsse:Security> </soapenv:Header> <soapenv:Body> <asi:ProcessMsg> <req:Payload> <req:Request> <req:Sub>DATA_1</req:Sub> <req:EID>DATA_2</req:EID> <req:IID>DATA_3</req:IID> <req:Customer FirstName="xxx" LastName="xxx"></req:Customer> <req:Lead LeadMaster="xxx" IntendedRepPer="xxx"></req:Lead> </req:Request> </req:Payload> </asi:ProcessMsg> </soapenv:Body> </soapenv:Envelope>

回答 1 投票 0

我能够使用soap UI和post man将请求发送到spring boot肥皂端点,但是在尝试从SAP获取错误500时

我能够使用soap UI和post man将请求发送到spring boot肥皂端点,但是在从SAP尝试时,我收到500错误并在java代码中收到以下错误 SAAJ0511:无法

回答 1 投票 0

使用 cxf-codegen-plugin 的 Soap 标头

我正在使用 cxf-codegen-plugin 在 Java 中生成 WSDL 类,我想将 Soap 标头添加到请求中,但它们没有在插件中生成。我如何添加它们? 这是我定义的插件...

回答 1 投票 0

WSDL 定义了对象数组,但必须分配 GUID 数组失败。运行时和语法都失败

我正在尝试将 WSDL 用于我无法控制/修改的服务。使用 VS2022,我通过“添加连接服务”将连接服务添加到 WSDL。 我希望有人可以审查这个并提供...

回答 1 投票 0

SOAP-错误:解析 WSDL:无法从 'xxx/?wsdl' 加载:标签 html 第 1 行中的数据过早结束

几天来,我遇到了一个错误,但无法找到解决方案来解决此问题。 WSDL...

回答 1 投票 0

Python - 带标头和时间戳的 Zeep SOAP 请求

我正在尝试使用 Zeep 从 wsdl url 获取响应 需要用户名、密码、随机数 (PasswordDigest)、时间戳和标头。 这一切在 SoapUI 中工作正常,但我无法让它在 Z 中工作......

回答 1 投票 0

如何从 WSDL 文件中提取soap:address?

我可以检查一下,如何使用Java从https://www.dataaccess.com/webservicesserver/NumberConversion.wso?WSDL检索soap:address元素? 我可以检查一下,如何使用Java从https://www.dataaccess.com/webservicesserver/NumberConversion.wso?WSDL?检索soap:address元素 <port name="NumberConversionSoap" binding="tns:NumberConversionSoapBinding"> **<soap:address location="https://www.dataaccess.com/webservicesserver/NumberConversion.wso"/>** </port> 我尝试使用javax.wsdl.Definition检查变量以查看soap:address的存储位置,但找不到它。 有人可以建议吗? 我目前正在使用 java 将 SOAP WS 转换为 REST OpenAPI 格式,使用 https://github.com/wso2/soap-to-rest 我设法在此网页中找到答案:https://vvratha.blogspot.com/2013/11/get-wsdl-service-address-with-wsdl4j.html 希望对其他人有用。

回答 1 投票 0

作为 Web 参考(而非服务参考)使用时增加超时

StackOverflow 上有很多类似的问题。如果这是重复的,我希望能对如何在我的上下文中应用其他解决方案进行一些解释。 我有一个项目是

回答 2 投票 0

在 WSO2 ESB 中将 Rest API 作为 SOAP 公开

我有一个 Rest Api (Python/flask),它以 json 格式发送响应。 我需要使用 Soap 发布包含 3 个参数(主体)的请求,但我不了解 Soap,也不了解示例。 我可以...

回答 3 投票 0

如何将两个wsdl合并到一个wsdl文件中?

我在 WSO2 ESB 中创建了一个代理,并在其中使用了两个不同的端点。然后我想发布一个通用的wsdl。我有来自两个不同 Web 服务的两个 wsdl 地址。 1-http://localhost:12080/SRV...

回答 2 投票 0

IWAB0503E 无法更新 Java 构建路径。请检查您的系统环境。 java.io.FileNotFoundException:/lib/axis.jar

我尝试在 Eclipse 中创建 Web 服务客户端时遇到此错误。已尝试将 axis.jar 添加到构建路径中,但无法修复。有谁知道发生了什么或者 /lib/axis.jar 引用在哪里...

回答 1 投票 0

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