wsdl 相关问题

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

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

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

回答 1 投票 0

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

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

回答 2 投票 0

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

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

回答 1 投票 0

命令提示符中无法识别“wsimport”错误

我是网络服务新手。我正在尝试使用以下命令生成存根: wsimport -d ./build -s ./src -p com.ECS.client.jax http://webservices.amazon.com/AWSECommerceService/AWSECommerceS...

回答 11 投票 0

具有 WSDL 和身份验证的邮递员

大家好,我有一个具有基本身份验证的 WSDL 端点。尝试使用链接导入来设置邮递员,它应该读取 WSDL 并设置所有内容,但没有地方适合我......

回答 1 投票 0

使用带有基本身份验证的 wsdl .Net

我有一个受基本身份验证保护的 wsdl,当我尝试使用邮递员或通过浏览器时它可以工作。 为了在我的代码中使用它,我已经通过 Visual Code 2022 连接了服务,并且代理类有...

回答 1 投票 0

您建议使用什么来以图形方式可视化 WSDL? [已关闭]

我正在寻找一个好的解决方案,用于以图形方式查看基于 SOAP 的 Web 服务并可能与之交互(用于测试目的)。在线(基于浏览器的)解决方案也会很有趣。

回答 5 投票 0

jaxws-maven-plugin LifecycleExecutionException

我的pom.xml的这一部分: org.codehaus.mojo jaxws-maven-插件 <

回答 1 投票 0

从 WooCommerce 中的 xml 图像 asp 链接推断和下载

我们有来自 SOAP 的输出 XML,我们需要将其下载到与我们在 XML 中找到的文件名相同的文件夹中。我将 IMG hanno 文件归档为 accesskey: 我们有来自 SOAP 的输出 XML,我们需要将其下载到与我们在 XML 中找到的文件名相同的文件夹中。我将 IMG hanno 文件归档为访问密钥: <?xml version="1.0" encoding="UTF-8"?> <TableResult> <Product> <FDI_0843>https://ws.farmadati.it/WS_DOC/GetDoc.aspx?accesskey=xxxxxxx&tipodoc=TE009&nomefile=001536.jpg</FDI_0843> <FDI_0840>908872245</FDI_0840> </Product> <Product> <FDI_0843>https://ws.farmadati.it/WS_DOC/GetDoc.aspx?accesskey=xxxxxxx&tipodoc=TE009&nomefile=005075.jpg</FDI_0843> <FDI_0840>908057906</FDI_0840> </Product> 我们如何创建脚本来在 Woocommerce 或 FTP 的文件夹中下载这些图像? 谢谢各位热心回复的人 由于 XML 文件中的 URL 受到保护,因此无法完全测试以下内容,但您可以尝试这样,请注意 XML 已被稍微修改 $xmlstring='<?xml version="1.0" encoding="UTF-8"?> <TableResult> <Product> <FDI_0843>https://ws.farmadati.it/WS_DOC/GetDoc.aspx?accesskey=0123BFJ-652e56b0beCad9CBe1c375daCa9A089D35Aab280c&amp;tipodoc=TE009T&amp;nomefile=001536.jpg</FDI_0843> <FDI_0840>908872245</FDI_0840> </Product> <Product> <FDI_0843>https://ws.farmadati.it/WS_DOC/GetDoc.aspx?accesskey=0223BFJ-652e56b0beCad9CBe1c375daCa9A089D35Aab280c&amp;tipodoc=TE009X&amp;nomefile=005075.jpg</FDI_0843> <FDI_0840>908057906</FDI_0840> </Product> </TableResult>'; /************************************************** Determine where you will save files to and amend this path as necessary. Currently this creates a new directory under the current working directory if it does not exist. */ $save_directory=__DIR__ . '\\save_images_here'; if( !file_exists( $save_directory ) ) { mkdir( $save_directory, 0777, true ); } /******************************************* Create the DOMDocument instance & load the XML string ( or file ) Query the DOM to find all relevant nodes and process that nodelist to extract name of file. Note in the xml string the ampersand is encoded as HTML entity! */ libxml_use_internal_errors( true ); $dom = new DOMDocument; $dom->validateOnParse=false; $dom->strictErrorChecking=false; $dom->recover=true; $dom->loadXML( $xmlstring ); libxml_clear_errors(); /* Find all nodes - FDI_0843 */ $col=$dom->getElementsByTagName('FDI_0843'); if( $col && $col->length > 0 ){ foreach( $col as $node ){ # decode the value held by the node $url=urldecode( $node->nodeValue ); # extract the querystring $querystring=parse_url( $url, PHP_URL_QUERY ); # parse the querystring parse_str( $querystring, $output ); $nomefile=$output['nomefile']; # create new filepath, download and save target file $filepath=sprintf('%s\\%s',$save_directory,$nomefile); $filedata=file_get_contents( $url ); file_put_contents( $filepath, $filedata );# error here ~ had arguments back to front #... next } }

回答 1 投票 0

如何在phpsoap中制作sapsoapwsdl

我正在尝试使用 php 连接到 SAP Soap 服务。 我有 url(后面是 xml,但 ssl 已过期)、用户名和密码。在邮递员中它返回200,所以没问题。 进口

回答 1 投票 0

JAXB 避免从 XSD 生成重复类

我有一个 xsd,其中有一个名为 toc 的元素在 xsd 中两次。它会导致 java 类生成错误。现在,我想编写 xml 绑定来解决这个问题。 我有一个 xsd,其中有一个名为 toc 的元素在 xsd 中两次。它会导致 java 类生成错误。现在,我想编写 xml 绑定来解决这个问题。 <jaxb:bindings schemaLocation="../DMS_Dokument.Versenden_response.xsd"> <jaxb:bindings node="xsd:element[@name='toc']"> <jaxb:factoryMethod name="TOC"/> </jaxb:bindings> </jaxb:bindings> 我得到的错误是 原因:无法解析schema。应该提供错误消息 为了避免 JAXB 从 XSD 生成重复的类,您可以使用本地或外部绑定为生成的类定义不同的名称。 <jaxb:bindings node="XPATH"> <jaxb:class name="YourDistinctName"/> </jaxb:bindings> Java 类名重复的一个原因是在全局绑定中使用 toplevel 作用域。 注意: localScoping 属性的值可以是 nested 或 toplevel。此属性描述嵌套 XML 模式组件与嵌套模式派生的 JAXB 类或顶级模式派生的 JAXB 类的 JAXB 绑定。为了避免嵌套组件之间的命名冲突,该属性的默认值是嵌套的。当模式组件嵌套太深或应用程序不希望使用嵌套类或使用 JPA 时(JPA 第 2.1 节,实体必须是顶级类),开发人员可以将 localScoping 自定义为 toplevel。 例如,下载此演示 (zip) 并考虑其 XML 架构 trilogy.xsd,该架构对 Trilogy 书籍进行建模。它在根 trilogy 元素上定义一个 TOC,并为每个 book 定义另一个 TOC。该架构将每个 TOC 定义为匿名类型,并且每个 TOC 都有不同的用途。第一个目录描述了三本书的标题,但第二个目录是每本书的章节列表。两者具有相同的元素名称 <toc>...</toc>,如该 XML 实例 trilogy.xml 所示,但需要不同的 Java 类定义。 当模式被定制为使用 <jaxb:globalBindings localScoping=”toplevel”/> 时,JAXB 会尝试根据一个元素名称生成两种类型,这会导致名称冲突。 为了解决 Java 类名重复问题,演示使用 HiSrc BasicJAXB 项目中的工具来扫描 XSD 并输出这些建议的绑定:trilogy.xjb。例如,这是书 TOC 的装订: <jaxb:bindings node="//xs:element[@name='trilogy']/xs:complexType/xs:sequence/xs:element[@name='book']/xs:complexType/xs:sequence/xs:element[@name='toc']/xs:complexType"> <jaxb:class name="TrilogyBookTocType"/> </jaxb:bindings> 绑定使用 XPATH 选择目标节点,并将 Java 类名称声明为 TrilogyBookTocType。 演示提供了一个 bash 脚本来运行该工具,但它可以像这样手动运行... java -cp \ $HOME/.m2/repository/org/patrodyne/jvnet/hisrc-basicjaxb-tools/2.1.1/hisrc-basicjaxb-tools-2.1.1.jar \ org.jvnet.basicjaxb.util.CreateToplevelXJBindings \ --nested src/main/resources/trilogy.xsd 该工具将其输出发送到 stdout,您可以在其中将其复制/粘贴到绑定文件或架构中。 执行 该演示是一个独立的 Maven 项目。您可以使用以下命令运行测试: mvn -Ptest clean test mvn -Pexec compile exec:java 方法 hisrc-higherjaxb-maven-plugin 配置为使用提供的 trilogy.xsd 模式和绑定文件 trilogy.xjb 生成 JAXB 类。该模式提供了命名空间 "http://org.example/trilogy",JAXB 使用它来使用自己的命名约定创建 Java package 名称。 作为一个选项,可以使用这些 XJC hisrc-basicjaxb-plugins 生成 Java 内置 Object 方法的更高级实现。特别是,示例项目使用 toString 插件来显示未编组的 Trilogy 对象的人类可读表示。 hisrc-basicjaxb-插件 <args> <arg>-no-header</arg> <arg>-XhashCode</arg> <arg>-Xequals</arg> <arg>-XtoString</arg> </args> 注意: 使用 XJC hisrc-basicjaxb-plugins 时,运行时类路径需要 hisrc-basicjaxb-runtime 依赖。 测试 JUnit 测试类 TrilogyTest.java 扫描示例文件并调用方法 checkSample(File sample) 将每个文件提供给测试人员。对于此项目,创建了一个 JAXBContext,并且 samples 路径中的每个文件都被 unmarshaled 为 Trilogy 对象。成功后,每个对象都会被编组以用于日志记录和您的审查。 示范 具有 main(...) 方法的 Java 标准引擎应用程序位于 org.example.trilogy.Main。该应用程序使用以下命令执行: mvn -Pexec compile exec:java -Dexec.args="src/test/samples/trilogy.xml" 免责声明:我是这些HiSrc项目的维护者。

回答 1 投票 0

Zeep 出现 SSL 错误 - 如何更改密码套件?

我正在尝试使用 Zeep 加载 WSDL 文件,但是当我这样做时,我收到以下错误: requests.exceptions.SSLError:HTTPSConnectionPool(主机='api-mte.itespp.org',端口=443):超出最大重试次数

回答 1 投票 0

编译 WSDL 文件时出现错误/警告 - 但生成的 Java 源代码正常 -Java17 spring boot 3.0

我的要求 spring boot 3.0 Java 17。我的代码使用 jaxb2 插件适用于 java 1.8 spring boot 2.7.11。我已将插件更新为 jaxb30-maven-plugin。自动生成的java代码就可以了。构建是

回答 1 投票 0

使用 Ruby SOAP 忽略 SSL 错误

我正在尝试在 https url 上使用 wsdl。参考如何告诉 Ruby 的 OpenSSL 库忽略自签名证书错误? 当我尝试这个时: ... OpenSSL::SSL::VERIFY_PEER = 打开...

回答 2 投票 0

WSDL 包含内容

将带有 XSD 的 WSDL 读取到 org.dom4j.io.SAXReader 中的正确方法是什么?有没有办法使用 ZipInputStream 来做到这一点,这样我就不必将其保存到磁盘?

回答 1 投票 0

VB.net 中的 WSDL 复杂类型重复属性

对我的术语表示歉意,我希望我在这里提供足够的信息。我正在 VB.net 中工作,并加载了一个连接的服务 URL,该 URL 拉入了一个 wsdl 文件。复杂类型对象之一...

回答 1 投票 0

如何在一个 WSDL 中创建多个方法并在每个方法中创建唯一的属性?

我不知道如何编写WSDL规范。 我尝试在 Soap UI 中执行此操作。 我不知道如何编写 WSDL 规范。 我尝试在 Soap UI 中执行此操作。 我不知道如何编写 WSDL 规范...

回答 1 投票 0

如何在Python中使用zeep在SOAP请求中传递“Any”类型参数

我有一个 WSDL,它在所有 SOAP 操作中使用“any”类型作为核心元素 (Element)。请注意,我已将其缩小,因为它相当大: 我有一个 WSDL,它在所有 SOAP 操作中使用“any”类型作为核心元素 (Element)。请注意,我已将其修剪掉,因为它很大: <?xml version="1.0" encoding="utf-8"?> <definitions targetNamespace="urn:xtk:queryDef" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="urn:xtk:queryDef" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> <types> <s:schema elementFormDefault="qualified" targetNamespace="urn:xtk:queryDef"> <s:complexType name="Element"> <s:sequence> <s:any processContents="lax"/> </s:sequence> </s:complexType> <s:element name="ExecuteQuery"> <s:complexType> <s:sequence> <s:element maxOccurs="1" minOccurs="1" name="sessiontoken" type="s:string" /> <s:element maxOccurs="1" minOccurs="1" name="entity" type="tns:Element" /> </s:sequence> </s:complexType> </s:element> <s:element name="ExecuteQueryResponse"> <s:complexType> <s:sequence> <s:element maxOccurs="1" minOccurs="1" name="pdomOutput" type="tns:Element" /> </s:sequence> </s:complexType> </s:element> </s:schema> </types> <message name="ExecuteQueryIn"> <part element="tns:ExecuteQuery" name="parameters" /> </message> <message name="ExecuteQueryOut"> <part element="tns:ExecuteQueryResponse" name="parameters" /> </message> <portType name="queryDefMethodsSoap"> <operation name="ExecuteQuery"> <input message="tns:ExecuteQueryIn" /> <output message="tns:ExecuteQueryOut" /> </operation> </portType> <binding name="queryDefMethodsSoap" type="tns:queryDefMethodsSoap"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> <operation name="ExecuteQuery"> <soap:operation soapAction="xtk:queryDef#ExecuteQuery" style="document" /> <input> <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="literal" /> </input> <output> <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="literal" /> </output> </operation> </binding> <service name="XtkQueryDef"> <port binding="tns:queryDefMethodsSoap" name="queryDefMethodsSoap"> <soap:address location="https://xxxxxxxxxxxxxx/nl/jsp/soaprouter.jsp" /> </port> </service> </definitions> 我想在 Python 3 中使用 zeep 生成此有效负载: <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:xtk:queryDef"> <soapenv:Header/> <soapenv:Body> <urn:ExecuteQuery> <urn:sessiontoken>xxxxxxx</urn:sessiontoken> <urn:entity> <queryDef schema="nms:recipient" operation="select"> <select> <node expr="@email"/> <node expr="@lastName+'-'+@firstName"/> <node expr="Year(@birthDate)"/> </select> <orderBy> <node expr="@birthDate" sortDesc="true"/> </orderBy> </queryDef> </urn:entity> </urn:ExecuteQuery> </soapenv:Body> </soapenv:Envelope> 但是我一生都无法弄清楚如何管理 WSDL 中的“Any”类型: <s:complexType name="Element"> <s:sequence> <s:any processContents="lax"/> </s:sequence> </s:complexType> 这就是 XML 中“实体”节点所需的类型。我尝试过的所有操作都会导致 zeep 出现异常。 这是我到目前为止所拥有的: # Executes a query and returns the result set def execute_query(session_token): # Load the WSDL locally - not authorised to get from server wsdl_url = os.path.abspath("querydef_dev.wsdl") history = HistoryPlugin() client = Client(wsdl_url, plugins=[history]) execute_query_type = client.get_element("ns0:ExecuteQuery") entity_type = client.get_type("ns0:Element") any_entity = xsd.AnyObject(entity_type, entity_type(_value_1={'queryDef': [{'schema': 'recipients'}]})) params = execute_query_type(entity=any_entity, sessiontoken=session_token) response = client.service.ExecuteQuery(params) if __name__ == '__main__': execute_query('xxxxxxx') 该代码特别给出了此错误: AttributeError: 'dict' object has no attribute 'value'. Did you mean: 'values'? 我想我已经明白了,使用 xsd.AnyObject 来设置。 我尝试了多种与 get_type、get_element 的组合,并使用 **params 和 params 致电服务。一切都以 client.service.ExecuteQuery() 抛出异常结束。 有什么想法我哪里出错了吗? 我找不到以任何有意义的方式使用 AnyObject 的答案。 但是,我确实通过使用 lxml 手动创建“任何”节点上下文来设法使其正常工作。 因此,对于我上面描述的用例: def execute_query(session_token): # Load the WSDL locally - not authorised to get from server wsdl_url = os.path.abspath("querydef_dev.wsdl") history = HistoryPlugin() client = Client(wsdl_url, plugins=[history]) # Construct the query def query_def_element = etree.Element('query_def') query_def_element.set('schema', 'nms:recipient') query_def_element.set('operation', 'select') select_element = etree.SubElement(query_def_element, 'select') node_element = etree.SubElement(select_element, 'node') node_element.set('expr', '@email') node_element2 = etree.SubElement(select_element, 'node') node_element2.set('expr', '"@lastName+"-""+@firstName"') node_element3 = etree.SubElement(select_element, 'node') node_element3.set('expr', 'Year(@birthDate)') order_element = etree.SubElement(query_def_element, 'orderBy') order_node_element = etree.SubElement(order_element, 'node') order_node_element.set('expr', '"@birthDate"') order_node_element.set('expr', 'sortDesc="true') # Construct the final payload data = { "sessiontoken": session_token, "entity": { "_value_1": query_def_element } } # Call the service response = client.service.ExecuteQuery(**data)```

回答 1 投票 0

wsimport 生成 java 类 - 401 错误

我用 wsimport java 类生成。我导入的 wsdl 请求身份验证。 我用了这个例子: wsimport -Xauthfile C: uth.txt -keep http://example.com/test?wsdl -s c:\path o\sou...

回答 1 投票 0

wsdl 生成的 Web 服务客户端无法与已部署的 Web 服务一起使用

我使用 axis2 java2wsdl 实用程序从 java 类生成了 WSDL,如下所示; java2wsdl -o C: emp -cn com.temenos.webservices.customer.CustomerServiceWS 然后我部署了相同的网络...

回答 2 投票 0

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